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