Browse Source

Track option enabled

Edgardo Palza 7 years ago
parent
commit
01be88fec9
3 changed files with 53 additions and 9 deletions
  1. 21 1
      src/ui/controller/Control.java
  2. 18 0
      src/ui/controller/StatsController.java
  3. 14 8
      src/ui/view/MyCanvas.java

+ 21 - 1
src/ui/controller/Control.java

@@ -38,6 +38,7 @@ public class Control {
 	private final LoadController loadController;
 	private final AutoSaveController autoSaveController;
 	private SimulationManager simulationManager;
+	private final StatsController statsController;
 	private String autoPath = "";
 
 	/**
@@ -60,6 +61,7 @@ public class Control {
 		this.simulationManager = new SimulationManager(model);
 		this.autoSaveController = new AutoSaveController(model);
 		this.consoleController = new ConsoleController(model);
+		this.statsController = new StatsController(model);
 		autoPath = System.getProperty("user.home") + "/HolonGUI/Autosave/";
 		File dest = new File(autoPath);
 		// deleteDirectory(dest);
@@ -399,7 +401,7 @@ public class Control {
 	public void addSubNetColor(Color c) {
 		globalController.addSubNetColor(c);
 	}
-	
+
 	/**
 	 * Returns SCALE.
 	 * 
@@ -701,4 +703,22 @@ public class Control {
 		}
 	}
 
+	/**
+	 * Set Tracking Objects
+	 */
+	public void setTrackingObj(ArrayList<HolonObject> objArr) {
+		statsController.setTrackingObj(objArr);
+	}
+
+	/**
+	 * Get Tracking Objects
+	 */
+	public ArrayList<HolonObject> getTrackingObj() {
+		return statsController.getTrackingObj();
+	}
+
+	public void addTrackingObj(HolonObject obj) {
+		statsController.addTrackingObj(obj);
+	}
+
 }

+ 18 - 0
src/ui/controller/StatsController.java

@@ -1,5 +1,9 @@
 package ui.controller;
 
+import java.util.ArrayList;
+
+import classes.HolonElement;
+import classes.HolonObject;
 import ui.model.Model;
 
 public class StatsController {
@@ -8,6 +12,20 @@ public class StatsController {
 
 	public StatsController(Model mod) {
 		this.model = mod;
+
+	}
+
+	public void setTrackingObj(ArrayList<HolonObject> objArr) {
+		model.setTrackingObj(objArr);
 	}
 
+	public ArrayList<HolonObject> getTrackingObj() {
+		return model.getTrackingObj();
+	}
+
+	public void addTrackingObj(HolonObject obj) {
+		ArrayList<HolonObject> objArr = model.getTrackingObj();
+		objArr.add(obj);
+		model.setTrackingObj(objArr);
+	}
 }

+ 14 - 8
src/ui/view/MyCanvas.java

@@ -26,6 +26,7 @@ import javax.swing.JPanel;
 import javax.swing.JPopupMenu;
 import javax.swing.JToolTip;
 
+import api.CpsAPI;
 import classes.CpsEdge;
 import classes.CpsNode;
 import classes.AbstractCpsObject;
@@ -120,18 +121,22 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 		itemCollapse.addActionListener(new ActionListener() {
 			@Override
 			public void actionPerformed(ActionEvent e) {
-				
+
 				repaint();
 			}
 		});
-		
+
 		itemTrack.addActionListener(new ActionListener() {
 			@Override
 			public void actionPerformed(ActionEvent e) {
-				
+				for (AbstractCpsObject o : model.getSelectedCpsObjects()) {
+					if (o instanceof HolonObject) {
+						control.addTrackingObj((HolonObject) o);
+					}
+				}
 			}
 		});
-		
+
 		itemDelete.addActionListener(new ActionListener() {
 			@Override
 			public void actionPerformed(ActionEvent e) {
@@ -192,11 +197,12 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 		// Test SubNet Coloring
 		int i = 0;
 		for (SubNet s : controller.getSimManager().getSubNets()) {
-			
-			if(model.getSubNetColors().size()-1 < i){
-				controller.addSubNetColor(new Color((int) (Math.random() * 255), (int) (Math.random() * 255), (int) (Math.random() * 255)));
+
+			if (model.getSubNetColors().size() - 1 < i) {
+				controller.addSubNetColor(new Color((int) (Math.random() * 255), (int) (Math.random() * 255),
+						(int) (Math.random() * 255)));
 			}
-			
+
 			for (HolonObject cps : s.getObjects()) {
 				cps.setBorderColor(model.getSubNetColors().get(i));
 			}