You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2015/03/06 23:34:34 UTC

[38/50] [abbrv] incubator-taverna-workbench git commit: taverna-*

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