Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jdesktop.swingx.renderer
Class CellContext

    java.lang.Object
      org.jdesktop.swingx.renderer.CellContext

All Implemented Interfaces:
  java.io.Serializable

Direct Known Subclasses:
  ListCellContext, TableCellContext, TreeCellContext

    public class CellContext

extends java.lang.Object
implements java.io.Serializable

Encapsulates a snapshop of cell content and default display context for usage by a `ComponentProvider`.

One part is the super-set of properties that's traditionally passed into the core renderers' (Table-, List-, Tree-) getXXCellRendererComponent. Raw properties which define the context are

- selected
- focused
- expanded
- leaf

Similarl to a ComponentAdapter, the properties are a super-set of those for a concrete component type. It's up to sub-classes (once the generics will be removed, until then the DefaultXXRenderers - PENDING JW: undecided - even after the generics removal, the param list in the subclasses are the same) fill any reasonable defaults for those not applicable to the specific component context. With those raw properties given, a CellContext looks up and returns dependent visual properties as appropriate for the concrete component. Typically, they are taken from the component if supported, or requested from the UIManager. Dependent properties are

- foreground and background color
- border
- icon (relevant for trees only)
- editable

For a backdoor, the cell location (in horizontal and vertical view coordinates) and the originating component is accessible as well. Note that they are not necessarily valid for the "life" component. It's not recommended to actually use them. If needed, that's probably a sign the api is lacking :-)

- PENDING: still incomplete? how about Font?
- PENDING: protected methods? Probably need to open up - derived properties should be accessible in client code.

Author:
  Jeanette Winzenburg
See Also:
  Serialized Form

Field Summary
`protected int` | `column`
`protected javax.swing.JComponent` | `component` PENDING JW: maybe make this a WeakReference? Would be a more robust fix for Issue #1040-swingx.
`protected boolean` | `dropOn`
`protected boolean` | `expanded`
`protected boolean` | `focused`
`protected boolean` | `leaf`
`protected static javax.swing.border.Border` | `noFocusBorder` the default border for unfocused cells.
`protected int` | `row`
`protected boolean` | `selected`
`protected java.lang.Object` | `value` PENDING JW: maybe make this a WeakReference? Would be a more robust fix for Issue #1040-swingx.

Constructor Summary
`CellContext()`

Method Summary
`protected java.awt.Color` | `getBackground()` Returns the background color of the renderered component or null if the component is null
`protected javax.swing.border.Border` | `getBorder()` Returns the default border of the renderered component depending on cell state.
`java.lang.String` | `getCellRendererName()`
`int` | `getColumn()` Returns the cell's column index in view coordinates as set in the install.
`javax.swing.JComponent` | `getComponent()` Returns the component the cell resides on, may be null.
`protected java.awt.Color` | `getDropCellBackground()`
`protected java.awt.Color` | `getDropCellForeground()`
`protected java.awt.Color` | `getFocusBackground()` Returns the default focused background color of the renderered component.
`protected javax.swing.border.Border` | `getFocusBorder()` Returns the default focus border of the renderered component.
`protected java.awt.Color` | `getFocusForeground()` Returns the default focused foreground color of the renderered component.
`protected java.awt.Font` | `getFont()` Returns the Font of the target component or null if no component installed.
`protected java.awt.Color` | `getForeground()` Returns the foreground color of the renderered component or null if the component is null
`javax.swing.Icon` | `getIcon()` Returns the icon.
`int` | `getRow()` Returns the cell's row index in view coordinates as set in the install.
`protected java.awt.Color` | `getSelectionBackground()` Returns the default selection background color of the renderered component.
`protected java.awt.Color` | `getSelectionForeground()` Returns the default selection foreground color of the renderered component.
`protected java.lang.String` | `getUIKey(java.lang.String key)` Convenience method to build a component type specific lookup key for the UIManager.
`protected java.lang.String` | `getUIPrefix()` Returns the component type specific prefix of keys for lookup in the UIManager.
`java.lang.Object` | `getValue()` Returns the value of the cell as set in the install.
`protected void` | `installState(java.lang.Object value, int row, int column, boolean selected, boolean focused, boolean expanded, boolean leaf)` Sets the state of the cell's context.
`protected boolean` | `isDropOn()` Returns a boolean indicating if the cell is a drop location with any of the dropOn modes.
`boolean` | `isEditable()` Returns the cell's editability.
`boolean` | `isExpanded()` Returns the expanded state as set in the install.
`boolean` | `isFocused()` Returns the focused state as set in the install.
`boolean` | `isLeaf()` Returns the leaf state as set in the install.
`boolean` | `isSelected()` Returns the selected state as set in the install.
`java.lang.Object` | `replaceValue(java.lang.Object value)` Replaces the value of this cell context with the given parameter and returns the replaced value.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### noFocusBorder

    protected static javax.swing.border.Border noFocusBorder

  the default border for unfocused cells.

### component

    protected transient javax.swing.JComponent component

  PENDING JW: maybe make this a WeakReference? Would be a more robust fix for Issue #1040-swingx.

### value

    protected transient java.lang.Object value

  PENDING JW: maybe make this a WeakReference? Would be a more robust fix for Issue #1040-swingx.

### row

    protected transient int row

### column

    protected transient int column

### selected

    protected transient boolean selected

### focused

    protected transient boolean focused

### expanded

    protected transient boolean expanded

