com.dlsc.flexgantt.swing.treetable
Class DefaultTreeTableRowHeaderRenderer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.dlsc.flexgantt.swing.treetable.DefaultTreeTableRowHeaderRenderer
All Implemented Interfaces:
IRowHeaderRenderer<TreeTableRowHeader>, ITreeTableRowHeaderRenderer, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class DefaultTreeTableRowHeaderRenderer
extends javax.swing.JPanel
implements ITreeTableRowHeaderRenderer

The default implementation of IRowHeaderRenderer.

Since:
1.0
Author:
Dirk Lemmermann
See Also:
AbstractRowHeader.setRowHeaderRenderer(Class, IRowHeaderRenderer), AbstractGanttChart.setRowHeaderWidth(int), Serialized Form

Nested Class Summary
static class DefaultTreeTableRowHeaderRenderer.Type
          A type enumerator that is used to indicate to the renderer whether the application wants standard row numbers to be shown or information based on model information.
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  javax.swing.Icon createIcon
          The icon used to mark the row where the user can create a new entry.
 
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
DefaultTreeTableRowHeaderRenderer()
          Constructs a new renderer.
DefaultTreeTableRowHeaderRenderer(DefaultTreeTableRowHeaderRenderer.Type type)
          Constructs a new renderer.
 
Method Summary
 void firePropertyChange(java.lang.String propertyName, boolean oldValue, boolean newValue)
          Overriden for performance reasons.
 void firePropertyChange(java.lang.String propertyName, byte oldValue, byte newValue)
          Overriden for performance reasons.
 void firePropertyChange(java.lang.String propertyName, char oldValue, char newValue)
          Overriden for performance reasons.
 void firePropertyChange(java.lang.String propertyName, double oldValue, double newValue)
          Overriden for performance reasons.
 void firePropertyChange(java.lang.String propertyName, float oldValue, float newValue)
          Overriden for performance reasons.
 void firePropertyChange(java.lang.String propertyName, long oldValue, long newValue)
          Overriden for performance reasons.
protected  void firePropertyChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)
          Overriden for performance reasons.
 void firePropertyChange(java.lang.String propertyName, short oldValue, short newValue)
          Overriden for performance reasons.
 javax.swing.Icon getCollapsedIcon()
          Returns the icon shown by the row header renderer to express that the tree node is collapsed.
 javax.swing.Icon getCreateIcon()
          Returns the icon used to mark the row where new entries can be created.
 javax.swing.Icon getEmptyIcon()
          Returns the placeholder icon used for a row header renderer if a row can not be expanded or collapsed.
 javax.swing.Icon getExpandedIcon()
          Returns the icon shown by the row header renderer to express that the tree node is expanded.
 int getHorizontalAlignment()
          Returns the horizontal text alignment that will be used by the renderer.
protected  javax.swing.Icon getIcon()
          Returns the icon that will be shown by the renderer.
 java.awt.Component getRowHeaderRendererComponent(TreeTableRowHeader header, java.lang.Object node, java.lang.Object headerValue, int depth, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus, boolean newNodePosition)
          Returns a component suitable for rendering a row header.
 java.awt.Rectangle getRowHeaderToggleBounds(TreeTableRowHeader header, int x, int y, int width, int height)
          Returns the bounds of the toggle used for expanding and collapsing the hierarchy / tree table node.
protected  java.lang.String getText()
          Returns the text that will be shown by the renderer.
protected  java.lang.String getText(java.lang.Object rowHeaderValue)
          Returns a text representation of the given row header value that was previously retrieved from the tree table model.
 void invalidate()
          Overriden for performance reasons.
protected  void paintComponent(java.awt.Graphics g)
           
 void repaint()
          Overriden for performance reasons.
 void repaint(int x, int y, int width, int height)
          Overriden for performance reasons.
 void repaint(long tm)
          Overriden for performance reasons.
 void revalidate()
          Overriden for performance reasons.
 void setCollapsedIcon(javax.swing.Icon icon)
          Sets the icon shown by the row header renderer to express that the tree node is collapsed.
 void setCreateIcon(javax.swing.Icon icon)
          Sets the icon used to mark the row where new entries can be created.
 void setExpandedIcon(javax.swing.Icon icon)
          Sets the icon shown by the row header renderer to express that the tree node is expanded.
 void setHorizontalAlignment(int alignment)
          Specifies the horizontal text alignment.
 void validate()
          Overriden for performance reasons.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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, 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, 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, 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, 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, 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

