com.metamatrix.toolbox.ui.widget
Class TreeWidget

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JTree
                  extended by com.metamatrix.toolbox.ui.widget.TreeWidget
All Implemented Interfaces:
TextContainer, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable
Direct Known Subclasses:
PanelsTree, SortReadyJTree

public class TreeWidget
extends javax.swing.JTree
implements TextContainer

This class is intended to be used everywhere within the application that a tree needs to be displayed.

Since:
2.0
Version:
2.1
Author:
John P. A. Verhaeg
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JTree
javax.swing.JTree.AccessibleJTree, javax.swing.JTree.DropLocation, javax.swing.JTree.DynamicUtilTreeNode, javax.swing.JTree.EmptySelectionModel, javax.swing.JTree.TreeModelHandler, javax.swing.JTree.TreeSelectionRedirector
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static java.lang.String PROPERTY_PREFIX
           
 
Fields inherited from class javax.swing.JTree
ANCHOR_SELECTION_PATH_PROPERTY, CELL_EDITOR_PROPERTY, CELL_RENDERER_PROPERTY, cellEditor, cellRenderer, editable, EDITABLE_PROPERTY, EXPANDS_SELECTED_PATHS_PROPERTY, INVOKES_STOP_CELL_EDITING_PROPERTY, invokesStopCellEditing, LARGE_MODEL_PROPERTY, largeModel, LEAD_SELECTION_PATH_PROPERTY, ROOT_VISIBLE_PROPERTY, rootVisible, ROW_HEIGHT_PROPERTY, rowHeight, SCROLLS_ON_EXPAND_PROPERTY, scrollsOnExpand, SELECTION_MODEL_PROPERTY, selectionModel, selectionRedirector, SHOWS_ROOT_HANDLES_PROPERTY, showsRootHandles, TOGGLE_CLICK_COUNT_PROPERTY, toggleClickCount, TREE_MODEL_PROPERTY, treeModel, treeModelListener, VISIBLE_ROW_COUNT_PROPERTY, visibleRowCount
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
TreeWidget()
           
TreeWidget(java.lang.Object value)
           
TreeWidget(javax.swing.tree.TreeModel model)
           
 
Method Summary
protected  void changeVetoed(VetoedChangeEvent event)
          Called whenever a name change is vetoed by a node, usually because either the node is read-only or the name is invalid.
static int convertIndexToModel(TreeNode theParent, int theStartIndex, TreeView theFilteredView, TreeView theUnfilteredView)
          Converts the child index in the unfiltered view into the child index in the filtered view.
 java.lang.String convertValueToText(java.lang.Object value, boolean isSelected, boolean isExpanded, boolean isLeaf, int row, boolean hasFocus)
           
protected  PopupMenuFactory createDefaultPopupMenuFactory()
           
protected  javax.swing.tree.TreeCellEditor createDefaultTreeCellEditor()
           
protected  javax.swing.tree.TreeCellRenderer createDefaultTreeCellRenderer()
           
protected  javax.swing.tree.TreeModel createDefaultTreeModel(java.lang.Object value)
           
 javax.swing.JToolTip createToolTip()
           
 TreeNodeDragAndDropController getDragAndDropController()
           
 javax.swing.tree.TreePath getPathForLocation(int x, int y)
          Overridden to work around Java Bug Parade ID# 4292529
 PopupMenuFactory getPopupMenuFactory()
           
 int getRowForNode(javax.swing.tree.TreePath parentPath, java.lang.Object node)
          Returns the row of the specified node as if it were visible, regardless of its actual visibility, but only if it's been made visible at least once.
protected  void initializeTreeWidget()
           
 boolean isClipTipEnabled()
           
 void setClipTipEnabled(boolean isClipTipEnabled)
           
 void setDragAndDropController(TreeNodeDragAndDropController controller)
          Creates a controller to handle all drap and drop operations.
 void setModel(javax.swing.tree.TreeModel model)
           
 void setPopupMenuFactory(PopupMenuFactory popupMenuFactory)
           
 void updateUI()
           
 
