Browse Source

Merge branch 'Ohne_Drag_and_Drop' of https://git.tk.informatik.tu-darmstadt.de/carlos.garcia/praktikum-holons into Ohne_Drag_and_Drop

Edgardo Palza 8 years ago
parent
commit
838d464c22
4 changed files with 79 additions and 27 deletions
  1. 28 1
      src/classes/HolonObject.java
  2. 13 0
      src/classes/HolonSwitch.java
  3. 37 11
      src/ui/view/GUI.java
  4. 1 15
      src/ui/view/MyCanvas.java

+ 28 - 1
src/classes/HolonObject.java

@@ -1,5 +1,6 @@
 package classes;
 
+import java.awt.Color;
 import java.util.ArrayList;
 import java.util.HashMap;
 
@@ -7,7 +8,8 @@ import ui.controller.MultiPurposeController;
 import ui.model.idCounter;
 
 public class HolonObject extends CpsObject {
-
+	
+	private Color stateColor;
 	/* Array of all consumers */
 	private ArrayList<HolonElement> elements;
 	/* Array of all Indices of Elements */
@@ -53,9 +55,11 @@ public class HolonObject extends CpsObject {
 	public void setState() {
 		if (getCurrentEnergy() > 0) {
 			setState(3);
+			stateColor = Color.lightGray;
 		} else {
 			if (getCurrentEnergy() == 0) {
 				setState(0);
+				stateColor = Color.WHITE;
 			}
 		}
 	}
@@ -180,6 +184,21 @@ public class HolonObject extends CpsObject {
 	 */
 	public void setState(int st) {
 		this.state = st;
+		switch(st){
+			case 0: stateColor = Color.WHITE;
+					break;
+			
+			case 1: stateColor = new Color(230,120,100);
+					break;
+					
+			case 2: stateColor = Color.GREEN;
+					break;
+			
+			case 3: stateColor = Color.lightGray;
+					break;
+			
+			case 4: stateColor = Color.YELLOW;
+		}
 	}
 
 	public HolonElement searchElement(String name) {
@@ -227,4 +246,12 @@ public class HolonObject extends CpsObject {
 			return false;
 		}
 	}
+	
+	public void setColor(Color color){
+		stateColor = color;
+	}
+	
+	public Color getColor(){
+		return stateColor;
+	}
 }

+ 13 - 0
src/classes/HolonSwitch.java

@@ -9,6 +9,11 @@ public class HolonSwitch extends CpsObject {
 	 * false
 	 */
 	boolean active;
+	
+	/*
+	 * true if switch has to be used manually
+	 */
+	boolean manualMode;
 
 	/*
 	 * Energy at each point of the graph with 50 predefined points. At the
@@ -91,4 +96,12 @@ public class HolonSwitch extends CpsObject {
 			this.activeAt[i] = active;
 		}
 	}
+	
+	public void setManualMode(boolean mode){
+		manualMode = mode;
+	}
+	
+	public boolean getManualMode(){
+		return manualMode;
+	}
 }

+ 37 - 11
src/ui/view/GUI.java

@@ -57,6 +57,7 @@ import javax.swing.border.LineBorder;
 import javax.swing.event.ChangeEvent;
 import javax.swing.event.ChangeListener;
 import javax.swing.filechooser.FileNameExtensionFilter;
+import javax.swing.plaf.FileChooserUI;
 import javax.swing.table.DefaultTableModel;
 import javax.swing.tree.DefaultMutableTreeNode;
 import javax.swing.tree.DefaultTreeModel;
@@ -74,7 +75,9 @@ import classes.HolonSwitch;
 import classes.HolonTransformer;
 import classes.Position;
 import ui.controller.Control;
-import ui.model.Model;;
+import ui.model.Model;
+import javax.swing.JList;
+import javax.swing.Box;;
 
 public class GUI<E> implements CategoryListener {
 
@@ -183,8 +186,6 @@ public class GUI<E> implements CategoryListener {
 	private TimePanel timePanel;
 	private final JMenu mnAlgorithm = new JMenu("Algorithm");
 	private final JCheckBoxMenuItem chckbxmntmUseAlgorithm = new JCheckBoxMenuItem("Use Algorithm");
-	private final JSplitPane splitPane_2 = new JSplitPane();
-	private final JLabel lblSelect = new JLabel("Select");
 	private final JComboBox comboBoxAlgo = new JComboBox();
 	private int yTHIS;
 	private int xTHIS;
@@ -198,6 +199,7 @@ public class GUI<E> implements CategoryListener {
 	private final JMenuItem mntmFindReplace = new JMenuItem("Find/ Replace");
 	private final JMenuItem mntmEditShowedInformation = new JMenuItem("Edit showed Information");
 	private final JMenuItem mntmResetCategory = new JMenuItem("Reset Categories");
+	private final JMenuItem mntmSetFolder = new JMenuItem("Set Folder");
 	private final JMenu mnSimulationSpeed = new JMenu("Simulation Speed");
 	private final JTextField simulationSpeedField = new JTextField();
 	private final JButton btnApply = new JButton("Apply");
@@ -505,13 +507,9 @@ public class GUI<E> implements CategoryListener {
 
 		menuBar.add(mnAlgorithm);
 
-		mnAlgorithm.add(chckbxmntmUseAlgorithm);
-
-		mnAlgorithm.add(splitPane_2);
+		mnAlgorithm.add(mntmSetFolder);
 
-		splitPane_2.setLeftComponent(lblSelect);
-
-		splitPane_2.setRightComponent(comboBoxAlgo);
+		mnAlgorithm.add(chckbxmntmUseAlgorithm);
 
 		canvas.setBackground(Color.WHITE);
 		canvas.setPreferredSize(new Dimension(1000, 1000));
@@ -1349,11 +1347,11 @@ public class GUI<E> implements CategoryListener {
 			@Override
 			public void actionPerformed(java.awt.event.ActionEvent evt) {
 
-				menuUndoActionPerformed(evt);
+				menuRedoActionPerformed(evt);
 
 			}
 
-			private void menuUndoActionPerformed(java.awt.event.ActionEvent evt) {
+			private void menuRedoActionPerformed(java.awt.event.ActionEvent evt) {
 				try {
 					controller.loadFile(controller.getRedoSave());
 					canvas.repaint();
@@ -1380,6 +1378,33 @@ public class GUI<E> implements CategoryListener {
 
 		});
 
+		mntmSetFolder.addActionListener(new java.awt.event.ActionListener() {
+
+			@Override
+			public void actionPerformed(java.awt.event.ActionEvent evt) {
+
+				menuSetFolderActionPerformed(evt);
+
+			}
+
+			private void menuSetFolderActionPerformed(java.awt.event.ActionEvent evt) {
+				JFileChooser fileChooser = new JFileChooser();
+				JFrame test = new JFrame();
+				fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+				fileChooser.setAcceptAllFileFilterUsed(false);
+
+				if (fileChooser.showOpenDialog(test) == JFileChooser.APPROVE_OPTION) {
+					File[] files = fileChooser.getSelectedFile().listFiles();
+					for (int i = 0; i < files.length; i++) {
+						if (files[i].toString().endsWith(".java") || files[i].toString().endsWith(".class")) {
+							comboBoxAlgo.addItem(files[i]);
+						}
+					}
+				}
+			}
+
+		});
+
 		timePanel = new TimePanel(model, controller);
 		timePanel.setBorder(null);
 		((JSlider) (timePanel.getComponent(1))).addChangeListener(new ChangeListener() {
@@ -1430,6 +1455,7 @@ public class GUI<E> implements CategoryListener {
 		});
 
 		mnSimulationSpeed.add(btnApply);
+		menuBar.add(comboBoxAlgo);
 	}
 
 	/*

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

@@ -268,21 +268,7 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 							controller.getScale() + ((controller.getScale() / 20) * 2),
 							controller.getScale() + ((controller.getScale() / 20) * 2));
 				} else if (cps instanceof HolonObject) {
-					if (((HolonObject) cps).getState() == 4) {
-						g2.setColor(Color.YELLOW);
-					}
-					if (((HolonObject) cps).getState() == 3) {
-						g2.setColor(Color.lightGray);
-					}
-					if (((HolonObject) cps).getState() == 2) {
-						g2.setColor(Color.GREEN);
-					}
-					if (((HolonObject) cps).getState() == 1) {
-						g2.setColor(new Color(230,120,100));
-					}
-					if (((HolonObject) cps).getState() == 0) {
-						g2.setColor(Color.WHITE);
-					}
+					g2.setColor(((HolonObject) cps).getColor());
 
 					g2.fillRect(cps.getPosition().x - (controller.getScale() / 20),
 							cps.getPosition().y - (controller.getScale() / 20),