ObjectController.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. package ui.controller;
  2. import java.util.ArrayList;
  3. import classes.Category;
  4. import classes.CpsObject;
  5. import classes.HolonElement;
  6. import classes.HolonObject;
  7. import ui.model.Model;
  8. public class ObjectController {
  9. private Model MODEL;
  10. private MultiPurposeController mpC;
  11. public ObjectController(Model model, MultiPurposeController mp) {
  12. this.MODEL = model;
  13. this.mpC = mp;
  14. initHolonElements();
  15. }
  16. /**
  17. * init default Power supply of the Power Plant
  18. */
  19. public void initHolonElements() {
  20. addNewElementIntoCategoryObject("Energy", "Power Plant", "Power", 1, 100);
  21. addNewElementIntoCategoryObject("Energy", "Power Plant", "Zero", 10, 100);
  22. addNewElementIntoCategoryObject("Energy", "Power Plant", "Rehab", 10, 100);
  23. addNewElementIntoCategoryObject("Energy", "Power Plant", "The Doctor", 40, 100);
  24. addNewElementIntoCategoryObject("Energy", "Power Plant", "Original", 1, 100);
  25. }
  26. /**
  27. * Adds Element into a Object
  28. */
  29. public void addElement(HolonObject object, HolonElement element) {
  30. object.getEleIdx().put(element.getEleName(), object.getElements().size());
  31. object.getElements().add(element);
  32. }
  33. /**
  34. * Adds Element into a Object on the Canvas
  35. *
  36. * @param object
  37. * @param element
  38. * @param type
  39. */
  40. public void addElementIntoCanvasObject(HolonObject object, HolonElement element) {
  41. addElement(object, element);
  42. }
  43. /**
  44. * Add a new Element into a Object on the Canvas
  45. *
  46. * @param object
  47. * @param eleName
  48. * @param amount
  49. * @param energy
  50. * @param type
  51. */
  52. public void addNewElementIntoCanvasObject(int id, String element, int amount, float energy) {
  53. HolonElement ele = new HolonElement(element, amount, energy);
  54. ele.setSav("CVS");
  55. ele.setObj(Integer.toString(id));
  56. addElementIntoCanvasObject((HolonObject) mpC.searchByID(id), ele);
  57. }
  58. /**
  59. * Add Element into a Object in Category
  60. *
  61. * @param object
  62. * @param element
  63. */
  64. public void addElementIntoCategoryObject(String category, String object, HolonElement element) {
  65. addElement((HolonObject) mpC.searchCategoryObject(mpC.searchCategory(category), object), element);
  66. }
  67. /**
  68. * Add a new Element into a Object in Category
  69. *
  70. * @param category
  71. * @param object
  72. * @param eleName
  73. * @param amount
  74. * @param energy
  75. */
  76. public void addNewElementIntoCategoryObject(String category, String object, String element, int amount,
  77. float energy) {
  78. HolonElement ele = new HolonElement(element, amount, energy);
  79. ele.setSav(category);
  80. ele.setObj(object);
  81. addElementIntoCategoryObject(category, object, ele);
  82. }
  83. /**
  84. * deletes a Element from a given Object
  85. *
  86. * @param obj
  87. * @param ele
  88. */
  89. public void deleteElement(HolonObject obj, HolonElement ele) {
  90. mpC.decIdx(ele.getEleName(), obj.getEleIdx());
  91. obj.getEleIdx().remove(ele.getEleName());
  92. obj.getElements().remove(ele);
  93. }
  94. /**
  95. * deletes a selectedObject
  96. *
  97. * @param Cpsobject
  98. */
  99. public void deleteSelectedObject(CpsObject obj) {
  100. MODEL.getSelectedCpsObjects().remove(obj);
  101. }
  102. /**
  103. * adds a selectedObject
  104. *
  105. * @param Cpsobject
  106. */
  107. public void addSelectedObject(CpsObject obj) {
  108. MODEL.getSelectedCpsObjects().add(obj);
  109. }
  110. /**
  111. * deletes a Element from a given Canvas Object
  112. *
  113. * @param ID
  114. * @param ele
  115. * @param amount
  116. */
  117. public void deleteElementInCanvas(int ID, String ele) {
  118. HolonObject object = (HolonObject) mpC.searchByID(ID);
  119. HolonElement element = mpC.searchHolonElement(object, ele);
  120. deleteElement(object, element);
  121. }
  122. /**
  123. * deletes a Element from a given Category Object
  124. *
  125. * @param cat
  126. * @param obj
  127. * @param ele
  128. * @param amount
  129. */
  130. public void deleteElementInCategory(String cat, String obj, String ele, int amount) {
  131. Category category = mpC.searchCategory(cat);
  132. HolonObject object = (HolonObject) mpC.searchCategoryObject(category, obj);
  133. HolonElement element = mpC.searchHolonElement(object, ele);
  134. deleteElement(object, element);
  135. }
  136. /**
  137. * Returns the ID of the selected Object 0 = no Object is selected
  138. *
  139. * @return ID
  140. */
  141. public void setSelectedObjectID(int id) {
  142. MODEL.setSelectedObjectID(id);
  143. }
  144. }