http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/f676ef35/ui/src/main/java/net/sf/taverna/t2/lang/ui/treetable/JTreeTable.java
----------------------------------------------------------------------
diff --git 
a/ui/src/main/java/net/sf/taverna/t2/lang/ui/treetable/JTreeTable.java 
b/ui/src/main/java/net/sf/taverna/t2/lang/ui/treetable/JTreeTable.java
deleted file mode 100644
index 85d3577..0000000
--- a/ui/src/main/java/net/sf/taverna/t2/lang/ui/treetable/JTreeTable.java
+++ /dev/null
@@ -1,657 +0,0 @@
-/*
- * @(#)JTreeTable.java 1.2 98/10/27
- *
- * Copyright 1997, 1998 by Sun Microsystems, Inc.,
- * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
- * All rights reserved.
- *
- * This software is the confidential and proprietary information
- * of Sun Microsystems, Inc. ("Confidential Information").  You
- * shall not disclose such Confidential Information and shall use
- * it only in accordance with the terms of the license agreement
- * you entered into with Sun.
- */
-package net.sf.taverna.t2.lang.ui.treetable;
-
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.Graphics;
-import java.awt.Insets;
-import java.awt.Point;
-import java.awt.Rectangle;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.EventObject;
-
-import javax.swing.DefaultCellEditor;
-import javax.swing.Icon;
-import javax.swing.JLabel;
-import javax.swing.JTable;
-import javax.swing.JTextField;
-import javax.swing.JTree;
-import javax.swing.ListSelectionModel;
-import javax.swing.LookAndFeel;
-import javax.swing.UIManager;
-import javax.swing.border.Border;
-import javax.swing.event.ListSelectionEvent;
-import javax.swing.event.ListSelectionListener;
-import javax.swing.table.DefaultTableCellRenderer;
-import javax.swing.table.TableCellRenderer;
-import javax.swing.tree.DefaultTreeCellRenderer;
-import javax.swing.tree.DefaultTreeSelectionModel;
-import javax.swing.tree.TreeCellRenderer;
-import javax.swing.tree.TreeModel;
-import javax.swing.tree.TreePath;
-import javax.swing.tree.TreeSelectionModel;
-
-/**
- * This example shows how to create a simple JTreeTable component, by using a
- * JTree as a renderer (and editor) for the cells in a particular column in the
- * JTable.
- * 
- * @version 1.2 10/27/98
- * 
- * @author Philip Milne
- * @author Scott Violet
- * @author Tom Oinn
- */
-@SuppressWarnings("serial")
-public class JTreeTable extends JTable {
-       /** A subclass of JTree. */
-       protected TreeTableCellRenderer tree;
-
-
-       private static SimpleDateFormat ISO_8601_FORMAT = new SimpleDateFormat(
-                       "yyyy-MM-dd HH:mm:ss");
-       private static SimpleDateFormat TIME_FORMAT = new SimpleDateFormat(
-                       "HH:mm:ss");
-
-       
-       public JTreeTable() {
-               super();
-       }
-
-       public JTreeTable(TreeTableModel treeTableModel) {
-               super();
-               setModel(treeTableModel);
-       }
-
-       public void setModel(TreeTableModel model) {
-               tree = new TreeTableCellRenderer(model);
-               super.setModel(new TreeTableModelAdapter(model, tree));
-               
-               ListToTreeSelectionModelWrapper selectionWrapper = new 
ListToTreeSelectionModelWrapper();
-               tree.setSelectionModel(selectionWrapper);
-               setSelectionModel(selectionWrapper.getListSelectionModel());
-               
-               // Install the tree editor renderer and editor.
-               setDefaultRenderer(TreeTableModel.class, tree);
-               setDefaultRenderer(Date.class, new DateCellRenderer());
-               setDefaultEditor(TreeTableModel.class, new 
TreeTableCellEditor());
-               
-               // Show grid but only if Look and Feel is not Java 6's Nimbus
-               if (!UIManager.getLookAndFeel().getName().equals("Nimbus")){
-                       setShowGrid(true);
-                       setGridColor(Color.LIGHT_GRAY);
-               }
-               else{
-                       setShowGrid(false);
-               }
-
-               // No intercell spacing
-               setIntercellSpacing(new Dimension(0, 0));
-
-               // Add a mouse listener to forward events on to the tree.
-               // We need this as on MAC only double clicks seem to expand the 
tree.
-               addMouseListener(new MouseAdapter() {
-                       public void mousePressed(MouseEvent e) {
-
-                               for (int counter = getColumnCount() - 1; 
counter >= 0; counter--) {
-                                       if (getColumnClass(counter) == 
TreeTableModel.class) {
-                                               MouseEvent me = (MouseEvent) e;
-                                               MouseEvent newME = new 
MouseEvent(tree, me.getID(), me
-                                                               .getWhen(), 
me.getModifiers(), me.getX()
-                                                               - 
getCellRect(0, counter, true).x, me.getY(),
-                                                               
me.getClickCount(), me.isPopupTrigger());
-                                               if (me.getClickCount() == 1) {
-                                                       
tree.dispatchEvent(newME);
-                                               }
-                                       }
-                                       else{
-                                               
-                                       }
-                               }
-                       }
-               });
-
-               // And update the height of the trees row to match that of
-               // the table.
-
-               if (tree.getRowHeight() < 1) {
-                       // Metal looks better like this.
-                       setRowHeight(18);
-               }
-
-       }
-
-       /**
-        * Overridden to message super and forward the method to the tree. 
Since the
-        * tree is not actually in the component hierarchy it will never 
receive this
-        * unless we forward it in this manner.
-        */
-       public void updateUI() {
-               super.updateUI();
-               if (tree != null) {
-                       tree.updateUI();
-               }
-               // Use the tree's default foreground and background colors in 
the
-               // table.
-               LookAndFeel.installColorsAndFont(this, "Tree.background",
-                               "Tree.foreground", "Tree.font");
-       }
-
-       /*
-        * Workaround for BasicTableUI anomaly. Make sure the UI never tries to
-        * paint the editor. The UI currently uses different techniques to 
paint the
-        * renderers and editors and overriding setBounds() below is not the 
right
-        * thing to do for an editor. Returning -1 for the editing row in this 
case,
-        * ensures the editor is never painted.
-        */
-       public int getEditingRow() {
-               return (getColumnClass(editingColumn) == TreeTableModel.class) 
? -1
-                               : editingRow;
-       }
-
-       /**
-        * Returns the actual row that is editing as <code>getEditingRow</code> 
will
-        * always return -1.
-        */
-       private int realEditingRow() {
-               return editingRow;
-       }
-
-       /**
-        * This is overridden to invoke super's implementation, and then, if the
-        * receiver is editing a Tree column, the editor's bounds is reset. The
-        * reason we have to do this is because JTable doesn't think the table 
is
-        * being edited, as <code>getEditingRow</code> returns -1, and therefore
-        * doesn't automatically resize the editor for us.
-        */
-       public void sizeColumnsToFit(int resizingColumn) {
-               super.sizeColumnsToFit(resizingColumn);
-               if (getEditingColumn() != -1
-                               && getColumnClass(editingColumn) == 
TreeTableModel.class) {
-                       Rectangle cellRect = getCellRect(realEditingRow(),
-                                       getEditingColumn(), false);
-                       Component component = getEditorComponent();
-                       component.setBounds(cellRect);
-                       component.validate();
-               }
-       }
-
-       /**
-        * Overridden to pass the new rowHeight to the tree.
-        */
-       public void setRowHeight(int rowHeight) {
-               super.setRowHeight(rowHeight);
-               if (tree != null && tree.getRowHeight() != rowHeight) {
-                       tree.setRowHeight(getRowHeight());
-               }
-       }
-
-       /**
-        * Returns the tree that is being shared between the model.
-        */
-       public JTree getTree() {
-               return tree;
-       }
-
-       /**
-        * Overridden to invoke repaint for the particular location if the 
column
-        * contains the tree. This is done as the tree editor does not fill the
-        * bounds of the cell, we need the renderer to paint the tree in the
-        * background, and then draw the editor over it.
-        */
-       public boolean editCellAt(int row, int column, EventObject e) {
-               boolean retValue = super.editCellAt(row, column, e);
-               if (retValue && getColumnClass(column) == TreeTableModel.class) 
{
-                       repaint(getCellRect(row, column, false));
-               }
-               return retValue;
-       }
-
-       /**
-        * A TreeCellRenderer that displays a JTree.
-        */
-       public class TreeTableCellRenderer extends JTree implements
-                       TableCellRenderer {
-               /** Last table/tree row asked to renderer. */
-               protected int visibleRow;
-               protected Border highlightBorder;
-
-               public TreeTableCellRenderer(TreeModel model) {
-                       super(model);
-               }
-
-               /**
-                * updateUI is overridden to set the colors of the Tree's 
renderer to
-                * match that of the table.
-                */
-               public void updateUI() {
-                       super.updateUI();
-                       // Make the tree's cell renderer use the table's cell 
selection
-                       // colors.
-                       TreeCellRenderer tcr = getCellRenderer();
-                       if (tcr instanceof DefaultTreeCellRenderer) {
-                               //DefaultTreeCellRenderer dtcr = 
((DefaultTreeCellRenderer) tcr);
-                               // For 1.1 uncomment this, 1.2 has a bug that 
will cause an
-                               // exception to be thrown if the border 
selection color is
-                               // null.
-                               // dtcr.setBorderSelectionColor(null);
-                               // dtcr.setTextSelectionColor(UIManager.getColor
-                               // ("Table.selectionForeground"));
-                               // 
dtcr.setBackgroundSelectionColor(UIManager.getColor
-                               // ("Table.selectionBackground"));
-                       }
-               }
-
-               /**
-                * Sets the row height of the tree, and forwards the row height 
to the
-                * table.
-                */
-               public void setRowHeight(int rowHeight) {
-                       if (rowHeight > 0) {
-                               super.setRowHeight(rowHeight);
-                               if (JTreeTable.this != null
-                                               && 
JTreeTable.this.getRowHeight() != rowHeight) {
-                                       
JTreeTable.this.setRowHeight(getRowHeight());
-                               }
-                       }
-               }
-
-               /**
-                * This is overridden to set the height to match that of the 
JTable.
-                */
-               public void setBounds(int x, int y, int w, int h) {
-                       super.setBounds(x, 0, w, JTreeTable.this.getHeight());
-               }
-
-               /**
-                * Subclassed to translate the graphics such that the last 
visible row
-                * will be drawn at 0,0.
-                */
-               public void paint(Graphics g) {
-                       g.translate(0, -visibleRow * getRowHeight());
-                       super.paint(g);
-                       // Draw the Table border if we have focus.
-                       if (highlightBorder != null) {
-                               highlightBorder.paintBorder(this, g, 0, 
visibleRow
-                                               * getRowHeight(), getWidth(), 
getRowHeight());
-                       }
-                       else{                   
-                               // Tree cell renderer get rid of the grid lines 
for some 
-                               // reason so we draw them here but only if Look 
and Feel
-                               // is different from Java 6's Nimbus LaF
-                               // as it completely ignores the grid lines
-                               if 
(!UIManager.getLookAndFeel().getName().equals("Nimbus")){
-                                       LinesBorder linesBorder = new 
LinesBorder(getGridColor(),
-                                                       new Insets(0, 0, 1, 1));
-                                       linesBorder
-                                       .paintBorder(this, g, 0, visibleRow * 
getRowHeight(),
-                                                       getWidth(), 
getRowHeight());
-                               }
-                       }
-               }
-
-               /**
-                * TreeCellRenderer method. Overridden to update the visible 
row.
-                */
-               public Component getTableCellRendererComponent(JTable table,
-                               Object value, boolean isSelected, boolean 
hasFocus, int row,
-                               int column) {
-                       Color background;
-                       Color foreground;
-
-                       if (isSelected) {
-                               background = table.getSelectionBackground();
-                               foreground = table.getSelectionForeground();
-                       } else {
-                               background = table.getBackground();
-                               foreground = table.getForeground();
-                       }
-                       highlightBorder = null;
-                       if (realEditingRow() == row && getEditingColumn() == 
column) {
-                               // background = 
UIManager.getColor("Table.focusCellBackground");
-                               // foreground = 
UIManager.getColor("Table.focusCellForeground");
-                       } else if (hasFocus) {          
-                               if (isSelected) {
-                                               highlightBorder = 
UIManager.getBorder("Table.focusSelectedCellHighlightBorder");
-                               }
-                               else{
-                                       highlightBorder = 
UIManager.getBorder("Table.focusCellHighlightBorder");
-                               }                               
-                               if (isCellEditable(row, column)) {
-                                       // background = UIManager.getColor
-                                       // ("Table.focusCellBackground");
-                                       background = 
table.getSelectionBackground();
-                                       foreground = 
table.getSelectionForeground();
-                               }
-                       }
-
-                       visibleRow = row;
-                       setBackground(background);
-
-                       TreeCellRenderer tcr = getCellRenderer();
-                       if (tcr instanceof DefaultTreeCellRenderer) {
-                               DefaultTreeCellRenderer dtcr = 
((DefaultTreeCellRenderer) tcr);
-                               if (isSelected) {
-                                       dtcr.setTextSelectionColor(foreground);
-                                       
dtcr.setBackgroundSelectionColor(background);
-                               } else {
-                                       
dtcr.setTextNonSelectionColor(foreground);
-                                       
dtcr.setBackgroundNonSelectionColor(background);
-                               }
-                       }               
-                       return this;
-               }
-
-       }
-
-       public static String formatDate(Date date) {
-               final Date midnight = new Date();
-               midnight.setHours(0);
-               midnight.setMinutes(0);
-               midnight.setSeconds(0);
-               SimpleDateFormat format;
-               if (date.before(midnight)) {
-                       // FULL DATE
-                       format = ISO_8601_FORMAT;
-               } else {
-                       format = TIME_FORMAT; 
-               }
-               final String formatted = format.format(date);
-               return formatted;
-       }
-       
-       /**
-        * A TreeCellRenderer that displays a date in a "yyyy-MM-dd HH:mm:ss"
-        * format.
-        */
-       public class DateCellRenderer extends DefaultTableCellRenderer {
-               /** Last table/tree row asked to renderer. */
-               protected int visibleRow;
-               protected Border highlightBorder;
-
-               public DateCellRenderer() {
-                       setOpaque(true);
-               }
-
-               public Component getTableCellRendererComponent(JTable table,
-                               Object value, boolean isSelected, boolean 
hasFocus, int row,
-                               int column) {
-                       super.getTableCellRendererComponent(table, value, 
isSelected, hasFocus, row, column);
-                       
-                       if (isSelected) {
-//                             
this.setBackground(table.getSelectionBackground());
-//                             
this.setForeground(table.getSelectionForeground());
-                       } else {
-                               /*this.setBackground(table.getBackground());
-                               this.setForeground(table.getForeground());*/
-                       }
-                       
-               
-                       //dtcr.setBorderSelectionColor(null);
-                       // dtcr.setTextSelectionColor(UIManager.getColor
-                       // ("Table.selectionForeground"));
-                       // dtcr.setBackgroundSelectionColor(UIManager.getColor
-                       // ("Table.selectionBackground"));
-                                       
-
-                       
-                       Date date = (Date) ((TreeTableModelAdapter) 
getModel()).getValueAt(
-                                       row, column);
-                       if (date != null) {                             
-                               setText(formatDate(date));
-                       } else {
-                               setText(null);
-                       }
-                       return this;
-               }
-
-       }
-
-       /**
-        * TreeTableCellEditor implementation. Component returned is the JTree.
-        */
-       public class TreeTableCellEditor extends DefaultCellEditor {
-               public TreeTableCellEditor() {
-                       super(new TreeTableTextField());
-               }
-
-               public Component getTableCellEditorComponent(JTable table,
-                               Object value, boolean isSelected, int r, int c) 
{
-                       Component component = 
super.getTableCellEditorComponent(table,
-                                       value, isSelected, r, c);
-                       JTree t = getTree();
-                       boolean rv = t.isRootVisible();
-                       int offsetRow = rv ? r : r - 1;
-                       Rectangle bounds = t.getRowBounds(offsetRow);
-                       int offset = bounds.x;
-                       TreeCellRenderer tcr = t.getCellRenderer();
-                       if (tcr instanceof DefaultTreeCellRenderer) {
-                               Object node = 
t.getPathForRow(offsetRow).getLastPathComponent();
-                               boolean isExpanded = 
t.isExpanded(t.getPathForRow(offsetRow));
-                               boolean isLeaf = t.getModel().isLeaf(node);
-                               Component renderer = 
tcr.getTreeCellRendererComponent(t, node,
-                                               true, isExpanded, isLeaf, 
offsetRow, true);
-                               Icon icon = ((JLabel) renderer).getIcon();
-                               // if (t.getModel().isLeaf(node))
-                               // icon = 
((DefaultTreeCellRenderer)tcr).getLeafIcon();
-                               // else if (tree.isExpanded(offsetRow))
-                               // icon = 
((DefaultTreeCellRenderer)tcr).getOpenIcon();
-                               // else
-                               // icon = 
((DefaultTreeCellRenderer)tcr).getClosedIcon();
-                               if (icon != null) {
-                                       offset += ((DefaultTreeCellRenderer) 
tcr).getIconTextGap()
-                                                       + icon.getIconWidth();
-                               }
-                       }
-                       ((TreeTableTextField) getComponent()).offset = offset;
-                       return component;
-               }
-
-               // /**
-               // * This is overridden to forward the event to the tree. This 
will
-               // return
-               // * true if the click count >= 3, or the event is null.
-               // */
-               // public boolean isCellEditable(EventObject e) {
-               // /**
-               // * if (e instanceof MouseEvent) { for (int counter =
-               // * getColumnCount() - 1; counter >= 0; counter--) { if
-               // * (getColumnClass(counter) == TreeTableModel.class) { 
MouseEvent me
-               // * = (MouseEvent)e; MouseEvent newME = new MouseEvent(tree,
-               // * me.getID(), me.getWhen(), me.getModifiers(), me.getX() -
-               // * getCellRect(0, counter, true).x, me.getY(), 
me.getClickCount(),
-               // * me.isPopupTrigger()); System.out.println(newME);
-               // * tree.dispatchEvent(newME); break; } } }
-               // */
-               // if (e instanceof MouseEvent) {
-               // MouseEvent me = (MouseEvent) e;
-               // if (me.getClickCount() >= 3) {
-               // return true;
-               // }
-               // }
-               // if (e == null) {
-               // return true;
-               // }
-               // return false;
-               // }
-
-               /**
-                * This is overridden to forward the event to the tree. This 
will return
-                * true if the click count >= 3, or the event is null.
-                */
-               public boolean isCellEditable(EventObject e) {
-                       // Edit on double click rather than the default triple
-                       if (e instanceof MouseEvent) {
-                               
-                               MouseEvent me = (MouseEvent) e;
-                               if (me.getClickCount() == 1
-                                               && 
System.getProperty("os.name").equals("Mac OS X")) {
-                                       // Workaround for buggy tree table on 
OS X. Open/close the
-                                       // path
-                                       // on any click on the column (not just 
on the > icon)
-                                       for (int counter = getColumnCount() - 
1; counter >= 0; counter--) {
-                                               if (getColumnClass(counter) == 
TreeTableModel.class) {
-                                                       MouseEvent newME = new 
MouseEvent(tree, me.getID(),
-                                                                       
me.getWhen(), me.getModifiers(), me.getX()
-                                                                               
        - getCellRect(0, counter, true).x,
-                                                                       
me.getY(), me.getClickCount(), me
-                                                                               
        .isPopupTrigger());
-                                                       
tree.dispatchEvent(newME);
-
-                                                       Point p = new 
Point(me.getX(), me.getY());
-                                                       int row = rowAtPoint(p);
-                                                       int column = 
columnAtPoint(p);
-                                                       if (column == 0) {
-                                                               boolean 
isExpanded = tree.isExpanded(tree
-                                                                               
.getPathForRow(row));
-                                                               if (isExpanded 
== false) {
-                                                                       
tree.expandPath(tree.getPathForRow(row));
-                                                               } else {
-                                                                       
tree.collapsePath(tree.getPathForRow(row));
-                                                               }
-                                                       }
-
-                                                       break;
-                                               }
-                                       }
-
-                               }
-                               /*
-                                * if (me.getClickCount() >= 3) { return true; }
-                                */// tree is no editable
-                       }
-                       if (e == null) {
-                               return true;
-                       }
-                       return false;
-               }
-
-       }
-
-       /**
-        * Component used by TreeTableCellEditor. The only thing this does is to
-        * override the <code>reshape</code> method, and to ALWAYS make the x
-        * location be <code>offset</code>.
-        */
-       public static class TreeTableTextField extends JTextField {
-               public int offset;
-
-               public void setBounds(int x, int y, int w, int h) {
-                       int newX = Math.max(x, offset);
-                       super.setBounds(newX, y, w - (newX - x), h);
-               }
-       }
-
-       /**
-        * ListToTreeSelectionModelWrapper extends DefaultTreeSelectionModel to
-        * listen for changes in the ListSelectionModel it maintains. Once a 
change
-        * in the ListSelectionModel happens, the paths are updated in the
-        * DefaultTreeSelectionModel.
-        */
-       class ListToTreeSelectionModelWrapper extends DefaultTreeSelectionModel 
{
-               /** Set to true when we are updating the ListSelectionModel. */
-               protected boolean updatingListSelectionModel;
-
-               public ListToTreeSelectionModelWrapper() {
-                       super();
-                       
setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
-                       getListSelectionModel().addListSelectionListener(
-                                       createListSelectionListener());
-               }
-
-               /**
-                * Returns the list selection model. 
ListToTreeSelectionModelWrapper
-                * listens for changes to this model and updates the selected 
paths
-                * accordingly.
-                */
-               ListSelectionModel getListSelectionModel() {
-                       return listSelectionModel;
-               }
-
-               /**
-                * This is overridden to set 
<code>updatingListSelectionModel</code> and
-                * message super. This is the only place 
DefaultTreeSelectionModel
-                * alters the ListSelectionModel.
-                */
-               public void resetRowSelection() {
-                       if (!updatingListSelectionModel) {
-                               updatingListSelectionModel = true;
-                               try {
-                                       super.resetRowSelection();
-                               } finally {
-                                       updatingListSelectionModel = false;
-                               }
-                       }
-                       // Notice how we don't message super if
-                       // updatingListSelectionModel is true. If
-                       // updatingListSelectionModel is true, it implies the
-                       // ListSelectionModel has already been updated and the
-                       // paths are the only thing that needs to be updated.
-               }
-
-               /**
-                * Creates and returns an instance of ListSelectionHandler.
-                */
-               protected ListSelectionListener createListSelectionListener() {
-                       return new ListSelectionHandler();
-               }
-
-               /**
-                * If <code>updatingListSelectionModel</code> is false, this 
will reset
-                * the selected paths from the selected rows in the list 
selection
-                * model.
-                */
-               protected void updateSelectedPathsFromSelectedRows() {
-                       if (!updatingListSelectionModel) {
-                               updatingListSelectionModel = true;
-                               try {
-                                       // This is way expensive, 
ListSelectionModel needs an
-                                       // enumerator for iterating.
-                                       int min = 
listSelectionModel.getMinSelectionIndex();
-                                       int max = 
listSelectionModel.getMaxSelectionIndex();
-
-                                       clearSelection();
-                                       if (min != -1 && max != -1) {
-                                               for (int counter = min; counter 
<= max; counter++) {
-                                                       if 
(listSelectionModel.isSelectedIndex(counter)) {
-                                                               TreePath 
selPath = tree.getPathForRow(counter);
-
-                                                               if (selPath != 
null) {
-                                                                       
addSelectionPath(selPath);
-                                                               }
-                                                       }
-                                               }
-                                       }
-                               } finally {
-                                       updatingListSelectionModel = false;
-                               }
-                       }
-               }
-
-               /**
-                * Class responsible for calling 
updateSelectedPathsFromSelectedRows
-                * when the selection of the list change.
-                */
-               class ListSelectionHandler implements ListSelectionListener {
-                       public void valueChanged(ListSelectionEvent e) {
-                               updateSelectedPathsFromSelectedRows();
-                       }
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/f676ef35/ui/src/main/java/net/sf/taverna/t2/lang/ui/treetable/LinesBorder.java
----------------------------------------------------------------------
diff --git 
a/ui/src/main/java/net/sf/taverna/t2/lang/ui/treetable/LinesBorder.java 
b/ui/src/main/java/net/sf/taverna/t2/lang/ui/treetable/LinesBorder.java
deleted file mode 100644
index 45ac3bb..0000000
--- a/ui/src/main/java/net/sf/taverna/t2/lang/ui/treetable/LinesBorder.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/**
- * Example from 
http://www.java2s.com/Code/Java/Swing-Components/CellBorderTableExample.htm
- */
-package net.sf.taverna.t2.lang.ui.treetable;
-
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.Graphics;
-import java.awt.Insets;
-
-import javax.swing.SwingConstants;
-import javax.swing.border.AbstractBorder;
-
-/**
- * 
- * Line border that lets you control the colour and thickness of all four 
edges. Needed to fix the tree cell
- * renderer in the JTreeTable that looked a bit 'naff' on Windows (i.e. 
Windows draws lines around table 
- * cells when default Look and Feel is in use and the tree cell renderer was 
not drawing lines.)
- *
- */
-@SuppressWarnings("serial")
-public class LinesBorder extends AbstractBorder implements SwingConstants {
-         protected int northThickness;
-
-         protected int southThickness;
-
-         protected int eastThickness;
-
-         protected int westThickness;
-
-         protected Color northColor;
-
-         protected Color southColor;
-
-         protected Color eastColor;
-
-         protected Color westColor;
-
-         public LinesBorder(Color color) {
-           this(color, 1);
-         }
-
-         public LinesBorder(Color color, int thickness) {
-           setColor(color);
-           setThickness(thickness);
-         }
-
-         public LinesBorder(Color color, Insets insets) {
-           setColor(color);
-           setThickness(insets);
-         }
-
-         public void paintBorder(Component c, Graphics g, int x, int y, int 
width,
-             int height) {
-           Color oldColor = g.getColor();
-
-           g.setColor(northColor);
-           for (int i = 0; i < northThickness; i++) {
-             g.drawLine(x, y + i, x + width - 1, y + i);
-           }
-           g.setColor(southColor);
-           for (int i = 0; i < southThickness; i++) {
-             g
-                 .drawLine(x, y + height - i - 1, x + width - 1, y + height
-                     - i - 1);
-           }
-           g.setColor(eastColor);
-           for (int i = 0; i < westThickness; i++) {
-             g.drawLine(x + i, y, x + i, y + height - 1);
-           }
-           g.setColor(westColor);
-           for (int i = 0; i < eastThickness; i++) {
-             g.drawLine(x + width - i - 1, y, x + width - i - 1, y + height - 
1);
-           }
-
-           g.setColor(oldColor);
-         }
-
-         public Insets getBorderInsets(Component c) {
-           return new Insets(northThickness, westThickness, southThickness,
-               eastThickness);
-         }
-
-         public Insets getBorderInsets(Component c, Insets insets) {
-           return new Insets(northThickness, westThickness, southThickness,
-               eastThickness);
-         }
-
-         public boolean isBorderOpaque() {
-           return true;
-         }
-
-         public void setColor(Color c) {
-           northColor = c;
-           southColor = c;
-           eastColor = c;
-           westColor = c;
-         }
-
-         public void setColor(Color c, int direction) {
-           switch (direction) {
-           case NORTH:
-             northColor = c;
-             break;
-           case SOUTH:
-             southColor = c;
-             break;
-           case EAST:
-             eastColor = c;
-             break;
-           case WEST:
-             westColor = c;
-             break;
-           default:
-           }
-         }
-
-         public void setThickness(int n) {
-           northThickness = n;
-           southThickness = n;
-           eastThickness = n;
-           westThickness = n;
-         }
-
-         public void setThickness(Insets insets) {
-           northThickness = insets.top;
-           southThickness = insets.bottom;
-           eastThickness = insets.right;
-           westThickness = insets.left;
-         }
-
-         public void setThickness(int n, int direction) {
-           switch (direction) {
-           case NORTH:
-             northThickness = n;
-             break;
-           case SOUTH:
-             southThickness = n;
-             break;
-           case EAST:
-             eastThickness = n;
-             break;
-           case WEST:
-             westThickness = n;
-             break;
-           default:
-           }
-         }
-
-         public void append(LinesBorder b, boolean isReplace) {
-           if (isReplace) {
-             northThickness = b.northThickness;
-             southThickness = b.southThickness;
-             eastThickness = b.eastThickness;
-             westThickness = b.westThickness;
-           } else {
-             northThickness = Math.max(northThickness, b.northThickness);
-             southThickness = Math.max(southThickness, b.southThickness);
-             eastThickness = Math.max(eastThickness, b.eastThickness);
-             westThickness = Math.max(westThickness, b.westThickness);
-           }
-         }
-
-         public void append(Insets insets, boolean isReplace) {
-           if (isReplace) {
-             northThickness = insets.top;
-             southThickness = insets.bottom;
-             eastThickness = insets.right;
-             westThickness = insets.left;
-           } else {
-             northThickness = Math.max(northThickness, insets.top);
-             southThickness = Math.max(southThickness, insets.bottom);
-             eastThickness = Math.max(eastThickness, insets.right);
-             westThickness = Math.max(westThickness, insets.left);
-           }
-         }
-
-       }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/f676ef35/ui/src/main/java/net/sf/taverna/t2/lang/ui/treetable/TreeTableModel.java
----------------------------------------------------------------------
diff --git 
a/ui/src/main/java/net/sf/taverna/t2/lang/ui/treetable/TreeTableModel.java 
b/ui/src/main/java/net/sf/taverna/t2/lang/ui/treetable/TreeTableModel.java
deleted file mode 100644
index 36fa4fe..0000000
--- a/ui/src/main/java/net/sf/taverna/t2/lang/ui/treetable/TreeTableModel.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * TreeTableModel.java
- *
- * Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.
- *
- * This software is the confidential and proprietary information of Sun
- * Microsystems, Inc. ("Confidential Information").  You shall not
- * disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into
- * with Sun.
- *
- * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
- * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
- * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
- * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
- * THIS SOFTWARE OR ITS DERIVATIVES.
- *
- */
-package net.sf.taverna.t2.lang.ui.treetable;
-
-import javax.swing.tree.TreeModel;
-
-/**
- * TreeTableModel is the model used by a JTreeTable. It extends TreeModel
- * to add methods for getting inforamtion about the set of columns each 
- * node in the TreeTableModel may have. Each column, like a column in 
- * a TableModel, has a name and a type associated with it. Each node in 
- * the TreeTableModel can return a value for each of the columns and 
- * set that value if isCellEditable() returns true. 
- *
- * @author Philip Milne 
- * @author Scott Violet
- */
-public interface TreeTableModel extends TreeModel
-{
-    /**
-     * Returns the number ofs availible column.
-     */
-    public int getColumnCount();
-
-    /**
-     * Returns the name for column number <code>column</code>.
-     */
-    public String getColumnName(int column);
-
-    /**
-     * Returns the type for column number <code>column</code>.
-     */
-    public Class getColumnClass(int column);
-
-    /**
-     * Returns the value to be displayed for node <code>node</code>, 
-     * at column number <code>column</code>.
-     */
-    public Object getValueAt(Object node, int column);
-
-    /**
-     * Indicates whether the the value for node <code>node</code>, 
-     * at column number <code>column</code> is editable.
-     */
-    public boolean isCellEditable(Object node, int column);
-
-    /**
-     * Sets the value for node <code>node</code>, 
-     * at column number <code>column</code>.
-     */
-    public void setValueAt(Object aValue, Object node, int column);
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/f676ef35/ui/src/main/java/net/sf/taverna/t2/lang/ui/treetable/TreeTableModelAdapter.java
----------------------------------------------------------------------
diff --git 
a/ui/src/main/java/net/sf/taverna/t2/lang/ui/treetable/TreeTableModelAdapter.java
 
b/ui/src/main/java/net/sf/taverna/t2/lang/ui/treetable/TreeTableModelAdapter.java
deleted file mode 100644
index a6cdd24..0000000
--- 
a/ui/src/main/java/net/sf/taverna/t2/lang/ui/treetable/TreeTableModelAdapter.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * @(#)TreeTableModelAdapter.java      1.2 98/10/27
- *
- * Copyright 1997, 1998 by Sun Microsystems, Inc.,
- * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
- * All rights reserved.
- *
- * This software is the confidential and proprietary information
- * of Sun Microsystems, Inc. ("Confidential Information").  You
- * shall not disclose such Confidential Information and shall use
- * it only in accordance with the terms of the license agreement
- * you entered into with Sun.
- */
-package net.sf.taverna.t2.lang.ui.treetable;
-
-import javax.swing.JTree;
-import javax.swing.SwingUtilities;
-import javax.swing.event.TreeExpansionEvent;
-import javax.swing.event.TreeExpansionListener;
-import javax.swing.event.TreeModelEvent;
-import javax.swing.event.TreeModelListener;
-import javax.swing.table.AbstractTableModel;
-import javax.swing.tree.TreePath;
-
-/**
- * This is a wrapper class takes a TreeTableModel and implements 
- * the table model interface. The implementation is trivial, with 
- * all of the event dispatching support provided by the superclass: 
- * the AbstractTableModel. 
- *
- * @version 1.2 10/27/98
- *
- * @author Philip Milne
- * @author Scott Violet
- */
-@SuppressWarnings("serial")
-public class TreeTableModelAdapter extends AbstractTableModel
-{
-    JTree tree;
-    TreeTableModel treeTableModel;
-
-    public TreeTableModelAdapter(TreeTableModel treeTableModel, JTree tree) {
-        this.tree = tree;
-        this.treeTableModel = treeTableModel;
-
-       tree.addTreeExpansionListener(new TreeExpansionListener() {
-           // Don't use fireTableRowsInserted() here; the selection model
-           // would get updated twice. 
-           public void treeExpanded(TreeExpansionEvent event) {  
-             fireTableDataChanged(); 
-           }
-            public void treeCollapsed(TreeExpansionEvent event) {  
-             fireTableDataChanged(); 
-           }
-       });
-
-       // Install a TreeModelListener that can update the table when
-       // tree changes. We use delayedFireTableDataChanged as we can
-       // not be guaranteed the tree will have finished processing
-       // the event before us.
-       treeTableModel.addTreeModelListener(new TreeModelListener() {
-           public void treeNodesChanged(TreeModelEvent e) {
-               delayedFireTableDataChanged();
-           }
-
-           public void treeNodesInserted(TreeModelEvent e) {
-               delayedFireTableDataChanged();
-           }
-
-           public void treeNodesRemoved(TreeModelEvent e) {
-               delayedFireTableDataChanged();
-           }
-
-           public void treeStructureChanged(TreeModelEvent e) {
-               delayedFireTableDataChanged();
-           }
-       });
-    }
-
-    // Wrappers, implementing TableModel interface. 
-
-    public int getColumnCount() {
-       return treeTableModel.getColumnCount();
-    }
-
-    public String getColumnName(int column) {
-       return treeTableModel.getColumnName(column);
-    }
-
-    public Class getColumnClass(int column) {
-       return treeTableModel.getColumnClass(column);
-    }
-
-    public int getRowCount() {
-       return tree.getRowCount();
-    }
-
-    protected Object nodeForRow(int row) {
-       TreePath treePath = tree.getPathForRow(row);
-       if (treePath == null) {
-               return null;
-       }
-       return treePath.getLastPathComponent();         
-    }
-
-    public Object getValueAt(int row, int column) {
-       return treeTableModel.getValueAt(nodeForRow(row), column);
-    }
-
-    public boolean isCellEditable(int row, int column) {
-         return treeTableModel.isCellEditable(nodeForRow(row), column); 
-    }
-
-    public void setValueAt(Object value, int row, int column) {
-       treeTableModel.setValueAt(value, nodeForRow(row), column);
-    }
-
-    /**
-     * Invokes fireTableDataChanged after all the pending events have been
-     * processed. SwingUtilities.invokeLater is used to handle this.
-     */
-    protected void delayedFireTableDataChanged() {
-       SwingUtilities.invokeLater(new Runnable() {
-           public void run() {
-           TreePath[] selected = tree.getSelectionPaths();
-               fireTableDataChanged();
-               tree.setSelectionPaths(selected);
-           }
-       });
-    }
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/f676ef35/ui/src/main/resources/net/sf/taverna/t2/lang/ui/icons/ok.png
----------------------------------------------------------------------
diff --git a/ui/src/main/resources/net/sf/taverna/t2/lang/ui/icons/ok.png 
b/ui/src/main/resources/net/sf/taverna/t2/lang/ui/icons/ok.png
deleted file mode 100644
index ac479f2..0000000
Binary files a/ui/src/main/resources/net/sf/taverna/t2/lang/ui/icons/ok.png and 
/dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/f676ef35/ui/src/main/resources/net/sf/taverna/t2/lang/ui/icons/severe.png
----------------------------------------------------------------------
diff --git a/ui/src/main/resources/net/sf/taverna/t2/lang/ui/icons/severe.png 
b/ui/src/main/resources/net/sf/taverna/t2/lang/ui/icons/severe.png
deleted file mode 100644
index a69364d..0000000
Binary files a/ui/src/main/resources/net/sf/taverna/t2/lang/ui/icons/severe.png 
and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/f676ef35/ui/src/main/resources/net/sf/taverna/t2/lang/ui/icons/warning.png
----------------------------------------------------------------------
diff --git a/ui/src/main/resources/net/sf/taverna/t2/lang/ui/icons/warning.png 
b/ui/src/main/resources/net/sf/taverna/t2/lang/ui/icons/warning.png
deleted file mode 100644
index f09e60f..0000000
Binary files 
a/ui/src/main/resources/net/sf/taverna/t2/lang/ui/icons/warning.png and 
/dev/null differ

Reply via email to