Browse Source

some little fixes

dominik.rieder 7 years ago
parent
commit
122d19ec9a

+ 4 - 3
src/ui/controller/StatsController.java

@@ -24,9 +24,10 @@ public class StatsController {
 	}
 
 	public void addTrackingObj(HolonObject obj) {
-		ArrayList<HolonObject> objArr = model.getTrackingObj();
-		objArr.add(obj);
-		model.setTrackingObj(objArr);
+		model.getTrackingObj().add(obj);
+		for(int i = 0; i < model.getTrackingObj().size(); i++){
+			System.out.println(model.getTrackingObj().get(i).getName() + " " + model.getTrackingObj().get(i).getID());
+		}
 	}
 
 	public void removeTrackingObj(HolonObject obj) {

+ 5 - 3
src/ui/view/GUI.java

@@ -111,8 +111,8 @@ public class GUI<E> implements CategoryListener {
 	private String catOfObjToBeEdited;
 	private final JScrollPane statTab = new JScrollPane();
 	
-	private StatisticPane statPane = new StatisticPane();
-	private JScrollPane statScrollPane = new JScrollPane(statPane);
+	private StatisticPane statPane;
+	private JScrollPane statScrollPane;
 
 
 	private final JLabel maxGraph = new JLabel("100%");
@@ -265,6 +265,8 @@ public class GUI<E> implements CategoryListener {
 	public GUI(Control control) {
 		this.controller = control;
 		this.model = control.getModel();
+		statPane = new StatisticPane(model, controller);
+		statScrollPane = new JScrollPane(statPane);
 		this.canvas = new MyCanvas(model, control);
 		this.unitGraph = new UnitGraph(model, control);
 		this.statGraph = new StatisticGraph(model, controller);
@@ -1573,7 +1575,7 @@ public class GUI<E> implements CategoryListener {
 				controller.calculateStateForTimeStep(i);
 
 				unitGraph.repaint();
-				statGraph.repaint();
+				statPane.updateGraphs();
 			}
 		});
 		splitPane.setRightComponent(splitPane1);

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

@@ -135,19 +135,18 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 				for (AbstractCpsObject o : model.getSelectedCpsObjects()) {
 					if (o instanceof HolonObject) {
 						boolean found = false;
-						if (control.getTrackingObj() != null) {
-							for (HolonObject obj : control.getTrackingObj()) {
+						if (controller.getTrackingObj() != null) {
+							for (HolonObject obj : controller.getTrackingObj()) {
 								if (obj.getID() == o.getID()) {
 									found = true;
 								}
 							}
 						}
 						if (!found) {
-							control.addTrackingObj((HolonObject) o);
+							controller.addTrackingObj((HolonObject) o);
 						}
 					}
 				}
-				System.out.println(control.getTrackingObj());
 			}
 		});
 
@@ -158,19 +157,19 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 				for (AbstractCpsObject o : model.getSelectedCpsObjects()) {
 					if (o instanceof HolonObject) {
 						boolean found = false;
-						if (control.getTrackingObj() != null) {
-							for (HolonObject obj : control.getTrackingObj()) {
+						if (controller.getTrackingObj() != null) {
+							for (HolonObject obj : controller.getTrackingObj()) {
 								if (obj.getID() == o.getID()) {
 									found = true;
 								}
 							}
 						}
 						if (found) {
-							control.removeTrackingObj((HolonObject) o);
+							controller.removeTrackingObj((HolonObject) o);
 						}
 					}
 				}
-				System.out.println(control.getTrackingObj());
+				System.out.println(controller.getTrackingObj());
 			}
 		});
 

+ 0 - 2
src/ui/view/StatisticGraph.java

