Class TreeCellSkin<T>

All Implemented Interfaces:
Skin<TreeCell<T>>

public class TreeCellSkin<T>
extends CellSkinBase<TreeCell<T>>
Default skin implementation for the TreeCell control.
Since:
9
See Also:
TreeCell
  • Property Details

    • indent

      public final DoubleProperty indentProperty
      The amount of space to multiply by the treeItem.level to get the left margin for this tree cell. This is settable from CSS
      See Also:
      getIndent(), setIndent(double)
  • Constructor Details

    • TreeCellSkin

      public TreeCellSkin​(TreeCell<T> control)
      Creates a new TreeCellSkin instance, installing the necessary child nodes into the Control children list, as well as the necessary input mappings for handling key, mouse, etc events.
      Parameters:
      control - The control that this skin should be installed onto.
  • Method Details

    • setIndent

      public final void setIndent​(double value)
      Sets the value of the property indent.
      Property description:
      The amount of space to multiply by the treeItem.level to get the left margin for this tree cell. This is settable from CSS
    • getIndent

      public final double getIndent()
      Gets the value of the property indent.
      Property description:
      The amount of space to multiply by the treeItem.level to get the left margin for this tree cell. This is settable from CSS
    • indentProperty

      public final DoubleProperty indentProperty()
      The amount of space to multiply by the treeItem.level to get the left margin for this tree cell. This is settable from CSS
      See Also:
      getIndent(), setIndent(double)
    • dispose

      public void dispose()
      * Public API * *
      Specified by:
      dispose in interface Skin<T>
      Overrides:
      dispose in class LabeledSkinBase<TreeCell<T>>
    • updateChildren

      protected void updateChildren()
      Updates the children managed by LabeledSkinBase, which can be the Labeled graphic and/or a Text node. Only those nodes which actually must be used are used. For example, with a ContentDisplay of GRAPHIC_ONLY the text node is not added, and with a ContentDisplay of TEXT_ONLY, the graphic is not added.
      Overrides:
      updateChildren in class LabeledSkinBase<TreeCell<T>>
    • layoutChildren

      protected void layoutChildren​(double x, double y, double w, double h)
      The Layout algorithm works like this: - Get the labeled w/h, graphic w/h, text w/h - Compute content w/h based on graphicVPos, graphicHPos, graphicTextGap, and graphic w/h and text w/h - (Note that the text content has been pre-truncated where necessary) - compute content x/y based on content w/h and labeled w/h and the labeled's hpos and vpos - position the graphic and text
      Overrides:
      layoutChildren in class LabeledSkinBase<TreeCell<T>>
      Parameters:
      x - the x position
      y - the y position
      w - the width
      h - the height
    • computeMinHeight

      protected double computeMinHeight​(double width, double topInset, double rightInset, double bottomInset, double leftInset)
      Computes the minimum allowable height of the Skin, based on the provided width.
      Overrides:
      computeMinHeight in class LabeledSkinBase<TreeCell<T>>
      Parameters:
      width - The width of the Skin, in case this value might dictate the minimum height.
      topInset - the pixel snapped top inset
      rightInset - the pixel snapped right inset
      bottomInset - the pixel snapped bottom inset
      leftInset - the pixel snapped left inset
      Returns:
      A double representing the minimum height of this Skin.
    • computePrefHeight

      protected double computePrefHeight​(double width, double topInset, double rightInset, double bottomInset, double leftInset)
      Calculates the preferred height of this SkinBase. The default implementation calculates this height as the height of the area occupied by its managed children when they are positioned at their current positions at their preferred heights.
      Overrides:
      computePrefHeight in class LabeledSkinBase<TreeCell<T>>
      Parameters:
      width - the width that should be used if preferred height depends on it
      topInset - the pixel snapped top inset
      rightInset - the pixel snapped right inset
      bottomInset - the pixel snapped bottom inset
      leftInset - the pixel snapped left inset
      Returns:
      the calculated preferred height
    • computeMaxHeight

      protected double computeMaxHeight​(double width, double topInset, double rightInset, double bottomInset, double leftInset)
      Computes the maximum allowable height of the Skin, based on the provided width.
      Overrides:
      computeMaxHeight in class LabeledSkinBase<TreeCell<T>>
      Parameters:
      width - The width of the Skin, in case this value might dictate the maximum height.
      topInset - the pixel snapped top inset
      rightInset - the pixel snapped right inset
      bottomInset - the pixel snapped bottom inset
      leftInset - the pixel snapped left inset
      Returns:
      A double representing the maximum height of this Skin.
    • computePrefWidth

      protected double computePrefWidth​(double height, double topInset, double rightInset, double bottomInset, double leftInset)
      Calculates the preferred width of this SkinBase. The default implementation calculates this width as the width of the area occupied by its managed children when they are positioned at their current positions at their preferred widths.
      Overrides:
      computePrefWidth in class LabeledSkinBase<TreeCell<T>>
      Parameters:
      height - the height that should be used if preferred width depends on it
      topInset - the pixel snapped top inset
      rightInset - the pixel snapped right inset
      bottomInset - the pixel snapped bottom inset
      leftInset - the pixel snapped left inset
      Returns:
      the calculated preferred width
    • getClassCssMetaData

      public static List<CssMetaData<? extends Styleable,​?>> getClassCssMetaData()
      Returns the CssMetaData associated with this class, which may include the CssMetaData of its superclasses.
      Returns:
      the CssMetaData associated with this class, which may include the CssMetaData of its superclasses
    • getCssMetaData

      public List<CssMetaData<? extends Styleable,​?>> getCssMetaData()
      This method should delegate to Node.getClassCssMetaData() so that a Node's CssMetaData can be accessed without the need for reflection.
      Overrides:
      getCssMetaData in class CellSkinBase<TreeCell<T>>
      Returns:
      The CssMetaData associated with this node, which may include the CssMetaData of its superclasses.