瀏覽代碼

showedInformation PopUP

dominik.rieder 8 年之前
父節點
當前提交
06f41bc07b
共有 3 個文件被更改,包括 88 次插入9 次删除
  1. 0 1
      src/ui/view/GUI.java
  2. 24 8
      src/ui/view/MyCanvas.java
  3. 64 0
      src/ui/view/ShowedInformationPopUp.java

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

@@ -71,7 +71,6 @@ import classes.HolonElement;
 import classes.HolonObject;
 import classes.HolonSwitch;
 import classes.HolonTransformer;
-import sun.nio.ch.SelChImpl;
 import ui.controller.Control;
 import ui.model.Model;;
 

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

@@ -54,7 +54,8 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 
 	ArrayList<HolonElement> dataSelected = new ArrayList<HolonElement>();
 	ArrayList<CpsObject> TempSelected = new ArrayList<CpsObject>();
-
+	
+	private boolean[] showedInformation = new boolean[3];
 	private boolean dragging = false; // for dragging
 	private boolean dragged = false; // if an object/objects was/were dragged
 	private boolean drawEdge = false; // for drawing edges
@@ -152,9 +153,11 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 							con.getA().getPosition().y + controller.getScaleDiv2(),
 							con.getB().getPosition().x + controller.getScaleDiv2(),
 							con.getB().getPosition().y + controller.getScaleDiv2());
-					g2.drawString(con.getFlow() + "/" + con.getCapacity(),
-							(con.getA().getPosition().x + con.getB().getPosition().x) / 2 + controller.getScaleDiv2(),
-							(con.getA().getPosition().y + con.getB().getPosition().y) / 2 + controller.getScaleDiv2());
+					if(showedInformation[0]){
+						g2.drawString(con.getFlow() + "/" + con.getCapacity(),
+								(con.getA().getPosition().x + con.getB().getPosition().x) / 2 + controller.getScaleDiv2(),
+								(con.getA().getPosition().y + con.getB().getPosition().y) / 2 + controller.getScaleDiv2());
+					}
 				}
 			}
 		} else if (edgeHighlight != null) {
@@ -164,11 +167,13 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 					edgeHighlight.getA().getPosition().y + controller.getScaleDiv2(),
 					edgeHighlight.getB().getPosition().x + controller.getScaleDiv2(),
 					edgeHighlight.getB().getPosition().y + controller.getScaleDiv2());
-			g2.drawString(edgeHighlight.getFlow() + "/" + edgeHighlight.getCapacity(),
-					(edgeHighlight.getA().getPosition().x + edgeHighlight.getB().getPosition().x) / 2
+			if(showedInformation[0]){
+				g2.drawString(edgeHighlight.getFlow() + "/" + edgeHighlight.getCapacity(),
+						(edgeHighlight.getA().getPosition().x + edgeHighlight.getB().getPosition().x) / 2
 							+ controller.getScaleDiv2(),
-					(edgeHighlight.getA().getPosition().y + edgeHighlight.getB().getPosition().y) / 2
-							+ controller.getScaleDiv2());
+							(edgeHighlight.getA().getPosition().y + edgeHighlight.getB().getPosition().y) / 2
+								+ controller.getScaleDiv2());
+			}
 		}
 
 		// Objects
@@ -629,4 +634,15 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 	public void setEdgeCapacity(float cap) {
 		edgeCapacity = cap;
 	}
+
+	public void setShowedInformation(boolean connection, boolean object) {
+		showedInformation[0] = connection;
+		showedInformation[1] = object;
+	}
+	
+	public boolean[] getShowedInformation(){
+		return showedInformation;
+	}
+	
+	
 }

+ 64 - 0
src/ui/view/ShowedInformationPopUp.java

@@ -0,0 +1,64 @@
+package ui.view;
+
+import java.awt.BorderLayout;
+
+import javax.swing.JDialog;
+import javax.swing.JPanel;
+import javax.swing.border.EmptyBorder;
+import javax.swing.JCheckBox;
+import javax.swing.JButton;
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
+
+public class ShowedInformationPopUp extends JDialog{
+	private final JPanel contentPanel = new JPanel();
+	private final JButton btnOk = new JButton("OK");
+	private MyCanvas canvas;
+	private JCheckBox objectEnergyCheckbox;
+	private JCheckBox connectionCheckbox;
+	
+	public ShowedInformationPopUp(MyCanvas canvas){
+		super((java.awt.Frame) null, true);
+		setModalityType(java.awt.Dialog.ModalityType.APPLICATION_MODAL);
+		this.setTitle("Edit Showed Informations");
+		setBounds(100, 100, 277, 169);
+		getContentPane().setLayout(new BorderLayout());
+		contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
+		getContentPane().add(contentPanel, BorderLayout.CENTER);
+		contentPanel.setLayout(null);
+		this.canvas = canvas;
+		
+		objectEnergyCheckbox = new JCheckBox("Show Total Energy of Objects");
+		objectEnergyCheckbox.setBounds(19, 19, 181, 23);
+		contentPanel.add(objectEnergyCheckbox);
+		
+		connectionCheckbox = new JCheckBox("Show Connection Properties");
+		connectionCheckbox.setBounds(19, 57, 181, 23);
+		contentPanel.add(connectionCheckbox);
+		
+		objectEnergyCheckbox.setSelected(canvas.getShowedInformation()[1]);
+		connectionCheckbox.setSelected(canvas.getShowedInformation()[0]);
+		btnOk.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent arg0) {
+				setInformation(connectionCheckbox.isSelected(), objectEnergyCheckbox.isSelected());
+				dispose();
+			}
+		});
+		btnOk.setBounds(169, 98, 82, 23);
+		contentPanel.add(btnOk);
+		
+		JButton btnCancel = new JButton("Cancel");
+		btnCancel.setActionCommand("Cancel");
+		btnCancel.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent arg0) {
+				dispose();
+			}
+		});
+		btnCancel.setBounds(70, 98, 89, 23);
+		contentPanel.add(btnCancel);
+	}
+	
+	private void setInformation(boolean connection, boolean object){
+		canvas.setShowedInformation(connection, object);
+	}
+}