Browse Source

We can edit HolonElements, but there are some bugs (dont recognize all changes).

Edgardo Palza 8 years ago
parent
commit
138f664dc5
1 changed files with 38 additions and 49 deletions
  1. 38 49
      src/ui/view/GUI.java

+ 38 - 49
src/ui/view/GUI.java

@@ -6,12 +6,14 @@ import java.awt.Component;
 import java.awt.Cursor;
 import java.awt.Dimension;
 import java.awt.Image;
+import java.awt.MouseInfo;
 import java.awt.Point;
 import java.awt.Toolkit;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
 import java.io.File;
@@ -34,6 +36,7 @@ import javax.swing.JMenuItem;
 import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 import javax.swing.JPopupMenu;
+import javax.swing.JRadioButton;
 import javax.swing.JScrollPane;
 import javax.swing.JSlider;
 import javax.swing.JSplitPane;
@@ -132,7 +135,7 @@ public class GUI<E> implements CategoryListener {
 	private final JPanel panel = new JPanel();
 	private final JPanel panel_HolonEl = new JPanel();
 	private final JComboBox comboBox = new JComboBox();
-	private final JComboBox comboBoxGraph = new JComboBox();
+	// private final JComboBox comboBoxGraph = new JComboBox();
 
 	// Buttons
 	private final JButton btnAdd = new JButton("+");
@@ -302,8 +305,9 @@ public class GUI<E> implements CategoryListener {
 		graphLabel.add(medGraph, BorderLayout.CENTER);
 		graphLabel.add(minGraph, BorderLayout.SOUTH);
 		toolBarGraph.add(elementGraph);
-		comboBoxGraph.setModel(new DefaultComboBoxModel(new String[] { "Day", "Month", "Year" }));
-		toolBarGraph.add(comboBoxGraph);
+		// comboBoxGraph.setModel(new DefaultComboBoxModel(new String[] { "Day",
+		// "Month", "Year" }));
+		// toolBarGraph.add(comboBoxGraph);
 		toolBarGraph.add(resetGraphBtn);
 		toolBarGraph.setFloatable(false);
 		scrollGraph.setRowHeaderView(graphLabel);
@@ -383,6 +387,37 @@ public class GUI<E> implements CategoryListener {
 				}
 			}
 		});
+
+		tableHolonElement.addPropertyChangeListener(new PropertyChangeListener() {
+			@Override
+			public void propertyChange(PropertyChangeEvent evt) {
+				try {
+					int xMouse = tableHolonElement.getMousePosition().x;
+					int yMouse = tableHolonElement.getMousePosition().y;
+					int xSizeCell = tableHolonElement.getWidth() / 3;
+					int selectedValueX = (int) Math.floor(xMouse / xSizeCell);
+					int selectedValueY = (int) Math.floor(yMouse / 16);
+					if (getActualCps() != null && getActualCps().getClass() == HolonObject.class) {
+						HolonElement eleTemp = getActualHolonElement((HolonObject) getActualCps(), yMouse);
+						String newStuff = tableModelHolonElement.getValueAt(selectedValueY, selectedValueX).toString();
+						if (selectedValueX == 0) {
+							eleTemp.setEleName(newStuff);
+						}
+						if (selectedValueX == 1) {
+							Float ftemp = Float.parseFloat(newStuff);
+							eleTemp.setEnergy(ftemp);
+						}
+						if (selectedValueX == 2) {
+							Integer iTemp = Integer.parseInt(newStuff);
+							eleTemp.setAmount(iTemp);
+						}
+					}
+
+				} catch (Exception e) {
+
+				}
+			}
+		});
 		frmCyberPhysical.getContentPane().setLayout(new BorderLayout(0, 0));
 
 		TreeCellRenderer customRenderer = new TreeCellRenderer() {
@@ -644,52 +679,6 @@ public class GUI<E> implements CategoryListener {
 
 		});
 
-		tableHolonElement.addPropertyChangeListener(new PropertyChangeListener() {
-			@Override
-			public void propertyChange(PropertyChangeEvent evt) {
-				try {
-
-					tempCps = controller.searchByID(model.getSelectedObjectID());
-					if (tempCps != null) {
-						// System.out.println("change: " + tempCps.toString());
-						for (int r = 0; r < tableModelHolonElement.getRowCount(); r++) {
-							ArrayList<Object> temp = new ArrayList<>();
-							for (int c = 0; c < tableModelHolonElement.getColumnCount(); c++) {
-								temp.add(tableHolonElement.getValueAt(r, c));
-							}
-							// float ch;
-							// if (temp.get(1).toString().compareTo("-") == 0) {
-							// ch = -1;
-							// } else {
-							// ch = 1;
-							// }
-							float fa = Float.parseFloat(temp.get(1).toString());
-							int i = Integer.parseInt(temp.get(2).toString());
-							((HolonObject) tempCps).getElements().get(r).setEleName((String) temp.get(0));
-							// ((HolonObject)
-							// tempCps).getElements().get(r).setSign(ch);
-							((HolonObject) tempCps).getElements().get(r).setEnergy(fa);
-							((HolonObject) tempCps).getElements().get(r).setAmount(i);
-							// System.out.println(tableHolonElement.getRowCount()
-							// + " " + temp.get(0) + " " + ch + " " + fa
-							// + " " + i);
-						}
-						if (tableModelHolonElement.getRowCount() > 0) {
-							for (int i = tableModelHolonElement.getRowCount() - 1; i > -1; i--) {
-								tableModelHolonElement.removeRow(i);
-							}
-						}
-						for (HolonElement he : canvas.dataSelected) {
-							Object[] temp = { he.getEleName(), he.getEnergy(), he.getAmount() };
-							tableModelHolonElement.addRow(temp);
-						}
-					}
-				} catch (Exception e) {
-
-				}
-			}
-		});
-
 		toolBar.add(btnAdd);
 
 		// Del Button