package ui.controller; import ui.model.iDCounter; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.LinkedList; import classes.Category; import classes.CpsObject; import Interfaces.CategoryListener; import ui.model.Model; import ui.view.GUI; public class Control { public enum command { CATEGORY, OBJECT } private iDCounter ID; private Model MODEL; private ActionListener actionListener; private final CategoryController categoryController; private final ObjectController objectController; private final CanvasController canvasController; public Control(Model model, iDCounter id) { this.MODEL = model; this.ID = id; this.categoryController = new CategoryController(model, id); this.objectController = new ObjectController(model); this.canvasController = new CanvasController(model, id); } /* Operations for Categories and Objects */ public void addNewCategory(String catName) { categoryController.addNewCategory(catName); } public void addNewObject(Category cat, String name, String objType) { categoryController.addNewHolonObject(cat, name, objType); } public void addNewTransformer(Category cat, String name, String objType) { categoryController.addNewHolonTransformer(cat, name, objType); } public void addNewSwitch(Category cat, String name, String objType) { categoryController.addNewHolonSwitch(cat, name, objType); } public Category searchCategory(String name) { return categoryController.searchCatNode(name); } public void initListener(CategoryListener catLis) { categoryController.addCatListener(catLis); } public void deleteCategory(String catName) { categoryController.deleteCategory(catName); } public void deleteObjectInCat(String toDelete, String deleteIn) { categoryController.deleteObjectInCat(toDelete, deleteIn); } /* Operations for Canvas */ public void addObject(CpsObject object) { canvasController.addObjectIntoCanvas(object); } public void setSelectedObjectID(int id) { objectController.setSelectedObjectID(id); } /* Operations for Objects and Elements */ public void addNewElementIntoCanvasObjects(String objName, String eleName, int amount, float energy) { objectController.addNewElementIntoCanvasObject(objName, eleName, amount, energy); } public void addNewElementIntoCategoryObject(String catName, String objName, String eleName, int amount, float energy) { objectController.addNewElementIntoCategoryObject(catName, objName, eleName, amount, energy); } ////////// etc /** * Getter for Model * * @return */ public Model getModel() { return MODEL; } }