Browse Source

nodesOfNodes auch trackbar

dominik.rieder 7 years ago
parent
commit
61979b013e

+ 2 - 4
src/interfaces/GraphListener.java

@@ -2,15 +2,13 @@ package interfaces;
 
 import java.util.ArrayList;
 
-import classes.HolonObject;
-import classes.HolonSwitch;
+import classes.AbstractCpsObject;
 
 public interface GraphListener {
 	
 	public void repaintTree();
 	
-	public void addTrackedObject(ArrayList<HolonObject> hlList);
+	public void addTrackedObject(ArrayList<AbstractCpsObject> hlList);
 	
-	public void addTrackedSwitch(ArrayList<HolonSwitch> swList);
 
 }

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

@@ -724,36 +724,22 @@ public class Control {
 
 	//========================= MANAGING TRACKED OBJECTS ====================
 	
-	//OBJECTS:
-	public void setTrackingObj(ArrayList<HolonObject> objArr) {
+	public void setTrackingObj(ArrayList<AbstractCpsObject> objArr) {
 		statsController.setTrackingObj(objArr);
 	}
 
-	public ArrayList<HolonObject> getTrackingObj() {
+	public ArrayList<AbstractCpsObject> getTrackingObj() {
 		return statsController.getTrackingObj();
 	}
 
-	public void addTrackingObj(HolonObject obj) {
+	public void addTrackingObj(AbstractCpsObject obj) {
 		statsController.addTrackingObj(obj);
 	}
 
-	public void removeTrackingObj(HolonObject obj) {
+	public void removeTrackingObj(AbstractCpsObject obj) {
 		statsController.removeTrackingObj(obj);
 	}
 	
-	//SWITCHES:
-	public ArrayList<HolonSwitch> getTrackingSwitches() {
-		return statsController.getTrackingSwitches();
-	}
-
-	public void addTrackingSwitch(HolonSwitch sw) {
-		statsController.addTrackingSwitches(sw);
-	}
-	
-	public void removeTrackingSwitch(HolonSwitch sw){
-		statsController.removeTrackingSwitch(sw);
-	}
-	
 	//========================== MANAGING TRACKED OBJECTS END ================
 
 	/**

+ 6 - 21
src/ui/controller/StatsController.java

@@ -2,6 +2,7 @@ package ui.controller;
 
 import java.util.ArrayList;
 
+import classes.AbstractCpsObject;
 import classes.HolonElement;
 import classes.HolonObject;
 import classes.HolonSwitch;
@@ -16,39 +17,23 @@ public class StatsController {
 
 	}
 
-	public void setTrackingObj(ArrayList<HolonObject> objArr) {
+	public void setTrackingObj(ArrayList<AbstractCpsObject> objArr) {
 		model.setTrackingObj(objArr);
 	}
 
-	public ArrayList<HolonObject> getTrackingObj() {
+	public ArrayList<AbstractCpsObject> getTrackingObj() {
 		return model.getTrackingObj();
 	}
 
-	public void addTrackingObj(HolonObject obj) {
+	public void addTrackingObj(AbstractCpsObject obj) {
 		model.getTrackingObj().add(obj);
 		model.addObjectsToGraphListeners();
 	}
 
-	public void removeTrackingObj(HolonObject obj) {
-		ArrayList<HolonObject> objArr = model.getTrackingObj();
+	public void removeTrackingObj(AbstractCpsObject obj) {
+		ArrayList<AbstractCpsObject> objArr = model.getTrackingObj();
 		objArr.remove(obj);
 		model.setTrackingObj(objArr);
 		model.addObjectsToGraphListeners();
 	}
-
-	public ArrayList<HolonSwitch> getTrackingSwitches() {
-		return model.getTrackingSwitches();
-	}
-
-	public void addTrackingSwitches(HolonSwitch sw) {
-		model.getTrackingSwitches().add(sw);
-		model.addObjectsToGraphListeners();
-	}
-
-	public void removeTrackingSwitch(HolonSwitch sw) {
-		ArrayList<HolonSwitch> swArr = model.getTrackingSwitches();
-		swArr.remove(sw);
-		model.setTrackingSwitches(swArr);
-		model.addObjectsToGraphListeners();
-	}
 }

+ 7 - 18
src/ui/model/Model.java

@@ -76,8 +76,7 @@ public class Model {
 	 * Array of all HolonObj and HolonSwitches, that should be tracked through out the statistics
 	 * tab
 	 */
-	private ArrayList<HolonObject> trackingObj;
-	private ArrayList<HolonSwitch> trackingSwitches;
+	private ArrayList<AbstractCpsObject> trackedObjects;
 
 	/*
 	 * Array of all CpsObjects in our canvas. It is set by default as an empty
@@ -123,8 +122,7 @@ public class Model {
 		setCgIdx(new HashMap<String, Integer>());
 		setCvsObjIdx(new HashMap<Integer, Integer>());
 		setClipboradObjects(new ArrayList<AbstractCpsObject>());
-		setTrackingObj(new ArrayList<HolonObject>());
-		setTrackingSwitches(new ArrayList<HolonSwitch>());
+		setTrackingObj(new ArrayList<AbstractCpsObject>());
 		setEleToDelete(new HashMap<Integer, ArrayList<HolonElement>>());
 		setSingleTable(new PropertyTable());
 		setMultiTable(new PropertyTable());
@@ -671,20 +669,12 @@ public class Model {
 		return this.subNetColors;
 	}
 
-	public void setTrackingObj(ArrayList<HolonObject> toTrack) {
-		trackingObj = toTrack;
+	public void setTrackingObj(ArrayList<AbstractCpsObject> toTrack) {
+		trackedObjects = toTrack;
 	}
 
-	public ArrayList<HolonObject> getTrackingObj() {
-		return trackingObj;
-	}
-	
-	public void setTrackingSwitches(ArrayList<HolonSwitch> toTrack){
-		trackingSwitches = toTrack;
-	}
-	
-	public ArrayList<HolonSwitch> getTrackingSwitches(){
-		return trackingSwitches;
+	public ArrayList<AbstractCpsObject> getTrackingObj() {
+		return trackedObjects;
 	}
 
 	public void addGraphListener(GraphListener gl) {
@@ -717,8 +707,7 @@ public class Model {
 
 	public void addObjectsToGraphListeners() {
 		for (GraphListener gl : graphListeners) {
-			gl.addTrackedObject(trackingObj);
-			gl.addTrackedSwitch(trackingSwitches);
+			gl.addTrackedObject(trackedObjects);
 			gl.repaintTree();
 		}
 	}

+ 17 - 34
src/ui/view/MyCanvas.java

@@ -265,41 +265,22 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 			@Override
 			public void actionPerformed(ActionEvent e) {
 				for (AbstractCpsObject o : model.getSelectedCpsObjects()) {
-					if (o instanceof HolonObject) {
-						boolean found = false;
-						if (controller.getTrackingObj() != null) {
-							for (HolonObject obj : controller.getTrackingObj()) {
-								if (obj.getID() == o.getID()) {
-									found = true;
-								}
-							}
+					boolean found = false;
+					if (controller.getTrackingObj() != null) {
+						if(controller.getTrackingObj().contains(o)){
+							found = true;
 						}
-						if (!found) {
-							controller.addTrackingObj((HolonObject) o);
-							((HolonObject) o).updateTrackingInfo();
-						}
-						controller.addTextToConsole("Tracking: ", Color.BLACK, 12, false, false, false);
-						controller.addTextToConsole("" + o.getName(), Color.BLUE, 12, true, false, false);
-						controller.addTextToConsole(", ID:", Color.BLACK, 12, false, false, false);
-						controller.addTextToConsole("" + o.getID(), Color.RED, 12, true, false, true);
 					}
-					if(o instanceof HolonSwitch){
-						boolean found = false;
-						if(controller.getTrackingSwitches() != null){
-							for(HolonSwitch sw : controller.getTrackingSwitches()){
-								if(sw.getID() == o.getID()){
-									found = true;
-								}
-							}
-						}
-						if(!found){
-							controller.addTrackingSwitch((HolonSwitch) o);
+					if (!found) {
+						controller.addTrackingObj(o);
+						if(o instanceof HolonObject){
+							((HolonObject) o).updateTrackingInfo();
 						}
-						controller.addTextToConsole("Tracking: ", Color.BLACK, 12, false, false, false);
-						controller.addTextToConsole("" + o.getName(), Color.BLUE, 12, true, false, false);
-						controller.addTextToConsole(", ID:", Color.BLACK, 12, false, false, false);
-						controller.addTextToConsole("" + o.getID(), Color.RED, 12, true, false, true);
 					}
+					controller.addTextToConsole("Tracking: ", Color.BLACK, 12, false, false, false);
+					controller.addTextToConsole("" + o.getName(), Color.BLUE, 12, true, false, false);
+					controller.addTextToConsole(", ID:", Color.BLACK, 12, false, false, false);
+					controller.addTextToConsole("" + o.getID(), Color.RED, 12, true, false, true);
 				}
 			}
 		});
@@ -312,9 +293,11 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 					if (o instanceof HolonObject) {
 						boolean found = false;
 						if (controller.getTrackingObj() != null) {
-							for (HolonObject obj : controller.getTrackingObj()) {
-								if (obj.getID() == o.getID()) {
-									found = true;
+							for (AbstractCpsObject obj : controller.getTrackingObj()) {
+								if(obj instanceof HolonObject){
+									if (obj.getID() == o.getID()) {
+										found = true;
+									}
 								}
 							}
 						}

+ 10 - 6
src/ui/view/UpperNodeCanvas.java

@@ -171,9 +171,11 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
 					if (o instanceof HolonObject) {
 						boolean found = false;
 						if (controller.getTrackingObj() != null) {
-							for (HolonObject obj : controller.getTrackingObj()) {
-								if (obj.getID() == o.getID()) {
-									found = true;
+							for (AbstractCpsObject obj : controller.getTrackingObj()) {
+								if(obj instanceof HolonObject){
+									if (obj.getID() == o.getID()) {
+										found = true;
+									}	
 								}
 							}
 						}
@@ -198,9 +200,11 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
 					if (o instanceof HolonObject) {
 						boolean found = false;
 						if (controller.getTrackingObj() != null) {
-							for (HolonObject obj : controller.getTrackingObj()) {
-								if (obj.getID() == o.getID()) {
-									found = true;
+							for (AbstractCpsObject obj : controller.getTrackingObj()) {
+								if(obj instanceof HolonObject){
+									if (obj.getID() == o.getID()) {
+										found = true;
+									}
 								}
 							}
 						}

+ 37 - 30
src/ui/view/splitPane.java

@@ -23,6 +23,8 @@ import javax.swing.tree.TreeNode;
 
 import DataSets.GraphDataSet;
 import DataSets.PropertyDataSet;
+import classes.AbstractCpsObject;
+import classes.CpsUpperNode;
 import classes.HolonObject;
 import classes.HolonSwitch;
 import classes.TrackedDataSet;
@@ -72,6 +74,7 @@ public class splitPane extends JSplitPane implements GraphListener {
 	private DefaultMutableTreeNode objectsNode;
 	private DefaultMutableTreeNode wholeHolon;
 	private DefaultMutableTreeNode switchesNode;
+	private DefaultMutableTreeNode gridsNode;
 	
 	private Hashtable<String, GraphDataSet> objectHashtable;
 	private Hashtable<String, StatisticGraphPanel> graphHashtable;
@@ -507,10 +510,14 @@ public class splitPane extends JSplitPane implements GraphListener {
 		switchesNode = new DefaultMutableTreeNode("Switches");
 		switchesNode.add(new DefaultMutableTreeNode("empty"));
 		
+		gridsNode = new DefaultMutableTreeNode("Grids");
+		gridsNode.add(new DefaultMutableTreeNode("empty"));
+		
 		treeModel.setRoot(root);
 		root.add(wholeHolon);
 		root.add(objectsNode);
 		root.add(switchesNode);
+		root.add(gridsNode);
 		objectTree.setModel(treeModel);
 
 		treeScrollPane.setViewportView(objectTree);
@@ -604,43 +611,43 @@ public class splitPane extends JSplitPane implements GraphListener {
 	}
 
 	@Override
-	public void addTrackedObject(ArrayList<HolonObject> hlList) {
+	public void addTrackedObject(ArrayList<AbstractCpsObject> hlList) {
 		objectsNode.removeAllChildren();
 		objectHashtable.clear();
 		if (hlList.size() > 0 && hlList != null) {
-			for (HolonObject hO : hlList) {
-				Hashtable<String, PropertyDataSet> tmpHash = new Hashtable<String, PropertyDataSet>();
-				String name = hO.getName() + " " + hO.getID();
+			for (AbstractCpsObject abs : hlList) {
+				String name = abs.getName() + " " + abs.getID();
 				DefaultMutableTreeNode tmp = new DefaultMutableTreeNode(name);
-				tmp.add(new DefaultMutableTreeNode("total Production"));
-				tmp.add(new DefaultMutableTreeNode("total Consumption"));
-				tmp.add(new DefaultMutableTreeNode("number of activated Elements"));
-				tmpHash.put("total Production", new PropertyDataSet());
-				tmpHash.put("total Consumption", new PropertyDataSet());
-				tmpHash.put("number of activated Elements", new PropertyDataSet());
-				GraphDataSet gS = new GraphDataSet(hO, tmpHash);
-				objectHashtable.put(name, gS);
-				objectsNode.add(tmp);
-			}
-		} else {
-			objectsNode.add(new DefaultMutableTreeNode("empty"));
-		}
 
-	}
-	
-	@Override
-	public void addTrackedSwitch(ArrayList<HolonSwitch> swList){
-		switchesNode.removeAllChildren();
-		if(swList.size() > 0 && swList != null){
-			for(HolonSwitch sw : swList){
-				String name = sw.getName() + " " + sw.getID();
-				DefaultMutableTreeNode tmp = new DefaultMutableTreeNode(name);
-				tmp.add(new DefaultMutableTreeNode("activated"));
-				switchesNode.add(tmp);
+				//HolonObjects
+				if(abs instanceof HolonObject){
+					Hashtable<String, PropertyDataSet> tmpHash = new Hashtable<String, PropertyDataSet>();
+					tmp.add(new DefaultMutableTreeNode("total Production"));
+					tmp.add(new DefaultMutableTreeNode("total Consumption"));
+					tmp.add(new DefaultMutableTreeNode("number of activated Elements"));
+					tmpHash.put("total Production", new PropertyDataSet());
+					tmpHash.put("total Consumption", new PropertyDataSet());
+					tmpHash.put("number of activated Elements", new PropertyDataSet());
+					GraphDataSet gS = new GraphDataSet(abs, tmpHash);
+					objectHashtable.put(name, gS);
+					objectsNode.add(tmp);
+				}
+				
+				//HolonSwitches
+				if(abs instanceof HolonSwitch){
+					tmp.add(new DefaultMutableTreeNode("activated"));
+					switchesNode.add(tmp);
+				}
+				
+				//NodesOfNodes
+				if(abs instanceof CpsUpperNode){
+					tmp.add(new DefaultMutableTreeNode("total Production"));
+					tmp.add(new DefaultMutableTreeNode("total Consumption"));
+					gridsNode.add(tmp);
+				}
 			}
-		} else {
-			switchesNode.add(new DefaultMutableTreeNode("empty"));
 		}
+
 	}
 
 	public void colorChanged(Color color) {