فهرست منبع

Fix of a small bug with multiple selection of HolonElements. Now is an Array of HolonElements (selectedElements) and a string of the HolonElements Names to be displayed in the graph

Edgardo Palza 8 سال پیش
والد
کامیت
07f8fb146a
1فایلهای تغییر یافته به همراه23 افزوده شده و 9 حذف شده
  1. 23 9
      src/ui/view/GUI.java

+ 23 - 9
src/ui/view/GUI.java

@@ -92,6 +92,7 @@ public class GUI<E> implements CategoryListener {
 	private final JLabel minGraph = new JLabel("0%");
 	private final JLabel elementGraph = new JLabel("None ");
 	private final ArrayList<HolonElement> selectedElements = new ArrayList<HolonElement>();
+	private String holonEleNamesDisplayed = "";
 
 	private final JTree tree = new JTree();
 	private final JEditorPane dtrpnHereWillBe = new JEditorPane();
@@ -378,8 +379,20 @@ public class GUI<E> implements CategoryListener {
 				HolonObject obj = (HolonObject) getActualCps();
 				yValueElements = e.getY();
 				HolonElement ele = getActualHolonElement(obj, yValueElements);
-				if (ele != null) {
-					elementGraph.setText(ele.getEleName() + " ");
+				if (e.isControlDown() && ele != null) {
+					if (!selectedElements.contains(ele)) {
+						selectedElements.add(ele);
+						if (!holonEleNamesDisplayed.equals("None ")) {
+							holonEleNamesDisplayed = holonEleNamesDisplayed + "; " + ele.getEleName() + " ";
+						} else {
+							holonEleNamesDisplayed = ele.getEleName() + " ";
+						}
+
+					}
+				} else if (ele != null) {
+					selectedElements.clear();
+					selectedElements.add(ele);
+					holonEleNamesDisplayed = ele.getEleName() + " ";
 					unitGraph.repaintWithNewElement(ele);
 				} else {
 					elementGraph.setText("None ");
@@ -391,17 +404,18 @@ public class GUI<E> implements CategoryListener {
 					yTHIS = e.getY();
 					xTHIS = e.getX();
 				}
-				if (e.isControlDown() && ele != null) {
-					if (!selectedElements.contains(ele)) {
-						selectedElements.add(ele);
-					}
-				}
 				if (e.getClickCount() == 1 && ele == null) {
 					selectedElements.clear();
+					holonEleNamesDisplayed = "None ";
 				}
 				for (int i = 0; i < selectedElements.size(); i++) {
-					System.out.println(selectedElements.get(i).getEleName());
+					if (i == 0) {
+						System.out.println("Selected Items: " + selectedElements.get(i).getEleName());
+					} else {
+						System.out.println(selectedElements.get(i).getEleName());
+					}
 				}
+				elementGraph.setText(holonEleNamesDisplayed);
 				yBTHIS = e.getY();
 				xBTHIS = e.getX();
 
@@ -732,7 +746,7 @@ public class GUI<E> implements CategoryListener {
 						tableModelProperties.addRow(tempRatioPerc);
 					} else if (temp instanceof HolonSwitch) {
 						deleteRows();
-						Object[] tempActive= { "Active", ((HolonSwitch) temp).getState()};
+						Object[] tempActive = { "Active", ((HolonSwitch) temp).getState() };
 						tableModelProperties.addRow(tempActive);
 						unitGraph.repaintWithNewSwitch((HolonSwitch) temp);
 						elementGraph.setText(temp.getName());