CanvasController.java 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package ui.controller;
  2. import Interfaces.CategoryListener;
  3. import Interfaces.ObjectListener;
  4. import classes.CpsObject;
  5. import ui.model.Model;
  6. public class CanvasController {
  7. private Model MODEL;
  8. public CanvasController(Model model) {
  9. this.MODEL = model;
  10. }
  11. /**
  12. * Add an CpsObject to the model and notify the ObjectListener for update.
  13. *
  14. * @param object
  15. * CpsObject to be added.
  16. */
  17. public void addObjectIntoCanvas(CpsObject object) {
  18. String objName = object.getObjName();
  19. MODEL.getObjectsOnCanvas().add(object);
  20. notifyObjListeners();
  21. System.out.println("Added: " + objName);
  22. }
  23. public void addObjectListener(ObjectListener objLis) {
  24. MODEL.getObjectListeners().add(objLis);
  25. }
  26. /**
  27. * notifies all listeners about changes in the Canvas
  28. */
  29. public void notifyObjListeners() {
  30. for (ObjectListener l : MODEL.getObjectListeners()) {
  31. l.onChange(MODEL.getObjectsOnCanvas());
  32. }
  33. }
  34. /**
  35. * Deletes an CpsObject on the Canvas and its connections
  36. *
  37. * @param CpsObject
  38. */
  39. public void deleteObjectOnCanvas(CpsObject obj) {
  40. for (CpsObject cps : MODEL.getObjectsOnCanvas()) {
  41. cps.getConnectedTo().remove(obj);
  42. }
  43. MODEL.getObjectsOnCanvas().remove(obj);
  44. }
  45. }