@@ -19,8 +19,6 @@ import ui.controller.Control;
 import ui.model.Model;
 
 public class StatisticGraph extends JPanel {
-	public StatisticGraph() {
-	}
 
 	/**
 	 * 

+ 89 - 51
src/ui/view/StatisticPane.java

@@ -14,15 +14,27 @@ import javax.swing.JCheckBox;
 import javax.swing.LayoutStyle.ComponentPlacement;
 import java.awt.Color;
 import javax.swing.SwingConstants;
+
+import ui.controller.Control;
+import ui.model.Model;
+
 import javax.swing.JComboBox;
+import javax.swing.JButton;
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
 
 public class StatisticPane extends JPanel{
 	private JScrollPane listScrollPane = new JScrollPane();
     private JList objectList;
-    private DefaultListModel model =  new DefaultListModel();
+    private DefaultListModel listModel =  new DefaultListModel();
+    private Model model;
+    private Control controller;
+    private JPanel statGraph;
     
-    public StatisticPane(){
-    	objectList = new JList(model);
+    public StatisticPane(Model m, Control c){
+    	model = m;
+    	controller = c;
+    	objectList = new JList(listModel);
     	listScrollPane.setViewportView(objectList);
     	
     	JLabel lblOverallStatistics = new JLabel("Overall Statistics:");
@@ -51,70 +63,96 @@ public class StatisticPane extends JPanel{
     	JLabel lblGraph = new JLabel("  Graph:");
     	
     	JComboBox comboBox = new JComboBox();
+    	
+    	statGraph = new JPanel();
+    	
+    	JButton btnRefresh = new JButton("Refresh");
+    	btnRefresh.addActionListener(new ActionListener() {
+    		public void actionPerformed(ActionEvent e) {
+    			for(int i = 0; i < controller.getTrackingObj().size(); i++){
+    				listModel.addElement(controller.getTrackingObj().get(i).getName() +
+    						controller.getTrackingObj().get(i).getID());
+    			}
+    		}
+    	});
     	GroupLayout groupLayout = new GroupLayout(this);
     	groupLayout.setHorizontalGroup(
     		groupLayout.createParallelGroup(Alignment.LEADING)
     			.addGroup(groupLayout.createSequentialGroup()
     				.addContainerGap()
     				.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
-    					.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
-    						.addGroup(groupLayout.createSequentialGroup()
-    							.addGap(10)
-    							.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
-    								.addComponent(chckbxNewCheckBox_1)
-    								.addComponent(chckbxNewCheckBox)))
-    						.addComponent(lblObject, GroupLayout.PREFERRED_SIZE, 56, GroupLayout.PREFERRED_SIZE)
-    						.addGroup(groupLayout.createSequentialGroup()
-    							.addGap(10)
-    							.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
+    					.addGroup(groupLayout.createSequentialGroup()
+    						.addGap(10)
+    						.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
+    							.addComponent(chckbxNewCheckBox_1)
+    							.addComponent(chckbxNewCheckBox)))
+    					.addComponent(lblObject, GroupLayout.PREFERRED_SIZE, 56, GroupLayout.PREFERRED_SIZE)
+    					.addGroup(groupLayout.createSequentialGroup()
+    						.addGap(10)
+    						.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
+    							.addGroup(groupLayout.createSequentialGroup()
+    								.addGap(4)
+    								.addComponent(lblName)
+    								.addPreferredGap(ComponentPlacement.RELATED)
+    								.addComponent(lblNewLabel, GroupLayout.PREFERRED_SIZE, 107, GroupLayout.PREFERRED_SIZE))
+    							.addComponent(checkBox_1, GroupLayout.PREFERRED_SIZE, 101, GroupLayout.PREFERRED_SIZE)
+    							.addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false)
     								.addGroup(groupLayout.createSequentialGroup()
-    									.addGap(4)
-    									.addComponent(lblName)
+    									.addComponent(lblGraph, GroupLayout.PREFERRED_SIZE, 54, GroupLayout.PREFERRED_SIZE)
     									.addPreferredGap(ComponentPlacement.RELATED)
-    									.addComponent(lblNewLabel, GroupLayout.PREFERRED_SIZE, 107, GroupLayout.PREFERRED_SIZE))
-    								.addComponent(checkBox_1, GroupLayout.PREFERRED_SIZE, 101, GroupLayout.PREFERRED_SIZE)
-    								.addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false)
-    									.addGroup(groupLayout.createSequentialGroup()
-    										.addComponent(lblGraph, GroupLayout.PREFERRED_SIZE, 54, GroupLayout.PREFERRED_SIZE)
-    										.addPreferredGap(ComponentPlacement.RELATED)
-    										.addComponent(comboBox, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
-    									.addComponent(checkBox, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE)))))
+    									.addComponent(comboBox, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+    								.addComponent(checkBox, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE))))
     					.addComponent(lblOverallStatistics, GroupLayout.PREFERRED_SIZE, 126, GroupLayout.PREFERRED_SIZE)
     					.addComponent(listScrollPane, GroupLayout.PREFERRED_SIZE, 177, GroupLayout.PREFERRED_SIZE))
-    				.addContainerGap(263, Short.MAX_VALUE))
+    				.addPreferredGap(ComponentPlacement.RELATED, 37, Short.MAX_VALUE)
+    				.addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false)
+    					.addGroup(groupLayout.createSequentialGroup()
+    						.addComponent(btnRefresh)
+    						.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+    					.addComponent(statGraph, Alignment.TRAILING, GroupLayout.PREFERRED_SIZE, 226, GroupLayout.PREFERRED_SIZE)))
     	);
     	groupLayout.setVerticalGroup(
     		groupLayout.createParallelGroup(Alignment.LEADING)
     			.addGroup(groupLayout.createSequentialGroup()
-    				.addContainerGap()
-    				.addComponent(lblOverallStatistics)
-    				.addPreferredGap(ComponentPlacement.UNRELATED)
-    				.addComponent(chckbxNewCheckBox)
-    				.addPreferredGap(ComponentPlacement.UNRELATED)
-    				.addComponent(chckbxNewCheckBox_1)
-    				.addGap(18)
-    				.addComponent(lblObject)
-    				.addPreferredGap(ComponentPlacement.UNRELATED)
-    				.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
-    					.addComponent(lblNewLabel)
-    					.addComponent(lblName))
-    				.addPreferredGap(ComponentPlacement.UNRELATED)
-    				.addComponent(checkBox)
-    				.addPreferredGap(ComponentPlacement.UNRELATED)
-    				.addComponent(checkBox_1)
-    				.addPreferredGap(ComponentPlacement.UNRELATED)
-    				.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
-    					.addComponent(lblGraph)
-    					.addComponent(comboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-    				.addGap(57)
-    				.addComponent(listScrollPane, GroupLayout.PREFERRED_SIZE, 177, GroupLayout.PREFERRED_SIZE)
-    				.addContainerGap(23, Short.MAX_VALUE))
+    				.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
+    					.addGroup(groupLayout.createSequentialGroup()
+    						.addGap(17)
+    						.addComponent(statGraph, GroupLayout.DEFAULT_SIZE, 156, Short.MAX_VALUE))
+    					.addGroup(groupLayout.createSequentialGroup()
+    						.addContainerGap()
+    						.addComponent(lblOverallStatistics)
+    						.addPreferredGap(ComponentPlacement.UNRELATED)
+    						.addComponent(chckbxNewCheckBox)
+    						.addPreferredGap(ComponentPlacement.UNRELATED)
+    						.addComponent(chckbxNewCheckBox_1)
+    						.addGap(18)
+    						.addComponent(lblObject)
+    						.addPreferredGap(ComponentPlacement.UNRELATED)
+    						.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
+    							.addComponent(lblNewLabel)
+    							.addComponent(lblName))
+    						.addPreferredGap(ComponentPlacement.UNRELATED)
+    						.addComponent(checkBox)))
+    				.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
+    					.addGroup(groupLayout.createSequentialGroup()
+    						.addPreferredGap(ComponentPlacement.UNRELATED)
+    						.addComponent(checkBox_1)
+    						.addPreferredGap(ComponentPlacement.UNRELATED)
+    						.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
+    							.addComponent(lblGraph)
+    							.addComponent(comboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+    						.addGap(57)
+    						.addComponent(listScrollPane, GroupLayout.PREFERRED_SIZE, 177, GroupLayout.PREFERRED_SIZE))
+    					.addGroup(groupLayout.createSequentialGroup()
+    						.addGap(125)
+    						.addComponent(btnRefresh)))
+    				.addContainerGap(25, Short.MAX_VALUE))
     	);
     	setLayout(groupLayout);
-    	
-    	for(int i = 0; i < 20; i++){
-    		model.addElement(i*2000000000);
-    	}
 
     }
+    
+    public void updateGraphs(){
+    	statGraph.repaint();
+    }
 }