Methods inherited from class javax.swing.JTree
addSelectionInterval, addSelectionPath, addSelectionPaths, addSelectionRow, addSelectionRows, addTreeExpansionListener, addTreeSelectionListener, addTreeWillExpandListener, cancelEditing, clearSelection, clearToggledPaths, collapsePath, collapseRow, createTreeModel, createTreeModelListener, expandPath, expandRow, fireTreeCollapsed, fireTreeExpanded, fireTreeWillCollapse, fireTreeWillExpand, fireValueChanged, getAccessibleContext, getAnchorSelectionPath, getCellEditor, getCellRenderer, getClosestPathForLocation, getClosestRowForLocation, getDefaultTreeModel, getDescendantToggledPaths, getDragEnabled, getDropLocation, getDropMode, getEditingPath, getExpandedDescendants, getExpandsSelectedPaths, getInvokesStopCellEditing, getLastSelectedPathComponent, getLeadSelectionPath, getLeadSelectionRow, getMaxSelectionRow, getMinSelectionRow, getModel, getNextMatch, getPathBetweenRows, getPathBounds, getPathForRow, getPreferredScrollableViewportSize, getRowBounds, getRowCount, getRowForLocation, getRowForPath, getRowHeight, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollsOnExpand, getSelectionCount, getSelectionModel, getSelectionPath, getSelectionPaths, getSelectionRows, getShowsRootHandles, getToggleClickCount, getToolTipText, getTreeExpansionListeners, getTreeSelectionListeners, getTreeWillExpandListeners, getUI, getUIClassID, getVisibleRowCount, hasBeenExpanded, isCollapsed, isCollapsed, isEditable, isEditing, isExpanded, isExpanded, isFixedRowHeight, isLargeModel, isPathEditable, isPathSelected, isRootVisible, isRowSelected, isSelectionEmpty, isVisible, makeVisible, paramString, removeDescendantSelectedPaths, removeDescendantToggledPaths, removeSelectionInterval, removeSelectionPath, removeSelectionPaths, removeSelectionRow, removeSelectionRows, removeTreeExpansionListener, removeTreeSelectionListener, removeTreeWillExpandListener, scrollPathToVisible, scrollRowToVisible, setAnchorSelectionPath, setCellEditor, setCellRenderer, setDragEnabled, setDropMode, setEditable, setExpandedState, setExpandsSelectedPaths, setInvokesStopCellEditing, setLargeModel, setLeadSelectionPath, setRootVisible, setRowHeight, setScrollsOnExpand, setSelectionInterval, setSelectionModel, setSelectionPath, setSelectionPaths, setSelectionRow, setSelectionRows, setShowsRootHandles, setToggleClickCount, setUI, setVisibleRowCount, startEditingAtPath, stopEditing, treeDidChange
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PROPERTY_PREFIX

public static final java.lang.String PROPERTY_PREFIX
See Also:
Constant Field Values
Constructor Detail

TreeWidget

public TreeWidget()
Since:
2.0

TreeWidget

public TreeWidget(java.lang.Object value)
Since:
2.0

TreeWidget

public TreeWidget(javax.swing.tree.TreeModel model)
Since:
2.0
Method Detail

convertIndexToModel

public static int convertIndexToModel(TreeNode theParent,
                                      int theStartIndex,
                                      TreeView theFilteredView,
                                      TreeView theUnfilteredView)
Converts the child index in the unfiltered view into the child index in the filtered view.

Parameters:
theParent - the parent node of the child
theStartIndex - the index of the child in the unfiltered view
theFilteredView - the view whose child index is being requested
theUnfilteredView - the view pertaining to the given index
Returns:
the index of the child node in the filtered tree or -1 if the start index is invalid

changeVetoed

protected void changeVetoed(VetoedChangeEvent event)
Called whenever a name change is vetoed by a node, usually because either the node is read-only or the name is invalid. Does nothing by default.

Parameters:
event - The VetoedChangeEvent fired by the node that vetoed the change
Since:
2.0

convertValueToText

public java.lang.String convertValueToText(java.lang.Object value,
                                           boolean isSelected,
                                           boolean isExpanded,
                                           boolean isLeaf,
                                           int row,
                                           boolean hasFocus)
Overrides:
convertValueToText in class javax.swing.JTree
Since:
2.0

createDefaultPopupMenuFactory

protected PopupMenuFactory createDefaultPopupMenuFactory()
Since:
2.0

createDefaultTreeCellEditor

protected javax.swing.tree.TreeCellEditor createDefaultTreeCellEditor()
Since:
2.0

createDefaultTreeCellRenderer

protected javax.swing.tree.TreeCellRenderer createDefaultTreeCellRenderer()
Since:
2.0

createDefaultTreeModel

protected javax.swing.tree.TreeModel createDefaultTreeModel(java.lang.Object value)
Since:
2.0

createToolTip

public javax.swing.JToolTip createToolTip()
Overrides:
createToolTip in class javax.swing.JComponent

getDragAndDropController

public TreeNodeDragAndDropController getDragAndDropController()
Since:
2.0

getPopupMenuFactory

public PopupMenuFactory getPopupMenuFactory()
Since:
2.0

getRowForNode

public int getRowForNode(javax.swing.tree.TreePath parentPath,
                         java.lang.Object node)
Returns the row of the specified node as if it were visible, regardless of its actual visibility, but only if it's been made visible at least once. If the node has never been made visible, then -1 is returned.

Returns:
The row of the specified node if it's ever been visible, -1 otherwise
Since:
2.0

initializeTreeWidget

protected void initializeTreeWidget()
Since:
2.0

isClipTipEnabled

public boolean isClipTipEnabled()
Specified by:
isClipTipEnabled in interface TextContainer
Since:
2.0

setClipTipEnabled

public void setClipTipEnabled(boolean isClipTipEnabled)
Specified by:
setClipTipEnabled in interface TextContainer
Since:
2.0

setDragAndDropController

public void setDragAndDropController(TreeNodeDragAndDropController controller)
Creates a controller to handle all drap and drop operations.

Since:
2.0

setModel

public void setModel(javax.swing.tree.TreeModel model)
Overrides:
setModel in class javax.swing.JTree
Since:
2.0

setPopupMenuFactory

public void setPopupMenuFactory(PopupMenuFactory popupMenuFactory)
Since:
2.0

updateUI

public void updateUI()
Overrides:
updateUI in class javax.swing.JTree
Since:
2.0

getPathForLocation

public javax.swing.tree.TreePath getPathForLocation(int x,
                                                    int y)
Overridden to work around Java Bug Parade ID# 4292529

Overrides:
getPathForLocation in class javax.swing.JTree
See Also:
JTree.getPathForLocation(int, int)


Copyright © 2009. All Rights Reserved.