Control.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package ui.controller;
  2. import ui.model.IdCounter;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.util.LinkedList;
  6. import classes.Category;
  7. import classes.CpsObject;
  8. import Interfaces.CategoryListener;
  9. import ui.model.Model;
  10. import ui.view.GUI;
  11. public class Control {
  12. public enum command {
  13. CATEGORY, OBJECT
  14. }
  15. private IdCounter iD;
  16. private Model model;
  17. private ActionListener actionListener;
  18. private final CategoryController categoryController;
  19. private final ObjectControl objectControl;
  20. public Control(Model model, IdCounter id) {
  21. this.model = model;
  22. this.iD = id;
  23. this.categoryController = new CategoryController(model, id);
  24. this.objectControl = new ObjectControl(model);
  25. }
  26. public void addObject(CpsObject object) {
  27. objectControl.addObject(object);
  28. }
  29. ////////// Operations for Categories and Objects ///////////
  30. public void addNewCategory(String catName) {
  31. categoryController.addNewCategory(catName);
  32. }
  33. public void addNewObject(Category cat, String name) {
  34. categoryController.addNewHolonObject(cat, name);
  35. }
  36. public void addNewTransformer(Category cat, String name) {
  37. categoryController.addNewHolonTransformer(cat, name);
  38. }
  39. public void addNewSwitch(Category cat, String name) {
  40. categoryController.addNewHolonSwitch(cat, name);
  41. }
  42. public Category searchCategory(String name) {
  43. return categoryController.searchCatNode(name);
  44. }
  45. public void initListener(CategoryListener catLis) {
  46. categoryController.addCatListener(catLis);
  47. }
  48. public void deleteCategory(String catName) {
  49. categoryController.deleteCategory(catName);
  50. }
  51. public void deleteObjectInCat(String toDelete, String deleteIn) {
  52. categoryController.deleteObjectInCat(toDelete, deleteIn);
  53. }
  54. ////////// etc
  55. /**
  56. * Getter for Model
  57. *
  58. * @return
  59. */
  60. public Model getModel() {
  61. return model;
  62. }
  63. }