Browse Source

delete Element out of Category Object

Teh-Hai Julian Zheng 8 years ago
parent
commit
3d829f2a6a

+ 6 - 4
src/classes/HolonSwitch.java

@@ -5,7 +5,9 @@ public class HolonSwitch extends CpsObject {
 	 * True, if this wire is working (capable of carrying electricity), else
 	 * false
 	 */
-	boolean isActive;
+	
+	
+	boolean active;
 
 	public HolonSwitch(String ObjName) {
 		super(ObjName);
@@ -24,14 +26,14 @@ public class HolonSwitch extends CpsObject {
 	}
 
 	public void switchState() {
-		this.isActive = !isActive;
+		this.active = !active;
 	}
 
 	public boolean getState() {
-		return this.isActive;
+		return this.active;
 	}
 	
 	public void setState(boolean state){
-		this.isActive = state;
+		this.active = state;
 	}
 }

+ 2 - 4
src/ui/controller/Control.java

@@ -17,7 +17,6 @@ public class Control {
 		CATEGORY, OBJECT
 	}
 
-	// private iDCounter ID;
 	private Model MODEL;
 
 	private ActionListener actionListener;
@@ -29,7 +28,6 @@ public class Control {
 	
 	public Control(Model model) {
 		this.MODEL = model;
-		// this.ID = id;
 		this.categoryController = new CategoryController(model);
 		this.objectController = new ObjectController(model);
 		this.canvasController = new CanvasController(model);
@@ -88,8 +86,8 @@ public class Control {
 		objectController.addNewElementIntoCategoryObject(catName, objName, eleName, amount, energy);
 	}
 
-	public void deleteElementCanvas(int id, String element, int amount) {
-		objectController.deleteElementInCanvas(id, element, amount);
+	public void deleteElementCanvas(int id, String element) {
+		objectController.deleteElementInCanvas(id, element);
 	}
 
 	/* Global Operations*/

+ 27 - 4
src/ui/controller/ObjectController.java

@@ -115,17 +115,40 @@ public class ObjectController {
 	 * @param ele
 	 * @param amount
 	 */
-	public void deleteElementInCanvas(int ID, String ele, int amount) {
+	public void deleteElementInCanvas(int ID, String ele) {
 		HolonObject object = searchByID(ID, MODEL.getObjectsOnCanvas());
 		HolonElement element = searchHolonElement(object, ele);
 
-		element.setAmount(element.getAmount() - amount);
-
-		if (element.getAmount() <= 0)
+//		element.setAmount(element.getAmount() - amount);
+//
+//		if (element.getAmount() <= 0)
 			deleteElement(object, element);
 
 	}
+	
+	/**
+	 * deletes a Element from a given Category Object
+	 * @param cat
+	 * @param obj
+	 * @param ele
+	 * @param amount
+	 */
+	public void deleteElementInCategory(String cat, String obj, String ele, int amount) {
+		Category category = searchCategory(cat, MODEL.getCategories());
+		HolonObject object = searchHolonObject(obj, category.getObjects());
+		HolonElement element = searchHolonElement(object, ele);
+		
+		deleteElement(object, element);
+	}
 
+	public Category searchCategory(String category, ArrayList<Category> list) {
+		for (Category cats : list) {
+			if (cats.getName().equals(category))
+				return cats;
+		}
+		return null;
+	}
+	
 	/**
 	 * Search for Object
 	 * 

+ 1 - 1
src/ui/view/MyCanvas.java

@@ -172,7 +172,7 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 				// If drawing an Edge (CTRL down)
 				if (e.isControlDown()){
 					drawEdge = true;
-					controller.deleteElementCanvas(1, "Rehab", 1);
+					controller.deleteElementCanvas(1, "Rehab");
 					System.out.println(((HolonObject)model.getCategories().get(0).getObjects().get(0)).getElements().get(2).getAmount());
 				}
 				if (tempCps.getClass() == HolonObject.class) {