com.dlsc.flexgantt.swing.layer

## Class DefaultLayerContainerRowHeaderRenderer

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JPanel
        - - com.dlsc.flexgantt.swing.layer.DefaultLayerContainerRowHeaderRenderer

- All Implemented Interfaces:
    ILayerContainerRowHeaderRenderer, IRowHeaderRenderer<LayerContainerRowHeader>, IRenderer, ImageObserver, MenuContainer, Serializable, Accessible
  Direct Known Subclasses:
    DefaultResourceNodeRowHeaderRenderer, MacLayerContainerRowHeaderRenderer

      public class DefaultLayerContainerRowHeaderRenderer
      extends JPanel
      implements ILayerContainerRowHeaderRenderer

  The default implementation of a row header renderer for the layer container row header. This renderer ensures that the background of each row header is roughly the same as the background of the rows in the layer container. A transparent gray rectangle is drawn on top of the background.
  Since:
    1.0
  Version:
    $Revision: 1.8 $
  Author:
    Dirk Lemmermann
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class javax.swing.JPanel

      `JPanel.AccessibleJPanel`

    - ### Nested classes/interfaces inherited from class javax.swing.JComponent

      `JComponent.AccessibleJComponent`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class java.awt.Component

      `Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

  - ### Field Summary

    - ### Fields inherited from class javax.swing.JComponent

      `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

      `accessibleContext, 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

    Constructors
    Constructor and Description
    `DefaultLayerContainerRowHeaderRenderer()` Constructs a new row header renderer.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `firePropertyChange(String propertyName, boolean oldValue, boolean newValue)` Overriden for performance reasons.
    `void` | `firePropertyChange(String propertyName, byte oldValue, byte newValue)` Overriden for performance reasons.
    `void` | `firePropertyChange(String propertyName, char oldValue, char newValue)` Overriden for performance reasons.
    `void` | `firePropertyChange(String propertyName, double oldValue, double newValue)` Overriden for performance reasons.
    `void` | `firePropertyChange(String propertyName, float oldValue, float newValue)` Overriden for performance reasons.
    `void` | `firePropertyChange(String propertyName, long oldValue, long newValue)` Overriden for performance reasons.
    `protected void` | `firePropertyChange(String propertyName, Object oldValue, Object newValue)` Overriden for performance reasons.
    `void` | `firePropertyChange(String propertyName, short oldValue, short newValue)` Overriden for performance reasons.
    `protected int` | `getDepth()` Returns the depth of the node where the rendering takes place.
    `Color` | `getFocusBackground()` Returns the background color used for indicating that the header is the focus owner.
    `Color` | `getFocusForeground()` Returns the foreground color used for indicating that the header is the focus owner.
    `protected Object` | `getNode()` Returns the node that was passed to the renderer.
    `protected int` | `getRow()` Returns the row number where the row header gets rendered.
    `protected LayerContainerRowHeader` | `getRowHeader()` Returns the row header component where the rendering takes place.
    `Component` | `getRowHeaderRendererComponent(LayerContainerRowHeader header, Object node, Object rowHeaderValue, int depth, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus, boolean newNode)` Returns a component suitable for rendering a row header.
    `protected Object` | `getRowHeaderValue()` Returns the row header value that was retrieved from the tree table model.
    `boolean` | `hasFocus()` Returns the focus state of the node in which the rendering takes place.
    `void` | `invalidate()` Overriden for performance reasons.
    `protected boolean` | `isExpanded()` Returns the expansion state of the tree node.
    `protected boolean` | `isLeaf()` Determines whether the currently rendered header is the header of a leaf node.
    `protected boolean` | `isNewNode()` Determines whether the currently rendered header is the row header for the row where the use can create a new node.
    `boolean` | `isPaintingFocus()` Determines whether the renderer should visualize that the mouse cursor hovers over the layer container row header.
    `protected boolean` | `isSelected()` Returns the selection state of the node.
    `boolean` | `isVisible()` Overriden in order to fix a bug in AWT, which causes the cursor to flicker during drag and drop operations
    `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` | `setFocusBackground(Color color)` Sets the background color used for indicating that the header is the focus owner.
    `void` | `setFocusForeground(Color color)` Sets the foreground color used for indicating that the header is the focus owner.
    `void` | `setPaintingFocus(boolean paintFocus)` Controls whether the renderer should visualize that the mouse cursor hovers over the layer container row header.
    `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, 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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, 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, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, 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, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### DefaultLayerContainerRowHeaderRenderer

          public DefaultLayerContainerRowHeaderRenderer()

      Constructs a new row header renderer.
      Since:
        1.0

  - ### Method Detail

    - #### getRowHeaderRendererComponent

          public Component getRowHeaderRendererComponent(LayerContainerRowHeader header,
                                                         Object node,
                                                         Object rowHeaderValue,
                                                         int depth,
                                                         boolean selected,
                                                         boolean expanded,
                                                         boolean leaf,
                                                         int row,
                                                         boolean hasFocus,
                                                         boolean newNode)

      Description copied from interface: `IRowHeaderRenderer`
      Returns a component suitable for rendering a row header.
      Specified by:
        `getRowHeaderRendererComponent` in interface `IRowHeaderRenderer<LayerContainerRowHeader>`
      Parameters:
        `header` - the row header component in which the header gets rendererd
        `node` - the tree node to which the row header belongs
        `rowHeaderValue` - 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
        `newNode` - a flag signalling whether the row is used for creating new tree nodes
      Returns:
        a component suitable for rendering the header

    - #### setPaintingFocus

          public void setPaintingFocus(boolean paintFocus)

      Controls whether the renderer should visualize that the mouse cursor hovers over the layer container row header.
      Parameters:
        `paintFocus` - if TRUE the background color of the renderer will change
      Since:
        2.0

    - #### isPaintingFocus

          public boolean isPaintingFocus()

      Determines whether the renderer should visualize that the mouse cursor hovers over the layer container row header.
      Returns:
        TRUE if the background color of the renderer will change
      Since:
        2.0

    - #### getDepth

          protected int getDepth()

      Returns the depth of the node where the rendering takes place. The depth of the root node is 0. The depth of the children of the root node is 1, etc...
      Returns:
        the depth of the tree node
      Since:
        1.0

    - #### isExpanded

          protected boolean isExpanded()

      Returns the expansion state of the tree node.
      Returns:
        TRUE if the node is expanded
      Since:
        1.0

    - #### hasFocus

          public boolean hasFocus()

      Returns the focus state of the node in which the rendering takes place. This method overrides `Component.hasFocus()` so that the method returns the focus of the node and not the focus of the rendering component.
      Overrides:
        `hasFocus` in class `Component`
      Since:
        1.0

    - #### isLeaf

          protected boolean isLeaf()

      Determines whether the currently rendered header is the header of a leaf node.
      Returns:
        TRUE if the node passed to the renderer is a leaf
      Since:
        1.0

    - #### isNewNode

          protected boolean isNewNode()

      Determines whether the currently rendered header is the row header for the row where the use can create a new node.
      Returns:
        TRUE if the row is the location where new nodes get created
      Since:
        1.0

    - #### getNode

          protected Object getNode()

      Returns the node that was passed to the renderer. The row header rendered will be the header for that node.
      Returns:
        the tree node passed to the renderer
      Since:
        1.0

    - #### getRow

          protected int getRow()

      Returns the row number where the row header gets rendered.
      Returns:
        the row number
      Since:
        1.0

    - #### getRowHeader

          protected LayerContainerRowHeader getRowHeader()

      Returns the row header component where the rendering takes place.
      Returns:
        the row header component
      Since:
        1.0

    - #### isSelected

          protected boolean isSelected()

      Returns the selection state of the node.
      Returns:
        TRUE if the node is selected
      Since:
        1.0

    - #### getRowHeaderValue

          protected Object getRowHeaderValue()

      Returns the row header value that was retrieved from the tree table model.
      Returns:
        the row header value
      Since:
        1.0
      See Also:
        `ITreeTableModel.getRowHeaderValue(Object)`

    - #### getFocusForeground

          public Color getFocusForeground()

      Returns the foreground color used for indicating that the header is the focus owner.
      Returns:
        the focus foreground color
      Since:
        1.1

    - #### setFocusForeground

          public void setFocusForeground(Color color)

      Sets the foreground color used for indicating that the header is the focus owner.
      Parameters:
        `color` - the focus foreground color
      Since:
        1.1

    - #### getFocusBackground

          public Color getFocusBackground()

      Returns the background color used for indicating that the header is the focus owner.
      Returns:
        the focus background color
      Since:
        1.1

    - #### setFocusBackground

          public void setFocusBackground(Color color)

      Sets the background color used for indicating that the header is the focus owner.
      Parameters:
        `color` - the focus background color
      Since:
        1.1

    - #### validate

          public void validate()

      Overriden for performance reasons.
      Overrides:
        `validate` in class `Container`
      Since:
        1.0

    - #### invalidate

          public void invalidate()

      Overriden for performance reasons.
      Overrides:
        `invalidate` in class `Container`
      Since:
        1.0

    - #### revalidate

          public void revalidate()

      Overriden for performance reasons.
      Overrides:
        `revalidate` in class `JComponent`
      Since:
        1.0

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         boolean oldValue,
                                         boolean newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `JComponent`
      Since:
        1.0

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         byte oldValue,
                                         byte newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `Component`
      Since:
        1.0

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         char oldValue,
                                         char newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `JComponent`
      Since:
        1.0

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         double oldValue,
                                         double newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `Component`
      Since:
        1.0

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         float oldValue,
                                         float newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `Component`
      Since:
        1.0

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         long oldValue,
                                         long newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `Component`
      Since:
        1.0

    - #### firePropertyChange

          protected void firePropertyChange(String propertyName,
                                            Object oldValue,
                                            Object newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `Component`
      Since:
        1.0

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         short oldValue,
                                         short newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `Component`
      Since:
        1.0

    - #### repaint

          public void repaint()

      Overriden for performance reasons.
      Overrides:
        `repaint` in class `Component`
      Since:
        1.0

    - #### repaint

          public void repaint(int x,
                              int y,
                              int width,
                              int height)

      Overriden for performance reasons.
      Overrides:
        `repaint` in class `Component`
      Since:
        1.0

    - #### repaint

          public void repaint(long tm)

      Overriden for performance reasons.
      Overrides:
        `repaint` in class `Component`
      Since:
        1.0

    - #### isVisible

          public boolean isVisible()

      Overriden in order to fix a bug in AWT, which causes the cursor to flicker during drag and drop operations. *
      Overrides:
        `isVisible` in class `Component`
      Since:
        1.1

Copyright © 2006–2020 Dirk Lemmermann Software & Consulting. All rights reserved.