summaryrefslogtreecommitdiff
path: root/source/com/c2kernel/graph/view/VertexPropertyPanel.java
diff options
context:
space:
mode:
Diffstat (limited to 'source/com/c2kernel/graph/view/VertexPropertyPanel.java')
-rw-r--r--source/com/c2kernel/graph/view/VertexPropertyPanel.java259
1 files changed, 0 insertions, 259 deletions
diff --git a/source/com/c2kernel/graph/view/VertexPropertyPanel.java b/source/com/c2kernel/graph/view/VertexPropertyPanel.java
deleted file mode 100644
index 4e3e711..0000000
--- a/source/com/c2kernel/graph/view/VertexPropertyPanel.java
+++ /dev/null
@@ -1,259 +0,0 @@
-package com.c2kernel.graph.view;
-
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.Insets;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.lang.reflect.Constructor;
-import java.util.HashMap;
-import java.util.Observable;
-import java.util.Observer;
-
-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.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;
-
-/**************************************************************************
- *
- * $Revision: 1.4 $
- * $Date: 2005/09/09 12:19:28 $
- *
- * Copyright (C) 2003 CERN - European Organization for Nuclear Research
- * All rights reserved.
- **************************************************************************/
-
-public class VertexPropertyPanel extends JPanel implements Observer, TableModelListener, ActionListener {
-
- private final PropertyTableModel mPropertyModel;
- private final PropertyTable mPropertyTable;
- private GraphModelManager mGraphModelManager;
- private boolean isEditable = false;
- GridBagLayout gridbag = new GridBagLayout();
- protected JLabel selObjName;
- protected JLabel selObjClass;
- JButton addPropButton;
- JButton delPropButton;
- Box newPropBox;
- private JTextField newPropName;
- private JComboBox newPropType;
- String[] typeOptions = { "String", "Boolean", "Integer", "Float" };
- String[] typeInitVal = { "", "false", "0", "0.0"};
- SelectedVertexPanel mSelPanel;
-
- public VertexPropertyPanel() {
- super();
- setLayout(gridbag);
- mPropertyModel = new PropertyTableModel();
- mPropertyModel.addTableModelListener(this);
- mPropertyTable = new PropertyTable(mPropertyModel);
- }
-
- /**
- *
- */
-
- @Override
- public void update(Observable o, Object arg) {
- Vertex[] selectedVertices = null;
- DirectedEdge selectedEdge = null;
- // If the selection has changed
- if (arg instanceof SelectionChangedEvent)
- {
- SelectionChangedEvent event = (SelectionChangedEvent) arg;
- selectedVertices = event.mSelection.mVertices;
- if (selectedVertices != null)
- {
- if (selectedVertices.length == 1)
- {
- setVertex(selectedVertices[0]);
- return;
- }
- }
- selectedEdge = event.mSelection.mEdge;
- if (selectedEdge != null)
- {
- setEdge(selectedEdge);
- return;
- }
- }
- if (arg instanceof SelectionChangedEvent || arg instanceof EntireModelChangedEvent){
- clear();
- }
- }
-
-
- @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");
- else
- selObjName.setText(vert.getName());
- String className = vert.getClass().getName();
- selObjClass.setText(className.substring(className.lastIndexOf('.')+1));
- if (mSelPanel != null) mSelPanel.select(vert);
- if (vert instanceof GraphableVertex) {
- mPropertyModel.setMap(((GraphableVertex)vert).getProperties());
- addPropButton.setEnabled(isEditable);
- delPropButton.setEnabled(isEditable);
- }
- }
-
- public void setEdge(DirectedEdge edge) {
- selObjName.setText(edge.getName());
- String className = edge.getClass().getName();
- selObjClass.setText(className.substring(className.lastIndexOf('.')+1));
- if (edge instanceof GraphableEdge) {
- mPropertyModel.setMap(((GraphableEdge)edge).getProperties());
- addPropButton.setEnabled(isEditable);
- delPropButton.setEnabled(isEditable);
- }
- if (mSelPanel != null) mSelPanel.clear();
- }
-
- public void clear() {
- selObjName.setText("");
- selObjClass.setText("Nothing Selected");
- mPropertyModel.setMap(new HashMap<String, Object>());
- if (mSelPanel != null) mSelPanel.clear();
- addPropButton.setEnabled(false);
- delPropButton.setEnabled(false);
- }
-
- /**
- * @param isEditable The isEditable to set.
- */
- public void setEditable(boolean editable) {
- mPropertyModel.setEditable(editable);
- isEditable = editable;
- newPropBox.setVisible(editable);
- }
-
- public void setGraphModelManager(GraphModelManager manager) {
- mGraphModelManager = manager;
- manager.addObserver(this);
- }
-
- public void createLayout(SelectedVertexPanel selPanel)
- {
- GridBagConstraints c = new GridBagConstraints();
- c.gridx = 0;
- c.gridy = 0;
- c.weightx = 1;
- c.weighty = 0;
- c.anchor = GridBagConstraints.NORTHWEST;
- c.ipadx = 5;
- c.ipady = 5;
-
- selObjName = new JLabel();
- selObjName.setFont(EntityTabPane.titleFont);
- gridbag.setConstraints(selObjName, c);
- 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);
-
- 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());
- newPropName = new JTextField(15);
- newPropBox.add(newPropName);
- newPropType = new JComboBox(typeOptions);
- newPropBox.add(newPropType);
- newPropBox.add(Box.createHorizontalStrut(1));
- addPropButton = new JButton("Add");
- addPropButton.setMargin(new Insets(0, 0, 0, 0));
- delPropButton = new JButton("Del");
- delPropButton.setMargin(new Insets(0, 0, 0, 0));
- addPropButton.addActionListener(this);
- 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;
- gridbag.setConstraints(mSelPanel, c);
- add(mSelPanel);
- }
- }
-
- @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);
- return;
- }
- if (mPropertyModel.sourceMap.containsKey(newPropName.getText())) {
- JOptionPane.showMessageDialog(this, "Property '"+newPropName.getText()+"' already exists.", "Cannot add property", JOptionPane.ERROR_MESSAGE);
- return;
- }
- if (mPropertyTable.getCellEditor() != null)
- mPropertyTable.getCellEditor().stopCellEditing();
-
- try {
- Class<?> newPropClass = Class.forName("java.lang."+typeOptions[newPropType.getSelectedIndex()]);
- Class<?>[] params = {String.class};
- Constructor<?> init = newPropClass.getConstructor(params);
- Object[] initParams = { typeInitVal[newPropType.getSelectedIndex()] };
- mPropertyModel.addProperty(newPropName.getText(), init.newInstance(initParams));
- } catch (Exception ex) {
- Logger.exceptionDialog(ex);
- }
- }
- else if (e.getSource() == delPropButton) {
- int selrow = mPropertyTable.getSelectedRow();
- if (selrow == -1) {
- JOptionPane.showMessageDialog(this, "Select a property to remove", "Cannot delete property", JOptionPane.ERROR_MESSAGE);
- return;
- }
- mPropertyModel.delProperty(mPropertyModel.sortedNameList.get(selrow));
- }
- }
-}