summaryrefslogtreecommitdiff
path: root/source/com/c2kernel/graph/view/VertexPropertyPanel.java
diff options
context:
space:
mode:
authorabranson <andrew.branson@cern.ch>2011-08-04 00:42:34 +0200
committerabranson <andrew.branson@cern.ch>2011-08-04 00:42:34 +0200
commit0ec8481c10cd8277d84c7c1a785483a0a739e5a0 (patch)
tree5f6e5d9ae75193e67e6f3b3dfa488960c5cde1d5 /source/com/c2kernel/graph/view/VertexPropertyPanel.java
parent036cbdba66f804743c4c838ed598d6972c4b3e17 (diff)
More code cleanup:
Refactored Entity Proxy Subscription to handle generics better Rewrote RemoteMap to use TreeMap instead of the internal array for order. It now sorts its keys by number if they parse, else as strings. Removed a no-longer-in-progress outcome form class
Diffstat (limited to 'source/com/c2kernel/graph/view/VertexPropertyPanel.java')
-rw-r--r--source/com/c2kernel/graph/view/VertexPropertyPanel.java64
1 files changed, 39 insertions, 25 deletions
diff --git a/source/com/c2kernel/graph/view/VertexPropertyPanel.java b/source/com/c2kernel/graph/view/VertexPropertyPanel.java
index dd5fbd2..2cc03c2 100644
--- a/source/com/c2kernel/graph/view/VertexPropertyPanel.java
+++ b/source/com/c2kernel/graph/view/VertexPropertyPanel.java
@@ -10,13 +10,24 @@ import java.util.HashMap;
import java.util.Observable;
import java.util.Observer;
-import javax.swing.*;
+import javax.swing.Box;
+import javax.swing.JButton;
+import javax.swing.JComboBox;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextField;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import com.c2kernel.graph.event.EntireModelChangedEvent;
import com.c2kernel.graph.event.SelectionChangedEvent;
-import com.c2kernel.graph.model.*;
+import com.c2kernel.graph.model.DirectedEdge;
+import com.c2kernel.graph.model.GraphModelManager;
+import com.c2kernel.graph.model.GraphableEdge;
+import com.c2kernel.graph.model.GraphableVertex;
+import com.c2kernel.graph.model.Vertex;
import com.c2kernel.gui.tabs.EntityTabPane;
import com.c2kernel.utils.Language;
import com.c2kernel.utils.Logger;
@@ -47,7 +58,7 @@ public class VertexPropertyPanel extends JPanel implements Observer, TableModelL
String[] typeOptions = { "String", "Boolean", "Integer", "Float" };
String[] typeInitVal = { "", "false", "0", "0.0"};
SelectedVertexPanel mSelPanel;
-
+
public VertexPropertyPanel() {
super();
setLayout(gridbag);
@@ -60,7 +71,8 @@ public class VertexPropertyPanel extends JPanel implements Observer, TableModelL
*
*/
- public void update(Observable o, Object arg) {
+ @Override
+ public void update(Observable o, Object arg) {
Vertex[] selectedVertices = null;
DirectedEdge selectedEdge = null;
// If the selection has changed
@@ -87,14 +99,15 @@ public class VertexPropertyPanel extends JPanel implements Observer, TableModelL
clear();
}
}
-
- public void tableChanged(TableModelEvent e) {
+
+ @Override
+ public void tableChanged(TableModelEvent e) {
if (mGraphModelManager!=null)
mGraphModelManager.forceNotify();
}
-
+
public void setVertex(Vertex vert) {
if (vert.getName().equals("domain"))
selObjName.setText("Domain Workflow");
@@ -109,7 +122,7 @@ public class VertexPropertyPanel extends JPanel implements Observer, TableModelL
delPropButton.setEnabled(isEditable);
}
}
-
+
public void setEdge(DirectedEdge edge) {
selObjName.setText(edge.getName());
String className = edge.getClass().getName();
@@ -121,7 +134,7 @@ public class VertexPropertyPanel extends JPanel implements Observer, TableModelL
}
if (mSelPanel != null) mSelPanel.clear();
}
-
+
public void clear() {
selObjName.setText("");
selObjClass.setText("Nothing Selected");
@@ -130,7 +143,7 @@ public class VertexPropertyPanel extends JPanel implements Observer, TableModelL
addPropButton.setEnabled(false);
delPropButton.setEnabled(false);
}
-
+
/**
* @param isEditable The isEditable to set.
*/
@@ -139,12 +152,12 @@ public class VertexPropertyPanel extends JPanel implements Observer, TableModelL
isEditable = editable;
newPropBox.setVisible(editable);
}
-
+
public void setGraphModelManager(GraphModelManager manager) {
mGraphModelManager = manager;
manager.addObserver(this);
}
-
+
public void createLayout(SelectedVertexPanel selPanel)
{
GridBagConstraints c = new GridBagConstraints();
@@ -155,30 +168,30 @@ public class VertexPropertyPanel extends JPanel implements Observer, TableModelL
c.anchor = GridBagConstraints.NORTHWEST;
c.ipadx = 5;
c.ipady = 5;
-
+
selObjName = new JLabel();
selObjName.setFont(EntityTabPane.titleFont);
gridbag.setConstraints(selObjName, c);
- add(selObjName);
-
+ add(selObjName);
+
c.gridy++;
selObjClass = new JLabel();
gridbag.setConstraints(selObjClass, c);
add(selObjClass);
-
+
c.gridy++;
JLabel title = new JLabel("Properties");
title.setFont(EntityTabPane.titleFont);
gridbag.setConstraints(title, c);
- add(title);
-
+ add(title);
+
c.gridy++;
c.fill = GridBagConstraints.BOTH;
c.weighty = 2;
JScrollPane scroll = new JScrollPane(mPropertyTable);
gridbag.setConstraints(scroll, c);
add(scroll);
-
+
newPropBox = Box.createHorizontalBox();
newPropBox.add(new JLabel(Language.translate("New :")));
newPropBox.add(Box.createHorizontalGlue());
@@ -195,13 +208,13 @@ public class VertexPropertyPanel extends JPanel implements Observer, TableModelL
delPropButton.addActionListener(this);
newPropBox.add(addPropButton);
newPropBox.add(delPropButton);
-
+
c.gridy++;
c.weighty=0;
c.fill= GridBagConstraints.HORIZONTAL;
gridbag.setConstraints(newPropBox, c);
add(newPropBox);
-
+
if (selPanel != null) {
c.gridy++;
mSelPanel = selPanel;
@@ -209,8 +222,9 @@ public class VertexPropertyPanel extends JPanel implements Observer, TableModelL
add(mSelPanel);
}
}
-
- public void actionPerformed(ActionEvent e) {
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
if (e.getSource() == addPropButton) {
if (newPropName.getText().length() < 1) {
JOptionPane.showMessageDialog(this, "Enter a name for the new property", "Cannot add property", JOptionPane.ERROR_MESSAGE);
@@ -225,8 +239,8 @@ public class VertexPropertyPanel extends JPanel implements Observer, TableModelL
try {
Class<?> newPropClass = Class.forName("java.lang."+typeOptions[newPropType.getSelectedIndex()]);
- Class[] params = {String.class};
- Constructor init = newPropClass.getConstructor(params);
+ Class<?>[] params = {String.class};
+ Constructor<?> init = newPropClass.getConstructor(params);
Object[] initParams = { typeInitVal[newPropType.getSelectedIndex()] };
mPropertyModel.addProperty(newPropName.getText(), init.newInstance(initParams));
} catch (Exception ex) {