Quellcode durchsuchen

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

dominik.rieder vor 8 Jahren
Ursprung
Commit
e28091a831

+ 7 - 1
src/ui/view/GUI.java

@@ -231,6 +231,7 @@ public class GUI<E> implements CategoryListener {
 
 	private Console console = new Console();
 	private MyCanvas canvas;
+	private HolonCanvas holonCanvas;
 	private UnitGraph unitGraph;
 	private final JSplitPane splitPane3 = new JSplitPane();
 	private final JSlider sizeSlider = new JSlider();
@@ -279,6 +280,7 @@ public class GUI<E> implements CategoryListener {
 		model.addGraphListener(statSplitPane);
 		statScrollPane = new JScrollPane(statSplitPane);
 		this.canvas = new MyCanvas(model, control);
+		this.holonCanvas = new HolonCanvas(model, control);
 		this.unitGraph = new UnitGraph(model, control);
 		control.initListener(this);
 		controller.setCanvas(canvas);
@@ -615,7 +617,9 @@ public class GUI<E> implements CategoryListener {
 		mnNewMenuOptions.add(mnLanguage);
 		canvas.setBackground(Color.WHITE);
 		canvas.setPreferredSize(new Dimension(model.getCanvasX(), model.getCanvasY()));
-
+		holonCanvas.setBackground(Color.WHITE);
+		holonCanvas.setPreferredSize(new Dimension(model.getCanvasX(), model.getCanvasY()));
+		
 		/********************
 		 * RIGHT CONTAINER (INFORMATION)
 		 **********************/
@@ -1549,6 +1553,7 @@ public class GUI<E> implements CategoryListener {
 		splitGraphHolonEl.setTopComponent(scrollGraph);
 		splitGraphHolonEl.setBottomComponent(scrollElements);
 		canvasSP.setViewportView(canvas);
+		holonSP.setViewportView(holonCanvas);
 		panelTapped_SimMenu.setLayout(new BorderLayout());
 		panelTapped_SimMenu.add(simMenu, BorderLayout.NORTH);
 		panelTapped_SimMenu.add(tabbedPane);
@@ -1566,6 +1571,7 @@ public class GUI<E> implements CategoryListener {
 		splitGraphHolonEl.setBorder(null);
 		panelHolonEl.setBorder(null);
 		canvasSP.setBorder(null);
+		holonSP.setBorder(null);
 
 		tableHolonElementScrollPane.setBorder(null);
 

+ 65 - 0
src/ui/view/HolonCanvas.java

@@ -0,0 +1,65 @@
+/**
+ * 
+ */
+package ui.view;
+
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.Image;
+import java.awt.RenderingHints;
+
+import javax.swing.ImageIcon;
+import javax.swing.JPanel;
+
+import classes.HolonObject;
+import classes.SubNet;
+import ui.controller.Control;
+import ui.model.Model;
+
+/**
+ * This class shows the holon view
+ * 
+ * @author Gruppe14
+ *
+ */
+public class HolonCanvas extends JPanel {
+	private static final long serialVersionUID = 1L;
+	// edge Object Start Point
+	private Model model;
+	private final Control controller;
+	Graphics2D g2; // For Painting
+
+	/**
+	 * Constructor.
+	 * 
+	 * @param mod
+	 *            the Model
+	 * @param control
+	 *            the Controller
+	 */
+	public HolonCanvas(Model mod, Control control) {
+		this.controller = control;
+		this.model = mod;
+	}
+
+	public void paintComponent(Graphics g) {
+		super.paintComponent(g);
+		// Rendering
+		g2 = (Graphics2D) g;
+		RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+		g2.setRenderingHints(rh);
+
+		int i = 0;
+		int k = 0;
+		// Objects
+		for (SubNet s : controller.getSimManager().getSubNets()) {
+			// draw image
+			g2.setColor(model.getSubNetColors().get(k));
+			g2.fillOval(10 + i, 10 + i, controller.getScale() * s.getObjects().size() / 4,
+					controller.getScale() * s.getObjects().size() / 4);
+			k += 1;
+			i += 20;
+		}
+	}
+}

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

@@ -95,6 +95,7 @@ public class StatisticGraph extends JPanel {
 			// Calculate the Maximum
 			calcMaximum();
 			((StatisticGraphPanel)this.getParent()).setMaximumLabel(maximum);
+			((StatisticGraphPanel)this.getParent()).makeLegendPanel();
 
 			// Calculate values for each set and add them
 			addValues();

+ 11 - 7
src/ui/view/StatisticGraphPanel.java

@@ -42,6 +42,7 @@ public class StatisticGraphPanel extends JPanel {
 	private final JPanel legendPanel = new JPanel();
 	private JPanel that;
 	private Hashtable<String, StatisticGraphPanel> graphHashtable;
+	private JPanel tempP; // for makeLegend
 
 	/**
 	 * Constructor.
@@ -136,21 +137,24 @@ public class StatisticGraphPanel extends JPanel {
 	 * Make the LegendPane.
 	 */
 	public void makeLegendPanel() {
-		for (TrackedDataSet set: sGraph.objects) {
+		legendPanel.removeAll();
+		for (TrackedDataSet set : sGraph.objects) {
 			JLabel b = new JLabel(set.getCpsObject().getName());
 			b.setBackground(Color.CYAN);
 			b.setOpaque(true);
-			JPanel p = new JPanel();
-			p.add(b);
+			tempP = new JPanel();
+			tempP.add(b);
 			b.addMouseListener(new MouseAdapter() {
 				@Override
 				public void mousePressed(MouseEvent e) {
-					if (e.BUTTON3 == e.getButton())
-						legendPanel.remove(p);
-					that.updateUI();
+					if (e.BUTTON3 == e.getButton()) {
+						legendPanel.remove(tempP);
+						that.updateUI();
+					}
 				}
 			});
-			legendPanel.add(p);
+			legendPanel.add(tempP);
 		}
+		updateUI();
 	}
 }