|
@@ -5,6 +5,7 @@ import javax.swing.JScrollPane;
|
|
import javax.swing.JPanel;
|
|
import javax.swing.JPanel;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
+import java.util.Hashtable;
|
|
|
|
|
|
import javax.swing.GroupLayout;
|
|
import javax.swing.GroupLayout;
|
|
import javax.swing.GroupLayout.Alignment;
|
|
import javax.swing.GroupLayout.Alignment;
|
|
@@ -18,6 +19,7 @@ import javax.swing.tree.MutableTreeNode;
|
|
import javax.swing.tree.TreeNode;
|
|
import javax.swing.tree.TreeNode;
|
|
|
|
|
|
import classes.HolonObject;
|
|
import classes.HolonObject;
|
|
|
|
+import classes.PropertyDataSet;
|
|
import interfaces.GraphListener;
|
|
import interfaces.GraphListener;
|
|
|
|
|
|
import javax.swing.JTextField;
|
|
import javax.swing.JTextField;
|
|
@@ -25,20 +27,25 @@ import javax.swing.JComboBox;
|
|
import javax.swing.JButton;
|
|
import javax.swing.JButton;
|
|
import javax.swing.JTree;
|
|
import javax.swing.JTree;
|
|
import java.awt.Color;
|
|
import java.awt.Color;
|
|
|
|
+import javax.swing.border.LineBorder;
|
|
|
|
|
|
public class splitPane extends JSplitPane implements GraphListener {
|
|
public class splitPane extends JSplitPane implements GraphListener {
|
|
private JTextField graphNrTxtField;
|
|
private JTextField graphNrTxtField;
|
|
private JTextField redField;
|
|
private JTextField redField;
|
|
- private JTextField blueField;
|
|
|
|
private JTextField greenField;
|
|
private JTextField greenField;
|
|
|
|
+ private JTextField blueField;
|
|
private JTree objectTree;
|
|
private JTree objectTree;
|
|
private DefaultTreeModel treeModel;
|
|
private DefaultTreeModel treeModel;
|
|
- DefaultMutableTreeNode objectsNode;
|
|
|
|
- DefaultMutableTreeNode wholeHolon;
|
|
|
|
|
|
+ private DefaultMutableTreeNode objectsNode;
|
|
|
|
+ private DefaultMutableTreeNode wholeHolon;
|
|
|
|
+ private Hashtable<String, Hashtable<String, PropertyDataSet>> objectHashtable;
|
|
|
|
+
|
|
JLabel showObjectlbl;
|
|
JLabel showObjectlbl;
|
|
JLabel showPropertylbl;
|
|
JLabel showPropertylbl;
|
|
public splitPane() {
|
|
public splitPane() {
|
|
|
|
|
|
|
|
+ objectHashtable = new Hashtable<String, Hashtable<String, PropertyDataSet>>();
|
|
|
|
+
|
|
JPanel panel = new JPanel();
|
|
JPanel panel = new JPanel();
|
|
setLeftComponent(panel);
|
|
setLeftComponent(panel);
|
|
|
|
|
|
@@ -64,59 +71,59 @@ public class splitPane extends JSplitPane implements GraphListener {
|
|
redField = new JTextField();
|
|
redField = new JTextField();
|
|
redField.setColumns(10);
|
|
redField.setColumns(10);
|
|
|
|
|
|
- blueField = new JTextField();
|
|
|
|
- blueField.setColumns(10);
|
|
|
|
-
|
|
|
|
greenField = new JTextField();
|
|
greenField = new JTextField();
|
|
greenField.setColumns(10);
|
|
greenField.setColumns(10);
|
|
|
|
|
|
- JLabel lblR = new JLabel("R:");
|
|
|
|
|
|
+ blueField = new JTextField();
|
|
|
|
+ blueField.setColumns(10);
|
|
|
|
|
|
- JLabel lblB = new JLabel("B:");
|
|
|
|
|
|
+ JLabel lblR = new JLabel("R:");
|
|
|
|
|
|
JLabel lblG = new JLabel("G:");
|
|
JLabel lblG = new JLabel("G:");
|
|
|
|
|
|
|
|
+ JLabel lblB = new JLabel("B:");
|
|
|
|
+
|
|
JButton btnAdd = new JButton("Add");
|
|
JButton btnAdd = new JButton("Add");
|
|
|
|
|
|
JPanel colorPanel = new JPanel();
|
|
JPanel colorPanel = new JPanel();
|
|
- colorPanel.setBackground(Color.GRAY);
|
|
|
|
|
|
+ colorPanel.setBorder(new LineBorder(new Color(0, 0, 0)));
|
|
|
|
+ colorPanel.setBackground(Color.WHITE);
|
|
GroupLayout gl_panel = new GroupLayout(panel);
|
|
GroupLayout gl_panel = new GroupLayout(panel);
|
|
gl_panel.setHorizontalGroup(
|
|
gl_panel.setHorizontalGroup(
|
|
gl_panel.createParallelGroup(Alignment.LEADING)
|
|
gl_panel.createParallelGroup(Alignment.LEADING)
|
|
.addGroup(gl_panel.createSequentialGroup()
|
|
.addGroup(gl_panel.createSequentialGroup()
|
|
- .addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
|
|
|
|
|
|
+ .addContainerGap()
|
|
|
|
+ .addGroup(gl_panel.createParallelGroup(Alignment.LEADING, false)
|
|
|
|
+ .addComponent(treeScrollPane, GroupLayout.PREFERRED_SIZE, 165, GroupLayout.PREFERRED_SIZE)
|
|
.addGroup(gl_panel.createSequentialGroup()
|
|
.addGroup(gl_panel.createSequentialGroup()
|
|
- .addContainerGap()
|
|
|
|
.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
|
|
.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
|
|
- .addComponent(treeScrollPane, GroupLayout.DEFAULT_SIZE, 165, Short.MAX_VALUE)
|
|
|
|
|
|
+ .addComponent(lblGraph)
|
|
|
|
+ .addComponent(lblObject)
|
|
|
|
+ .addComponent(lblProperty)
|
|
|
|
+ .addComponent(lblColor)
|
|
.addGroup(gl_panel.createSequentialGroup()
|
|
.addGroup(gl_panel.createSequentialGroup()
|
|
- .addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
|
|
|
|
- .addComponent(lblGraph)
|
|
|
|
- .addComponent(lblObject)
|
|
|
|
- .addComponent(lblProperty)
|
|
|
|
- .addComponent(lblColor)
|
|
|
|
- .addGroup(gl_panel.createSequentialGroup()
|
|
|
|
- .addComponent(lblR)
|
|
|
|
- .addPreferredGap(ComponentPlacement.RELATED)
|
|
|
|
- .addComponent(redField, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE)))
|
|
|
|
|
|
+ .addComponent(lblR)
|
|
.addPreferredGap(ComponentPlacement.RELATED)
|
|
.addPreferredGap(ComponentPlacement.RELATED)
|
|
.addGroup(gl_panel.createParallelGroup(Alignment.LEADING, false)
|
|
.addGroup(gl_panel.createParallelGroup(Alignment.LEADING, false)
|
|
- .addComponent(showObjectlbl, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
|
|
- .addComponent(showPropertylbl, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
|
|
- .addComponent(graphNrTxtField)
|
|
|
|
- .addComponent(colorComboBox, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
|
|
|
|
+ .addComponent(colorPanel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
|
|
+ .addComponent(redField, GroupLayout.DEFAULT_SIZE, 37, Short.MAX_VALUE))))
|
|
|
|
+ .addPreferredGap(ComponentPlacement.RELATED)
|
|
|
|
+ .addGroup(gl_panel.createParallelGroup(Alignment.LEADING, false)
|
|
|
|
+ .addComponent(showObjectlbl, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
|
|
+ .addComponent(showPropertylbl, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
|
|
+ .addComponent(colorComboBox, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
|
|
+ .addGroup(gl_panel.createSequentialGroup()
|
|
|
|
+ .addGroup(gl_panel.createParallelGroup(Alignment.TRAILING)
|
|
|
|
+ .addComponent(btnAdd)
|
|
.addGroup(gl_panel.createSequentialGroup()
|
|
.addGroup(gl_panel.createSequentialGroup()
|
|
- .addComponent(lblB)
|
|
|
|
- .addPreferredGap(ComponentPlacement.RELATED)
|
|
|
|
- .addComponent(blueField, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE)
|
|
|
|
- .addPreferredGap(ComponentPlacement.RELATED)
|
|
|
|
.addComponent(lblG)
|
|
.addComponent(lblG)
|
|
.addPreferredGap(ComponentPlacement.RELATED)
|
|
.addPreferredGap(ComponentPlacement.RELATED)
|
|
- .addComponent(greenField, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE))))
|
|
|
|
- .addComponent(colorPanel, Alignment.TRAILING, GroupLayout.PREFERRED_SIZE, 150, GroupLayout.PREFERRED_SIZE)))
|
|
|
|
- .addGroup(gl_panel.createSequentialGroup()
|
|
|
|
- .addGap(67)
|
|
|
|
- .addComponent(btnAdd)))
|
|
|
|
|
|
+ .addComponent(greenField, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE)))
|
|
|
|
+ .addPreferredGap(ComponentPlacement.RELATED)
|
|
|
|
+ .addComponent(lblB)
|
|
|
|
+ .addPreferredGap(ComponentPlacement.RELATED)
|
|
|
|
+ .addComponent(blueField, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE))
|
|
|
|
+ .addComponent(graphNrTxtField))))
|
|
.addContainerGap())
|
|
.addContainerGap())
|
|
);
|
|
);
|
|
gl_panel.setVerticalGroup(
|
|
gl_panel.setVerticalGroup(
|
|
@@ -144,15 +151,15 @@ public class splitPane extends JSplitPane implements GraphListener {
|
|
.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
|
|
.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
|
|
.addComponent(lblR)
|
|
.addComponent(lblR)
|
|
.addComponent(redField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(redField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
|
|
- .addComponent(lblB)
|
|
|
|
- .addComponent(blueField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
|
|
|
|
.addComponent(lblG)
|
|
.addComponent(lblG)
|
|
- .addComponent(greenField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
|
|
|
|
- .addPreferredGap(ComponentPlacement.UNRELATED)
|
|
|
|
|
|
+ .addComponent(greenField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
|
|
|
|
+ .addComponent(lblB)
|
|
|
|
+ .addComponent(blueField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
|
|
|
|
+ .addPreferredGap(ComponentPlacement.RELATED)
|
|
.addComponent(colorPanel, GroupLayout.PREFERRED_SIZE, 33, GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(colorPanel, GroupLayout.PREFERRED_SIZE, 33, GroupLayout.PREFERRED_SIZE)
|
|
- .addPreferredGap(ComponentPlacement.RELATED, 53, Short.MAX_VALUE)
|
|
|
|
|
|
+ .addPreferredGap(ComponentPlacement.RELATED, 30, Short.MAX_VALUE)
|
|
.addComponent(btnAdd)
|
|
.addComponent(btnAdd)
|
|
- .addGap(34))
|
|
|
|
|
|
+ .addContainerGap())
|
|
);
|
|
);
|
|
|
|
|
|
objectTree = new JTree();
|
|
objectTree = new JTree();
|
|
@@ -198,8 +205,18 @@ public class splitPane extends JSplitPane implements GraphListener {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(selectedNode.getLevel() == 3){
|
|
if(selectedNode.getLevel() == 3){
|
|
- showObjectlbl.setText(((DefaultMutableTreeNode)selectedNode.getParent()).toString());
|
|
|
|
- showPropertylbl.setText(selectedNode.toString());
|
|
|
|
|
|
+ String object = ((DefaultMutableTreeNode)selectedNode.getParent()).toString();
|
|
|
|
+ String property = selectedNode.toString();
|
|
|
|
+ int r = objectHashtable.get(object).get(property).getColor().getRed();
|
|
|
|
+ redField.setText(Integer.toString(r));
|
|
|
|
+ int g = objectHashtable.get(object).get(property).getColor().getGreen();
|
|
|
|
+ greenField.setText(Integer.toString(g));
|
|
|
|
+ int b = objectHashtable.get(object).get(property).getColor().getBlue();
|
|
|
|
+ blueField.setText(Integer.toString(b));
|
|
|
|
+
|
|
|
|
+ showObjectlbl.setText(object);
|
|
|
|
+ showPropertylbl.setText(property);
|
|
|
|
+ graphNrTxtField.setText(objectHashtable.get(object).get(property).getAssignedGraph());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -220,10 +237,16 @@ public class splitPane extends JSplitPane implements GraphListener {
|
|
if(hlList.size() > 0 && hlList != null){
|
|
if(hlList.size() > 0 && hlList != null){
|
|
objectsNode.removeAllChildren();
|
|
objectsNode.removeAllChildren();
|
|
for(HolonObject hO : hlList){
|
|
for(HolonObject hO : hlList){
|
|
- DefaultMutableTreeNode tmp = new DefaultMutableTreeNode(hO.getName() + " " + hO.getID());
|
|
|
|
|
|
+ Hashtable<String, PropertyDataSet> tmpHash = new Hashtable<String, PropertyDataSet>();
|
|
|
|
+ String name = hO.getName() + " " + hO.getID();
|
|
|
|
+ DefaultMutableTreeNode tmp = new DefaultMutableTreeNode(name);
|
|
tmp.add(new DefaultMutableTreeNode("total Production"));
|
|
tmp.add(new DefaultMutableTreeNode("total Production"));
|
|
tmp.add(new DefaultMutableTreeNode("total Consumption"));
|
|
tmp.add(new DefaultMutableTreeNode("total Consumption"));
|
|
tmp.add(new DefaultMutableTreeNode("number of activated Elements"));
|
|
tmp.add(new DefaultMutableTreeNode("number of activated Elements"));
|
|
|
|
+ tmpHash.put("total Production", new PropertyDataSet());
|
|
|
|
+ tmpHash.put("total Consumption", new PropertyDataSet());
|
|
|
|
+ tmpHash.put("number of activated Elements", new PropertyDataSet());
|
|
|
|
+ objectHashtable.put(name, tmpHash);
|
|
objectsNode.add(tmp);
|
|
objectsNode.add(tmp);
|
|
}
|
|
}
|
|
}else{
|
|
}else{
|