createIcon

protected javax.swing.Icon createIcon
The icon used to mark the row where the user can create a new entry.

Since:
1.0
Constructor Detail

DefaultTreeTableRowHeaderRenderer

public DefaultTreeTableRowHeaderRenderer(DefaultTreeTableRowHeaderRenderer.Type type)
Constructs a new renderer.

Parameters:
type - the type of rendering requested from the renderer
Since:
1.0

DefaultTreeTableRowHeaderRenderer

public DefaultTreeTableRowHeaderRenderer()
Constructs a new renderer.

Since:
1.0
Method Detail

setExpandedIcon

public void setExpandedIcon(javax.swing.Icon icon)
Sets the icon shown by the row header renderer to express that the tree node is expanded.

Parameters:
icon - the icon shown by the row header renderer to express that the tree node is expanded
Since:
1.0

getExpandedIcon

public javax.swing.Icon getExpandedIcon()
Returns the icon shown by the row header renderer to express that the tree node is expanded.

Returns:
the icon shown by the row header renderer to express that the tree node is expanded
Since:
1.0

setCollapsedIcon

public void setCollapsedIcon(javax.swing.Icon icon)
Sets the icon shown by the row header renderer to express that the tree node is collapsed.

Parameters:
icon - the icon shown by the row header renderer to express that the tree node is collapsed
Since:
1.0

getCollapsedIcon

public javax.swing.Icon getCollapsedIcon()
Returns the icon shown by the row header renderer to express that the tree node is collapsed.

Returns:
the icon shown by the row header renderer to express that the tree node is collapsed
Since:
1.0

getEmptyIcon

public javax.swing.Icon getEmptyIcon()
Returns the placeholder icon used for a row header renderer if a row can not be expanded or collapsed. The empty icon has to be the maximum width and height of the expanded and the collapsed icon.

Returns:
the placeholder icon used for leaf nodes
Since:
1.0

setHorizontalAlignment

public void setHorizontalAlignment(int alignment)
Specifies the horizontal text alignment. The passed value must be either SwingConstants.LEFT or SwingConstants.RIGHT or SwingConstants.CENTER. Any other value will cause an IllegalArgumentException.

Parameters:
alignment - the horizontal text alignment
Since:
1.0

getHorizontalAlignment

public int getHorizontalAlignment()
Returns the horizontal text alignment that will be used by the renderer.

Returns:
the horizontal text alignment (LEFT, RIGHT, CENTER).
Since:
1.0
See Also:
setHorizontalAlignment(int)

getText

protected java.lang.String getText()
Returns the text that will be shown by the renderer. This method can be overriden by subclasses.

Returns:
the text shown by the renderer
Since:
1.0

getIcon

protected javax.swing.Icon getIcon()
Returns the icon that will be shown by the renderer. This method can be overriden by subclasses.

Returns:
the icon shown by the renderer
Since:
1.0

getRowHeaderRendererComponent

public java.awt.Component getRowHeaderRendererComponent(TreeTableRowHeader header,
                                                        java.lang.Object node,
                                                        java.lang.Object headerValue,
                                                        int depth,
                                                        boolean selected,
                                                        boolean expanded,
                                                        boolean leaf,
                                                        int row,
                                                        boolean hasFocus,
                                                        boolean newNodePosition)
Description copied from interface: IRowHeaderRenderer
Returns a component suitable for rendering a row header.

Specified by:
getRowHeaderRendererComponent in interface IRowHeaderRenderer<TreeTableRowHeader>
Parameters:
header - the row header component in which the header gets rendererd
node - the tree node to which the row header belongs
headerValue - the header value object
depth - the hierarcy depth of the row for which the header gets rendered
selected - a flag signalling whether the row is currently selected
expanded - a flag signalling whether the hierarcy node to which the header belongs is currently in an expanded state (opened)
leaf - a flag signalling whether the hierarchy node to which the header belongs is a leaf (has no children)
row - the row in which the header is located
hasFocus - a flag signalling whether the header is the focus owner
newNodePosition - a flag signalling whether the row is used for creating new tree nodes
Returns:
a component suitable for rendering the header