### leaf

    protected transient boolean leaf

### dropOn

    protected transient boolean dropOn

Constructor Detail

### CellContext

    public CellContext()

Method Detail

### installState

    protected void installState(java.lang.Object value,
                                int row,
                                int column,
                                boolean selected,
                                boolean focused,
                                boolean expanded,
                                boolean leaf)

  Sets the state of the cell's context. Convenience method for subclasses.

  Parameters:
    `value` - the content value of the cell
    `row` - the cell's row index in view coordinates
    `column` - the cell's column index in view coordinates
    `selected` - the cell's selected state
    `focused` - the cell's focused state
    `expanded` - the cell's expanded state
    `leaf` - the cell's leaf state

### replaceValue

    public java.lang.Object replaceValue(java.lang.Object value)

  Replaces the value of this cell context with the given parameter and returns the replaced value.

  Parameters:
    `value` - the new value of the cell context
  Returns:
    the replaced value of the cell context

### getComponent

    public javax.swing.JComponent getComponent()

  Returns the component the cell resides on, may be null. Subclasses are expected to override and return the component type they are handling.

  Returns:
    the component the cell resides on, may be null.

### getValue

    public java.lang.Object getValue()

  Returns the value of the cell as set in the install.

  Returns:
    the content value of the cell.

### getRow

    public int getRow()

  Returns the cell's row index in view coordinates as set in the install.

  Returns:
    the cell's row index.

### getColumn

    public int getColumn()

  Returns the cell's column index in view coordinates as set in the install.

  Returns:
    the cell's column index.

### isSelected

    public boolean isSelected()

  Returns the selected state as set in the install.

  Returns:
    the cell's selected state.

### isFocused

    public boolean isFocused()

  Returns the focused state as set in the install.

  Returns:
    the cell's focused state.

### isExpanded

    public boolean isExpanded()

  Returns the expanded state as set in the install.

  Returns:
    the cell's expanded state.

### isLeaf

    public boolean isLeaf()

  Returns the leaf state as set in the install.

  Returns:
    the cell's leaf state.

### isEditable

    public boolean isEditable()

  Returns the cell's editability. Subclasses should override to return a reasonable cell-related state.

  Here: false.

  Returns:
    the cell's editable property.

### getIcon

    public javax.swing.Icon getIcon()

  Returns the icon. Subclasses should override to return a reasonable cell-related state.

  Here: `null`.

  Returns:
    the cell's icon.

### isDropOn

    protected boolean isDropOn()

  Returns a boolean indicating if the cell is a drop location with any of the dropOn modes. It's up to subclasses to implement.

  Here: false.

  Returns:
    true if the current cell is a drop location with any of the dropOn modes, false otherwise

### getForeground

    protected java.awt.Color getForeground()

  Returns the foreground color of the renderered component or null if the component is null

  PENDING: fallback to UI properties if comp == null?

  Returns:
    the foreground color of the rendered component.

### getBackground

    protected java.awt.Color getBackground()

  Returns the background color of the renderered component or null if the component is null

  PENDING: fallback to UI properties if comp == null?

  Returns:
    the background color of the rendered component.

### getSelectionBackground

    protected java.awt.Color getSelectionBackground()

  Returns the default selection background color of the renderered component. Typically, the color is LF specific. It's up to subclasses to look it up. Here: returns null.

  PENDING: return UI properties here?

  Returns:
    the selection background color of the rendered component.

### getSelectionForeground

    protected java.awt.Color getSelectionForeground()

  Returns the default selection foreground color of the renderered component. Typically, the color is LF specific. It's up to subclasses to look it up. Here: returns null.

  PENDING: return UI properties here?

  Returns:
    the selection foreground color of the rendered component.

### getFocusBorder

    protected javax.swing.border.Border getFocusBorder()

  Returns the default focus border of the renderered component. Typically, the border is LF specific.

  Returns:
    the focus border of the rendered component.

### getBorder

    protected javax.swing.border.Border getBorder()

  Returns the default border of the renderered component depending on cell state. Typically, the border is LF specific.

  Here: returns the focus border if the cell is focused, the context defined no focus border otherwise.

  Returns:
    the default border of the rendered component.

### getFocusForeground

    protected java.awt.Color getFocusForeground()

  Returns the default focused foreground color of the renderered component. Typically, the color is LF specific.

  Returns:
    the focused foreground color of the rendered component.

### getFocusBackground

    protected java.awt.Color getFocusBackground()

  Returns the default focused background color of the renderered component. Typically, the color is LF specific.

  Returns:
    the focused background color of the rendered component.

### getDropCellForeground

    protected java.awt.Color getDropCellForeground()

### getDropCellBackground

    protected java.awt.Color getDropCellBackground()

### getUIKey

    protected java.lang.String getUIKey(java.lang.String key)

  Convenience method to build a component type specific lookup key for the UIManager.

  Parameters:
    `key` - the general part of the key
  Returns:
    a composed key build of a component type prefix and the input.

### getUIPrefix

    protected java.lang.String getUIPrefix()

  Returns the component type specific prefix of keys for lookup in the UIManager. Subclasses must override, here: returns the empty String.

  Returns:
    the component type specific prefix.

### getFont

    protected java.awt.Font getFont()

  Returns the Font of the target component or null if no component installed.

  Returns:

### getCellRendererName

    public java.lang.String getCellRendererName()

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2010. All Rights Reserved.