From 6d8c74f97fe4289a984bdc6bd635c71653d5421c Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 26 Jun 2012 12:41:56 +0200 Subject: Refactored GUI into separate module --- .../c2kernel/graph/view/VertexPropertyPanel.java | 259 --------------------- 1 file changed, 259 deletions(-) delete mode 100644 src/main/java/com/c2kernel/graph/view/VertexPropertyPanel.java (limited to 'src/main/java/com/c2kernel/graph/view/VertexPropertyPanel.java') diff --git a/src/main/java/com/c2kernel/graph/view/VertexPropertyPanel.java b/src/main/java/com/c2kernel/graph/view/VertexPropertyPanel.java deleted file mode 100644 index 4e3e711..0000000 --- a/src/main/java/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()); - 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)); - } - } -} -- cgit v1.2.3