package ui.controller; import Interfaces.CategoryListener; import Interfaces.ObjectListener; import classes.CpsObject; import ui.model.Model; public class CanvasController { private Model MODEL; public CanvasController(Model model) { this.MODEL = model; } /** * Add an CpsObject to the model and notify the ObjectListener for update. * * @param object * CpsObject to be added. */ public void addObjectIntoCanvas(CpsObject object) { String objName = object.getObjName(); MODEL.getObjectsOnCanvas().add(object); notifyObjListeners(); System.out.println("Added: " + objName); } public void addObjectListener(ObjectListener objLis) { MODEL.getObjectListeners().add(objLis); } /** * notifies all listeners about changes in the Canvas */ public void notifyObjListeners() { for (ObjectListener l : MODEL.getObjectListeners()) { l.onChange(MODEL.getObjectsOnCanvas()); } } /** * Deletes an CpsObject on the Canvas and its connections * * @param CpsObject */ public void deleteObjectOnCanvas(CpsObject obj) { for (CpsObject cps : MODEL.getObjectsOnCanvas()) { cps.getConnectedTo().remove(obj); } MODEL.getObjectsOnCanvas().remove(obj); } }