Browse Source

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

Edgardo Palza 7 years ago
parent
commit
43c1d2ac91

+ 5 - 0
src/classes/TrackedDataSet.java

@@ -9,6 +9,11 @@ public class TrackedDataSet {
 	public static final int PRODUCTION = 1;
 	public static final int ACTIVATED_ELEMENTS = 2;
 	public static final int ON_OFF = 3;
+	public static final int TOTAL_PRODUCTION = 4;
+	public static final int TOTAL_CONSUMPTION = 5;
+	public static final int PERCENT_SUPPLIED = 6;
+	public static final int PERCENT_NOT_SUPPLIED = 7;
+	public static final int PERCENT_PARTIAL_SUPPLIED = 8;
 	
 	//Variables of the Data Set
 	private AbstractCpsObject cps;

+ 9 - 0
src/ui/view/MyCanvas.java

@@ -200,6 +200,15 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 			@Override
 			public void actionPerformed(ActionEvent e) {
 				// save old Position
+				JTabbedPane tabbedPane = (JTabbedPane) getParent().getParent().getParent();
+				for (int i = 3; i < tabbedPane.getTabCount(); i++) {
+					if (((UpperNodeCanvas) ((JScrollPane) tabbedPane.getComponentAt(i)).getViewport()
+							.getComponent(0)).upperNode.getID() == ((CpsUpperNode) tempCps).getID()) {
+						tabbedPane.remove(i);
+						break;
+					}
+				}
+				
 				savePos = new ArrayList<>();
 				animCps = ((CpsUpperNode) tempCps).getNodes();
 				controller.delUpperNode((CpsUpperNode) tempCps, null);

+ 41 - 9
src/ui/view/StatisticGraph.java

@@ -57,7 +57,7 @@ public class StatisticGraph extends JPanel {
 	public StatisticGraph(final Model model, Control control) {
 		this.controller = control;
 		this.model = model;
-		
+
 		this.setBackground(Color.WHITE);
 	}
 
@@ -105,15 +105,21 @@ public class StatisticGraph extends JPanel {
 				case TrackedDataSet.CONSUMPTION:
 				case TrackedDataSet.PRODUCTION:
 				case TrackedDataSet.ACTIVATED_ELEMENTS:
+				case TrackedDataSet.TOTAL_PRODUCTION:
+				case TrackedDataSet.TOTAL_CONSUMPTION:
 					createPathFloats(set);
 					break;
 				case TrackedDataSet.ON_OFF:
 					createPathBooleans(set);
 					break;
+				case TrackedDataSet.PERCENT_SUPPLIED:
+				case TrackedDataSet.PERCENT_NOT_SUPPLIED:
+				case TrackedDataSet.PERCENT_PARTIAL_SUPPLIED:
+					//TODO Percentage Method
+					break;
 				default:
 					break;
 				}
-				g2.setColor(set.getColor());
 				g2.draw(path);
 
 			}
@@ -138,7 +144,7 @@ public class StatisticGraph extends JPanel {
 	 *            the id of the Object to remove
 	 */
 	public void removeObject(int id) {
-			objects.remove(id);
+		objects.remove(id);
 	}
 
 	/**
@@ -179,7 +185,7 @@ public class StatisticGraph extends JPanel {
 			case TrackedDataSet.CONSUMPTION:
 				for (HolonElement h : ((HolonObject) set.getCpsObject()).getElements()) {
 					if (h.getEnergy() < 0) {
-						val += h.getEnergy()*h.getAmount();
+						val += h.getEnergy() * h.getAmount();
 					}
 				}
 				val *= -1;
@@ -187,7 +193,7 @@ public class StatisticGraph extends JPanel {
 			case TrackedDataSet.PRODUCTION:
 				for (HolonElement h : ((HolonObject) set.getCpsObject()).getElements()) {
 					if (h.getEnergy() > 0) {
-						val += h.getEnergy()*h.getAmount();
+						val += h.getEnergy() * h.getAmount();
 					}
 				}
 
@@ -200,6 +206,17 @@ public class StatisticGraph extends JPanel {
 			case TrackedDataSet.ON_OFF:
 				val = 1;
 				break;
+			case TrackedDataSet.TOTAL_PRODUCTION:
+				//TODO
+				break;
+			case TrackedDataSet.TOTAL_CONSUMPTION:
+				//TODO
+				break;
+			case TrackedDataSet.PERCENT_SUPPLIED:
+			case TrackedDataSet.PERCENT_NOT_SUPPLIED:
+			case TrackedDataSet.PERCENT_PARTIAL_SUPPLIED:
+				val = 1;
+				break;
 			default:
 				break;
 			}
@@ -207,7 +224,7 @@ public class StatisticGraph extends JPanel {
 				maximum = val;
 			}
 		}
-		((StatisticGraphPanel)this.getParent()).setMaximumLabel(maximum);
+		((StatisticGraphPanel) this.getParent()).setMaximumLabel(maximum);
 	}
 
 	/**
@@ -220,7 +237,7 @@ public class StatisticGraph extends JPanel {
 			case TrackedDataSet.CONSUMPTION:
 				for (HolonElement h : ((HolonObject) set.getCpsObject()).getElements()) {
 					if (h.getEnergy() < 0 && h.getActive()) {
-						val += Math.abs(h.getEnergyAt()[model.getCurIteration()])*h.getAmount();
+						val += Math.abs(h.getEnergyAt()[model.getCurIteration()]) * h.getAmount();
 					}
 					set.setValAt(val, model.getCurIteration());
 				}
@@ -228,7 +245,7 @@ public class StatisticGraph extends JPanel {
 			case TrackedDataSet.PRODUCTION:
 				for (HolonElement h : ((HolonObject) set.getCpsObject()).getElements()) {
 					if (h.getEnergy() > 0 && h.getActive()) {
-						val += Math.abs(h.getEnergyAt()[model.getCurIteration()])*h.getAmount();
+						val += Math.abs(h.getEnergyAt()[model.getCurIteration()]) * h.getAmount();
 					}
 					set.setValAt(val, model.getCurIteration());
 				}
@@ -256,6 +273,21 @@ public class StatisticGraph extends JPanel {
 						set.setValAt(0, model.getCurIteration());
 					}
 				}
+				break;
+			case TrackedDataSet.TOTAL_PRODUCTION:
+
+				break;
+			case TrackedDataSet.TOTAL_CONSUMPTION:
+
+				break;
+			case TrackedDataSet.PERCENT_SUPPLIED:
+
+				break;
+			case TrackedDataSet.PERCENT_NOT_SUPPLIED:
+
+				break;
+			case TrackedDataSet.PERCENT_PARTIAL_SUPPLIED:
+
 				break;
 			default:
 				break;
@@ -272,7 +304,7 @@ public class StatisticGraph extends JPanel {
 		boolean init = true;
 		path.moveTo(0, 0);
 		for (int i = 0; i < model.getCurIteration(); i++) {
-			if (init && set.getValues()[i] != -1 ) {
+			if (init && set.getValues()[i] != -1) {
 				path.moveTo(i * this.getWidth() / model.getIterations() - 1, convertToCanvasY(set.getValues()[i]));
 				init = false;
 			}

+ 21 - 2
src/ui/view/StatisticGraphPanel.java

@@ -168,11 +168,30 @@ public class StatisticGraphPanel extends JPanel {
 		case TrackedDataSet.ON_OFF:
 			property = "on//off";
 			break;
+		case TrackedDataSet.TOTAL_PRODUCTION:
+			property = "total production";
+			break;
+		case TrackedDataSet.TOTAL_CONSUMPTION:
+			property = "total consumption";
+			break;
+		case TrackedDataSet.PERCENT_SUPPLIED:
+			property = "Percentage of supplied";
+			break;
+		case TrackedDataSet.PERCENT_NOT_SUPPLIED:
+			property = "Percentage of not supplied";
+			break;
+		case TrackedDataSet.PERCENT_PARTIAL_SUPPLIED:
+			property = "Percentage of partial supplied";
+			break;
 		default:
 			break;
 		}
-
-		JLabel b = new JLabel(set.getCpsObject().getID() + ", " + set.getCpsObject().getName() + ": " + property);
+		JLabel b;
+		if (set.getCpsObject() != null) {
+			b = new JLabel(set.getCpsObject().getID() + ", " + set.getCpsObject().getName() + ": " + property);
+		} else {
+			b = new JLabel(property);
+		}
 		b.setBackground(set.getColor());
 		int color = Math.max(Math.max(set.getColor().getRed(), set.getColor().getGreen()), set.getColor().getBlue());
 		if (color <= 128) {