Преглед на файлове

more trackedDataSet Properties

Kevin Trometer преди 7 години
родител
ревизия
9cc6f71203
променени са 3 файла, в които са добавени 67 реда и са изтрити 11 реда
  1. 5 0
      src/classes/TrackedDataSet.java
  2. 41 9
      src/ui/view/StatisticGraph.java
  3. 21 2
      src/ui/view/StatisticGraphPanel.java

+ 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;

+ 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) {