Model.java 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package ui.model;
  2. import Interfaces.CategoryListener;
  3. import java.util.ArrayList;
  4. import java.util.LinkedList;
  5. import java.util.List;
  6. import ui.controller.*;
  7. public class Model {
  8. //eventuell wenn Canvasgröße gewählt werden kann
  9. private int HEIGHT;
  10. private int WIDTH;
  11. private ArrayList<Category> categories;
  12. private ArrayList<CpsObject> objectsOnCanvas;
  13. private List<CategoryListener> categoryListeners = new LinkedList<>();
  14. public Model(){
  15. setCategories(new ArrayList<Category>());
  16. setObjectsOnCanvas(new ArrayList<CpsObject>());
  17. }
  18. /**
  19. *
  20. * @param toAdd
  21. */
  22. public void addCategory(Category toAdd){
  23. categories.add(toAdd);
  24. notifyCatListeners();
  25. }
  26. /**
  27. *
  28. * @param catLis
  29. */
  30. public void addCatListener(CategoryListener catLis){
  31. categoryListeners.add(catLis);
  32. }
  33. /**
  34. *
  35. */
  36. private void notifyCatListeners() {
  37. for(CategoryListener l : categoryListeners){
  38. l.onChange(this.categories);
  39. }
  40. }
  41. /**
  42. * @return the categories
  43. */
  44. public ArrayList<Category> getCategories() {
  45. return categories;
  46. }
  47. /**
  48. * @param categories the categories to set
  49. */
  50. public void setCategories(ArrayList<Category> categories) {
  51. this.categories = categories;
  52. }
  53. /**
  54. * @return the objectsOnCanvas
  55. */
  56. public ArrayList<CpsObject> getObjectsOnCanvas() {
  57. return objectsOnCanvas;
  58. }
  59. /**
  60. * @param objectsOnCanvas the objectsOnCanvas to set
  61. */
  62. public void setObjectsOnCanvas(ArrayList<CpsObject> objectsOnCanvas) {
  63. this.objectsOnCanvas = objectsOnCanvas;
  64. }
  65. }