summaryrefslogtreecommitdiff
path: root/source/com/c2kernel/graph/view
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
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')
-rw-r--r--[-rwxr-xr-x]source/com/c2kernel/graph/view/DefaultDirectedEdgeRenderer.java6
-rw-r--r--[-rwxr-xr-x]source/com/c2kernel/graph/view/DefaultVertexRenderer.java3
-rw-r--r--[-rwxr-xr-x]source/com/c2kernel/graph/view/EditorPanel.java6
-rw-r--r--source/com/c2kernel/graph/view/EditorToolBar.java30
-rw-r--r--[-rwxr-xr-x]source/com/c2kernel/graph/view/GraphPanel.java16
-rw-r--r--[-rwxr-xr-x]source/com/c2kernel/graph/view/PropertyTable.java20
-rw-r--r--source/com/c2kernel/graph/view/PropertyTableModel.java46
-rw-r--r--[-rwxr-xr-x]source/com/c2kernel/graph/view/SelectedVertexPanel.java4
-rw-r--r--source/com/c2kernel/graph/view/VertexPropertyPanel.java64
9 files changed, 117 insertions, 78 deletions
diff --git a/source/com/c2kernel/graph/view/DefaultDirectedEdgeRenderer.java b/source/com/c2kernel/graph/view/DefaultDirectedEdgeRenderer.java
index b8c4081..2882141 100755..100644
--- a/source/com/c2kernel/graph/view/DefaultDirectedEdgeRenderer.java
+++ b/source/com/c2kernel/graph/view/DefaultDirectedEdgeRenderer.java
@@ -26,7 +26,8 @@ public class DefaultDirectedEdgeRenderer implements DirectedEdgeRenderer
}
- public void draw(Graphics2D g2d, DirectedEdge directedEdge)
+ @Override
+ public void draw(Graphics2D g2d, DirectedEdge directedEdge)
{
GraphPoint originPoint = directedEdge.getOriginPoint();
GraphPoint terminusPoint = directedEdge.getTerminusPoint();
@@ -49,10 +50,9 @@ public class DefaultDirectedEdgeRenderer implements DirectedEdgeRenderer
}
- private double calcArrowAngle(int originX, int originY, int terminusX, int terminusY) {
+ private static double calcArrowAngle(int originX, int originY, int terminusX, int terminusY) {
double width = terminusX - originX;
double height = terminusY - originY;
- double theta = 0;
if((width == 0) && (height > 0)) return Math.PI;
diff --git a/source/com/c2kernel/graph/view/DefaultVertexRenderer.java b/source/com/c2kernel/graph/view/DefaultVertexRenderer.java
index 6f57185..e9b92d0 100755..100644
--- a/source/com/c2kernel/graph/view/DefaultVertexRenderer.java
+++ b/source/com/c2kernel/graph/view/DefaultVertexRenderer.java
@@ -24,7 +24,8 @@ public class DefaultVertexRenderer implements VertexRenderer
}
- public void draw(Graphics2D g2d, Vertex vertex)
+ @Override
+ public void draw(Graphics2D g2d, Vertex vertex)
{
GraphPoint[] outlinePoints = vertex.getOutlinePoints();
GraphPoint centrePoint = vertex.getCentrePoint();
diff --git a/source/com/c2kernel/graph/view/EditorPanel.java b/source/com/c2kernel/graph/view/EditorPanel.java
index 78fb5c9..fb25b68 100755..100644
--- a/source/com/c2kernel/graph/view/EditorPanel.java
+++ b/source/com/c2kernel/graph/view/EditorPanel.java
@@ -10,7 +10,11 @@ import com.c2kernel.graph.controller.AutoScrollController;
import com.c2kernel.graph.controller.EdgeConstructionController;
import com.c2kernel.graph.controller.MultiSelectionDragController;
import com.c2kernel.graph.controller.VertexConstructionController;
-import com.c2kernel.graph.model.*;
+import com.c2kernel.graph.model.EdgeFactory;
+import com.c2kernel.graph.model.GraphModelManager;
+import com.c2kernel.graph.model.TypeNameAndConstructionInfo;
+import com.c2kernel.graph.model.VertexFactory;
+import com.c2kernel.graph.model.VertexOutlineCreator;
public class EditorPanel extends JPanel
{
// Graph Model
diff --git a/source/com/c2kernel/graph/view/EditorToolBar.java b/source/com/c2kernel/graph/view/EditorToolBar.java
index e01056f..cc7ab41 100644
--- a/source/com/c2kernel/graph/view/EditorToolBar.java
+++ b/source/com/c2kernel/graph/view/EditorToolBar.java
@@ -50,6 +50,7 @@ public class EditorToolBar extends Box implements Printable
{
mModeId = modeId;
}
+ @Override
public void actionPerformed(ActionEvent ae)
{
notifyListeners(mModeId);
@@ -185,6 +186,7 @@ public class EditorToolBar extends Box implements Printable
// user select a vertex type from the vertex type box
mVertexTypeBox.addActionListener(new ActionListener()
{
+ @Override
public void actionPerformed(ActionEvent ae)
{
mVertexModeButton.setSelected(true);
@@ -195,6 +197,7 @@ public class EditorToolBar extends Box implements Printable
// user select an edge type from the edge type box
mEdgeTypeBox.addActionListener(new ActionListener()
{
+ @Override
public void actionPerformed(ActionEvent ae)
{
mEdgeModeButton.setSelected(true);
@@ -203,6 +206,7 @@ public class EditorToolBar extends Box implements Printable
});
mPrintButton.addActionListener(new ActionListener()
{
+ @Override
public void actionPerformed(ActionEvent ae)
{
PrinterJob _monJob = PrinterJob.getPrinterJob();
@@ -222,10 +226,11 @@ public class EditorToolBar extends Box implements Printable
Class.forName("java.awt.datatransfer.DataFlavor").getDeclaredField("imageFlavor");
mCopyButton.addActionListener(new ActionListener()
{
- public void actionPerformed(ActionEvent ae)
+ @Override
+ public void actionPerformed(ActionEvent ae)
{
try
- {
+ {
Image i = createImage(mGraphPanel.getWidth(),mGraphPanel.getHeight());
Graphics g = i.getGraphics();
mGraphPanel.paintComponent(g);
@@ -242,7 +247,7 @@ public class EditorToolBar extends Box implements Printable
mCopyButton.setEnabled(false);
}
}
-
+
protected class ImageTransferable implements Transferable, ClipboardOwner {
Image image;
int width,height;
@@ -255,19 +260,22 @@ public class EditorToolBar extends Box implements Printable
javaImg = new DataFlavor("image/x-java-image; class=java.awt.Image", "AWT Image");
} catch (Exception ex){ }
}
- public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException {
+ @Override
+ public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException {
if (!isDataFlavorSupported(flavor) || image == null) {
throw new UnsupportedFlavorException(flavor);
}
return image;
}
- public boolean isDataFlavorSupported(DataFlavor flavor) {
+ @Override
+ public boolean isDataFlavorSupported(DataFlavor flavor) {
boolean result = in(flavor, getTransferDataFlavors());
return result;
}
-
- public DataFlavor[] getTransferDataFlavors() {
+
+ @Override
+ public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[] { javaImg };
}
protected boolean in(DataFlavor flavor, DataFlavor[] flavors) {
@@ -277,18 +285,19 @@ public class EditorToolBar extends Box implements Printable
}
return f < flavors.length;
}
- public void lostOwnership(Clipboard clipboard, Transferable contents) {
+ @Override
+ public void lostOwnership(Clipboard clipboard, Transferable contents) {
image = null;
}
}
-
+
protected void notifyListeners(String newModeId)
{
int i = 0;
EditorModeListener listener = null;
for (i = 0; i < mListenerVector.size(); i++)
{
- listener = (EditorModeListener) mListenerVector.elementAt(i);
+ listener = mListenerVector.elementAt(i);
listener.editorModeChanged(newModeId);
}
}
@@ -318,6 +327,7 @@ public class EditorToolBar extends Box implements Printable
{
return this;
}
+ @Override
public int print(Graphics g, PageFormat pf, int i) throws PrinterException
{
if (i >= 1)
diff --git a/source/com/c2kernel/graph/view/GraphPanel.java b/source/com/c2kernel/graph/view/GraphPanel.java
index 9db481e..5edd070 100755..100644
--- a/source/com/c2kernel/graph/view/GraphPanel.java
+++ b/source/com/c2kernel/graph/view/GraphPanel.java
@@ -41,6 +41,7 @@ public class GraphPanel extends JPanel implements Observer
// is pressed on the graph panel
addMouseListener(new MouseAdapter()
{
+ @Override
public void mousePressed(MouseEvent me)
{
requestFocus();
@@ -51,6 +52,7 @@ public class GraphPanel extends JPanel implements Observer
{
mGraphModelManager = graphModelManager;
}
+ @Override
public void update(Observable o, Object arg)
{
if (arg instanceof GraphModelResizedEvent || arg instanceof EntireModelChangedEvent)
@@ -60,6 +62,7 @@ public class GraphPanel extends JPanel implements Observer
}
repaint();
}
+ @Override
public void paintComponent(Graphics g)
{
Graphics2D g2d = (Graphics2D) g;
@@ -111,7 +114,7 @@ public class GraphPanel extends JPanel implements Observer
drawVertexHighlight(g2d, selection.mVertices[i], 5);
}
// Draw the resize pads if there is one and only one vertex selected
- if (selection.mVertices.length == 1 &&
+ if (selection.mVertices.length == 1 &&
selection.mVertices[0] != mGraphModelManager.getModel().getContainingVertex())
{
vertexCentre = selection.mVertices[0].getCentrePoint();
@@ -189,7 +192,7 @@ public class GraphPanel extends JPanel implements Observer
outlinePoints[0].y);
}
// Draws the specifed line the specified distance away from the specified centre point
- private void drawShiftedLine(int dist, Graphics2D g2d, GraphPoint centrePoint, int x1, int y1, int x2, int y2)
+ private static void drawShiftedLine(int dist, Graphics2D g2d, GraphPoint centrePoint, int x1, int y1, int x2, int y2)
{
if (x1 > centrePoint.x)
x1 += dist;
@@ -225,6 +228,7 @@ public class GraphPanel extends JPanel implements Observer
g2d.drawLine(maxX, maxY, minX, maxY);
g2d.drawLine(minX, maxY, minX, minY);
}
+ @Override
public void printComponent(Graphics g)
{
super.paintComponent(g);
@@ -232,12 +236,6 @@ public class GraphPanel extends JPanel implements Observer
DirectedEdge[] edges = null;
Vertex[] vertices = null;
Vertex startVertex = null;
- Selection selection = null;
- ElasticBand elasticBand = null;
- Vertex newEdgeOriginVertex = null;
- GraphPoint newEdgeOriginPoint = null;
- Point newEdgeEndPoint = null;
- GraphPoint vertexCentre = null;
int i = 0;
g.setColor(Color.white);
g2d.fillRect(0,0,getWidth(),getHeight());
@@ -266,7 +264,7 @@ public class GraphPanel extends JPanel implements Observer
}
}
}
-
+
protected void superPaint(Graphics g)
{
super.paintComponent(g);
diff --git a/source/com/c2kernel/graph/view/PropertyTable.java b/source/com/c2kernel/graph/view/PropertyTable.java
index e067e68..c1257aa 100755..100644
--- a/source/com/c2kernel/graph/view/PropertyTable.java
+++ b/source/com/c2kernel/graph/view/PropertyTable.java
@@ -13,26 +13,28 @@ public class PropertyTable extends JTable
}
- public TableCellRenderer getCellRenderer(int row, int column) {
+ @Override
+ public TableCellRenderer getCellRenderer(int row, int column) {
+
-
return getDefaultRenderer(getCellClass(row, column));
}
- public TableCellEditor getCellEditor(int row, int column) {
-
+ @Override
+public TableCellEditor getCellEditor(int row, int column) {
+
return getDefaultEditor(getCellClass(row, column));
}
-
- private Class getCellClass(int row, int column) {
- Class cellClass = String.class;
-
+
+ private Class<?> getCellClass(int row, int column) {
+ Class<?> cellClass = String.class;
+
try {
cellClass = dataModel.getValueAt(row, column).getClass();
} catch (NullPointerException ex) { }
-
+
return cellClass;
}
}
diff --git a/source/com/c2kernel/graph/view/PropertyTableModel.java b/source/com/c2kernel/graph/view/PropertyTableModel.java
index 22ba4f3..b1e69b1 100644
--- a/source/com/c2kernel/graph/view/PropertyTableModel.java
+++ b/source/com/c2kernel/graph/view/PropertyTableModel.java
@@ -1,6 +1,9 @@
package com.c2kernel.graph.view;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
import javax.swing.JOptionPane;
import javax.swing.event.TableModelEvent;
@@ -23,26 +26,30 @@ public class PropertyTableModel extends AbstractTableModel {
HashMap<String, Object> sourceMap = new HashMap<String, Object>();
ArrayList<String> sortedNameList = new ArrayList<String>();
boolean isEditable = false;
-
+
public PropertyTableModel() {
super();
}
- public int getColumnCount()
+ @Override
+ public int getColumnCount()
{
return mColumnNames.length;
}
- public String getColumnName(int col)
+ @Override
+ public String getColumnName(int col)
{
return mColumnNames[col];
}
- public int getRowCount()
+ @Override
+ public int getRowCount()
{
synchronized (sourceMap) {
return sourceMap.size();
}
}
- public Object getValueAt(int rowIndex, int colIndex)
+ @Override
+ public Object getValueAt(int rowIndex, int colIndex)
{
synchronized (sourceMap) {
String rowName = sortedNameList.get(rowIndex);
@@ -52,18 +59,19 @@ public class PropertyTableModel extends AbstractTableModel {
return sourceMap.get(rowName);
}
}
-
- public void setValueAt(Object value, int rowIndex, int colIndex)
+
+ @Override
+ public void setValueAt(Object value, int rowIndex, int colIndex)
{
synchronized (sourceMap) {
if (colIndex == 0) return;
String rowName = sortedNameList.get(rowIndex);
- Class oldElement = sourceMap.get(rowName).getClass();
+ Class<? extends Object> oldElement = sourceMap.get(rowName).getClass();
if (oldElement == Float.class && value.getClass() == String.class)
try {
value = Float.valueOf((String)value);
} catch (Exception ex) { }
- if (value.getClass() != oldElement)
+ if (value.getClass() != oldElement)
JOptionPane.showMessageDialog(null, "This property should contain a "+oldElement.getName()+" not a "+value.getClass().getName(), "Incorrect datatype", JOptionPane.ERROR_MESSAGE);
else {
sourceMap.put(rowName, value);
@@ -71,24 +79,26 @@ public class PropertyTableModel extends AbstractTableModel {
}
}
}
-
+
public void setMap(HashMap<String, Object> props) {
synchronized (sourceMap) {
sourceMap = props;
sortedNameList = new ArrayList<String>(props.size());
- for (Iterator<String> keys = props.keySet().iterator(); keys.hasNext();)
- sortedNameList.add(keys.next());
-
+ for (String string : props.keySet())
+ sortedNameList.add(string);
+
Collections.sort(sortedNameList, new Comparator<String>() {
- public int compare(String o1, String o2) {
+ @Override
+ public int compare(String o1, String o2) {
return (o1.compareToIgnoreCase(o2));
}
});
}
fireTableChanged(new TableModelEvent(this));
}
-
- public boolean isCellEditable(int row, int col)
+
+ @Override
+ public boolean isCellEditable(int row, int col)
{
return col==1 && isEditable;
}
@@ -112,7 +122,7 @@ public class PropertyTableModel extends AbstractTableModel {
*/
public void addProperty(String text, Object object) {
sourceMap.put(text,object);
- setMap(sourceMap);
+ setMap(sourceMap);
}
/**
diff --git a/source/com/c2kernel/graph/view/SelectedVertexPanel.java b/source/com/c2kernel/graph/view/SelectedVertexPanel.java
index 18658dd..966f527 100755..100644
--- a/source/com/c2kernel/graph/view/SelectedVertexPanel.java
+++ b/source/com/c2kernel/graph/view/SelectedVertexPanel.java
@@ -16,12 +16,12 @@ import com.c2kernel.graph.model.Vertex;
public abstract class SelectedVertexPanel extends JPanel {
-
+
public SelectedVertexPanel() {
super();
}
public abstract void select(Vertex vert);
-
+
public abstract void clear();
}
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) {