getText

protected java.lang.String getText(java.lang.Object rowHeaderValue)
Returns a text representation of the given row header value that was previously retrieved from the tree table model.

Parameters:
rowHeaderValue - the row header value that will be shown by the renderer
Returns:
a text representation of the given row header value
Since:
1.0
See Also:
ITreeTableModel.getRowHeaderValue(Object)

getCreateIcon

public javax.swing.Icon getCreateIcon()
Returns the icon used to mark the row where new entries can be created.

Returns:
the icon for the 'new entry' row
Since:
1.0
See Also:
setCreateIcon(Icon)

setCreateIcon

public void setCreateIcon(javax.swing.Icon icon)
Sets the icon used to mark the row where new entries can be created. param icon the icon for the 'new entry' row

Parameters:
icon - the icon that will be shown in the row where new rows can be created
Since:
1.0
See Also:
setCreateIcon(Icon)

paintComponent

protected void paintComponent(java.awt.Graphics g)
Overrides:
paintComponent in class javax.swing.JComponent

getRowHeaderToggleBounds

public java.awt.Rectangle getRowHeaderToggleBounds(TreeTableRowHeader header,
                                                   int x,
                                                   int y,
                                                   int width,
                                                   int height)
Description copied from interface: ITreeTableRowHeaderRenderer
Returns the bounds of the toggle used for expanding and collapsing the hierarchy / tree table node.

Specified by:
getRowHeaderToggleBounds in interface ITreeTableRowHeaderRenderer
Parameters:
header - the row header component
x - the x-coordinate where the header will be rendered
y - the y-coordinate where the header will be rendered
width - the width of the header
height - the height of the header
Returns:
the bounds of the expand / collapse toggle

validate

public void validate()
Overriden for performance reasons.

Overrides:
validate in class java.awt.Container
Since:
1.0

invalidate

public void invalidate()
Overriden for performance reasons.

Overrides:
invalidate in class java.awt.Container
Since:
1.0

revalidate

public void revalidate()
Overriden for performance reasons.

Overrides:
revalidate in class javax.swing.JComponent
Since:
1.0

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               boolean oldValue,
                               boolean newValue)
Overriden for performance reasons.

Overrides:
firePropertyChange in class javax.swing.JComponent
Since:
1.0

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               byte oldValue,
                               byte newValue)
Overriden for performance reasons.

Overrides:
firePropertyChange in class java.awt.Component
Since:
1.0

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               char oldValue,
                               char newValue)
Overriden for performance reasons.

Overrides:
firePropertyChange in class javax.swing.JComponent
Since:
1.0

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               double oldValue,
                               double newValue)
Overriden for performance reasons.

Overrides:
firePropertyChange in class java.awt.Component
Since:
1.0

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               float oldValue,
                               float newValue)
Overriden for performance reasons.

Overrides:
firePropertyChange in class java.awt.Component
Since:
1.0

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               long oldValue,
                               long newValue)
Overriden for performance reasons.

Overrides:
firePropertyChange in class java.awt.Component
Since:
1.0

firePropertyChange

protected void firePropertyChange(java.lang.String propertyName,
                                  java.lang.Object oldValue,
                                  java.lang.Object newValue)
Overriden for performance reasons.

Overrides:
firePropertyChange in class java.awt.Component
Since:
1.0

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               short oldValue,
                               short newValue)
Overriden for performance reasons.

Overrides:
firePropertyChange in class java.awt.Component
Since:
1.0

repaint

public void repaint()
Overriden for performance reasons.

Overrides:
repaint in class java.awt.Component
Since:
1.0

repaint

public void repaint(int x,
                    int y,
                    int width,
                    int height)
Overriden for performance reasons.

Overrides:
repaint in class java.awt.Component
Since:
1.0

repaint

public void repaint(long tm)
Overriden for performance reasons.

Overrides:
repaint in class java.awt.Component
Since:
1.0