CanvasController.java 926 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  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 name = object.getObjName();
  19. MODEL.getObjectsOnCanvas().add(object);
  20. notifyObjListeners();
  21. System.out.println("Added: " + name);
  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. }