Selaa lähdekoodia

delete element

Teh-Hai Julian Zheng 8 vuotta sitten
vanhempi
commit
0d7b1e352c

BIN
bin/ui/controller/CategoryController.class


BIN
bin/ui/controller/Control.class


BIN
bin/ui/view/GUI.class


+ 5 - 0
src/ui/controller/CanvasController.java

@@ -1,5 +1,6 @@
 package ui.controller;
 
+import Interfaces.CategoryListener;
 import Interfaces.ObjectListener;
 import classes.CpsObject;
 import ui.model.Model;
@@ -24,6 +25,10 @@ public class CanvasController {
 		notifyObjListeners();
 		System.out.println("Added: " + name);
 	}
+	
+	public void addObjectListener(ObjectListener objLis) {
+		MODEL.getObjectListeners().add(objLis);
+	}
 
 	/**
 	 * notifies all listeners about changes in the Canvas

+ 3 - 1
src/ui/controller/CategoryController.java

@@ -36,6 +36,8 @@ public class CategoryController {
 		powerp.setImage("/Images/power-plant.png");
 		HolonObject house = new HolonObject("House");
 		house.setImage("/Images/home-2.png");
+		
+		System.out.println(house.toString());
 		HolonTransformer transformer = new HolonTransformer("Transformer");
 		transformer.setImage("/Images/transformer.png");
 		HolonSwitch sw = new HolonSwitch("Switch");
@@ -183,7 +185,7 @@ public class CategoryController {
 	 * 
 	 * @param catLis
 	 */
-	public void addCatListener(CategoryListener catLis) {
+	public void addCategoryListener(CategoryListener catLis) {
 		MODEL.getCategoryListeners().add(catLis);
 	}
 

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

@@ -61,10 +61,6 @@ public class Control {
 		return categoryController.searchCatNode(name);
 	}
 
-	public void initListener(CategoryListener catLis) {
-		categoryController.addCatListener(catLis);
-	}
-
 	public void deleteCategory(String catName) {
 		categoryController.deleteCategory(catName);
 	}
@@ -96,6 +92,7 @@ public class Control {
 
 	}
 
+	/* Global Operations*/
 	public int getScale(){
 		return globalController.getScale();
 	}
@@ -104,6 +101,10 @@ public class Control {
 		return globalController.getScaleDiv2();
 	}
 	////////// etc
+	public void initListener(CategoryListener catLis) {
+		categoryController.addCategoryListener(catLis);
+	}
+	
 	/**
 	 * Getter for Model
 	 * 

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

@@ -105,9 +105,21 @@ public class ObjectController {
 		obj.getElements().remove(ele);
 	}
 
-	public void deleteElementInCanvas(String obj, String ele) {
-		HolonElement element;
-		//searchHolonObject(obj, MODEL.getObjectsOnCanvas()).;
+	/**
+	 * deletes a Element from a given Canvas Object
+	 * @param obj
+	 * @param ele
+	 * @param amount
+	 */
+	public void deleteElementInCanvas(String obj, String ele, int amount) {
+		HolonObject object = searchHolonObject(obj, MODEL.getObjectsOnCanvas());
+		HolonElement element = searchHolonElement(object, ele);
+
+		element.setAmount(element.getAmount() - amount);
+
+		if (element.getAmount() <= 0)
+			deleteElement(object, element);
+
 	}
 
 	/**
@@ -118,15 +130,20 @@ public class ObjectController {
 	 * @return
 	 */
 	public HolonObject searchHolonObject(String object, ArrayList<CpsObject> list) {
-		HolonObject obj = null;
-
 		for (CpsObject objects : list) {
-			if (objects.getObjName().equals(object)) {
-				obj = (HolonObject) objects;
-				break;
-			}
+			if (objects.getObjName().equals(object))
+				return (HolonObject) objects;
+		}
+		return null;
+	}
+
+	public HolonElement searchHolonElement(HolonObject object, String element) {
+
+		for (HolonElement elements : object.getElements()) {
+			if (elements.getEleName().equals(element))
+				return elements;
 		}
-		return obj;
+		return null;
 	}
 
 	/**