Kevin Trometer 8 rokov pred
rodič
commit
1bdf630ad8

+ 25 - 16
src/ui/controller/Control.java

@@ -62,7 +62,7 @@ public class Control {
 		this.consoleController = new ConsoleController(model);
 		autoPath = System.getProperty("user.home") + "/HolonGUI/Autosave/";
 		File dest = new File(autoPath);
-		//deleteDirectory(dest);
+		// deleteDirectory(dest);
 		dest.mkdirs();
 		try {
 			autoSave();
@@ -97,7 +97,8 @@ public class Control {
 	/**
 	 * Search for Object by ID.
 	 * 
-	 * @param id the id of the Object
+	 * @param id
+	 *            the id of the Object
 	 * @return the CpsObject
 	 */
 	public AbstractCpsObject searchByID(int id) {
@@ -120,7 +121,8 @@ public class Control {
 	/**
 	 * search for category.
 	 * 
-	 * @param cat name of the Category
+	 * @param cat
+	 *            name of the Category
 	 * @return the Category
 	 */
 	public Category searchCategory(String cat) {
@@ -128,7 +130,7 @@ public class Control {
 	}
 
 	/* Operations for Categories and Objects */
-	
+
 	/**
 	 * init default category and objects.
 	 */
@@ -153,7 +155,8 @@ public class Control {
 	 *            Category
 	 * @param obj
 	 *            New Object Name
-	 *            @param ele Array of Elements
+	 * @param ele
+	 *            Array of Elements
 	 * @param img
 	 *            the image Path
 	 */
@@ -468,7 +471,9 @@ public class Control {
 	public void calculateStateForCurrentTimeStep() {
 		simulationManager.reset();
 		simulationManager.calculateStateForTimeStep(model.getCurIteration());
-		runAlgorithm(model, this);
+		if (model.getIsSimulation()) {
+			runAlgorithm(model, this);
+		}
 	}
 
 	/**
@@ -480,7 +485,9 @@ public class Control {
 	public void calculateStateForTimeStep(int x) {
 		simulationManager.reset();
 		simulationManager.calculateStateForTimeStep(x);
-		runAlgorithm(model, this);
+		if (model.getIsSimulation()) {
+			runAlgorithm(model, this);
+		}
 	}
 
 	/**
@@ -644,42 +651,44 @@ public class Control {
 	public void setIsSimulation(boolean b) {
 		globalController.setIsSimulation(b);
 	}
-	
+
 	/**
 	 * Set the Canvas X Size.
 	 * 
-	 * @param canvasX the cANVAS_X to set
+	 * @param canvasX
+	 *            the cANVAS_X to set
 	 */
 	public void setCanvasX(int canvasX) {
 		globalController.setCanvasX(canvasX);
 	}
 
-
 	/**
 	 * Set the Canvas Y Size.
 	 * 
-	 * @param canvasY the cANVAS_Y to set
+	 * @param canvasY
+	 *            the cANVAS_Y to set
 	 */
 	public void setCanvasY(int canvasY) {
 		globalController.setCanvasY(canvasY);
 	}
-	
+
 	/**
 	 * Set the Algorithm.
 	 * 
-	 * @param obj the Algorithm
+	 * @param obj
+	 *            the Algorithm
 	 */
 	public void setAlgorithm(Object obj) {
 		multiPurposeController.setAlgorithm(obj);
 	}
-	
+
 	/**
 	 * Run the Algorithm.
 	 */
 	public void runAlgorithm(Model model, Control controller) {
 		if (model.getAlgorithm() != null) {
-			((interfaceTest)model.getAlgorithm()).RunAlgorithm(model, controller);
+			((interfaceTest) model.getAlgorithm()).RunAlgorithm(model, controller);
 		}
 	}
-	
+
 }

+ 20 - 2
src/ui/view/SimulationMenu.java

@@ -41,6 +41,8 @@ import java.awt.Dimension;
 import java.awt.GridBagConstraints;
 import java.awt.Insets;
 import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
 import java.beans.PropertyChangeEvent;
@@ -93,6 +95,18 @@ public class SimulationMenu extends JMenuBar {
 		this.model = mod;
 		this.controller = cont;
 
+		// Algorithm ComboBox Action
+		algoCombo.addItemListener(new ItemListener() {
+
+			@Override
+			public void itemStateChanged(ItemEvent e) {
+
+				setAlgorithm(algosHash.get(e.getItem()));
+				controller.addTextToConsole("" + e.getItem());
+
+			}
+		});
+
 		// algoFolderButton Action
 		algoFolderButton.addActionListener(new ActionListener() {
 
@@ -110,6 +124,10 @@ public class SimulationMenu extends JMenuBar {
 				if (fileChooser.showOpenDialog(test) == JFileChooser.APPROVE_OPTION) {
 					algoCombo.removeAllItems();
 					File[] files = fileChooser.getSelectedFile().listFiles();
+					//Set Root Folder Path
+					root = new File(fileChooser.getCurrentDirectory().getPath());
+					controller.addTextToConsole("roor Path" + root.getPath());
+					
 					for (int i = 0; i < files.length; i++) {
 						if (files[i].toString()
 								.endsWith(".java") /*
@@ -121,10 +139,10 @@ public class SimulationMenu extends JMenuBar {
 							name = name.substring(0, tmpB);
 							algosHash.put(name, files[i]);
 							algoCombo.addItem(name);
-							root = new File(fileChooser.getCurrentDirectory().getPath());
-							setAlgorithm(files[i]);
+
 						}
 					}
+
 				}
 			}