Packagefeathers.controls.renderers
Classpublic class LayoutGroupTreeItemRenderer
InheritanceLayoutGroupTreeItemRenderer Inheritance LayoutGroup Inheritance FeathersControl Inheritance starling.display.Sprite
Implements ITreeItemRenderer

Product Version : Feathers 1.2.0

Based on LayoutGroup, this component is meant as a base class for creating a custom item renderer for a Tree component.

Sub-components may be created and added inside initialize(). This is a good place to add event listeners and to set the layout.

The data property may be parsed inside commitData(). Use this function to change properties in your sub-components.

Sub-components may be positioned manually, but a layout may be provided as well. An AnchorLayout is recommended for fluid layouts that can automatically adjust positions when the list resizes. Create AnchorLayoutData objects to define the constraints.

See also

feathers.controls.Tree


Public Properties
 PropertyDefined By
 InheritedaddedEffect : Function
An optional effect that is activated when the component is added to the stage.
FeathersControl
 InheritedautoSizeMode : String
Determines how the layout group will set its own size when its dimensions (width and height) aren't set explicitly.
LayoutGroup
  data : Object
An item from the tree's data provider.
LayoutGroupTreeItemRenderer
 InheriteddefaultTextEditorFactory : Function
[static] A function used by all UI controls that support text editor to create an ITextEditor instance.
FeathersControl
 InheriteddefaultTextRendererFactory : Function
[static] A function used by all UI controls that support text renderers to create an ITextRenderer instance.
FeathersControl
 Inheriteddepth : int
[read-only] The component's depth in the display list, relative to the stage.
FeathersControl
 InheritedeffectsSuspended : Boolean
[read-only] Indicates if effects have been suspended.
FeathersControl
 InheritedexplicitHeight : Number
[read-only] The height value explicitly set by passing a value to the height setter or by calling the setSize() function.
FeathersControl
 InheritedexplicitMaxHeight : Number
[read-only] The maximum height value explicitly set by passing a value to the maxHeight setter.
FeathersControl
 InheritedexplicitMaxWidth : Number
[read-only] The maximum width value explicitly set by passing a value to the maxWidth setter.
FeathersControl
 InheritedexplicitMinHeight : Number
[read-only] The minimum height value explicitly set by passing a value to the minHeight setter.
FeathersControl
 InheritedexplicitMinWidth : Number
[read-only] The minimum width value explicitly set by passing a value to the minWidth setter.
FeathersControl
 InheritedexplicitWidth : Number
[read-only] The width value explicitly set by passing a value to the width setter or to the setSize() method.
FeathersControl
  factoryID : String
The ID of the factory used to create this item renderer.
LayoutGroupTreeItemRenderer
 InheritedfocusInEffect : Function
An optional effect that is activated when the component receives focus.
FeathersControl
 InheritedfocusManager : IFocusManager
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The current focus manager for this component.
FeathersControl
 InheritedfocusOutEffect : Function
An optional effect that is activated when the component loses focus.
FeathersControl
 InheritedfocusOwner : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. Used for associating focusable display objects that are not direct children with an "owner" focusable display object, such as pop-ups.
FeathersControl
  globalStyleProvider : IStyleProvider
[static] The default IStyleProvider for all LayoutGroupTreeItemRenderer components.
LayoutGroupTreeItemRenderer
 Inheritedheight : Number
[override] The height of the component, in pixels.
FeathersControl
 InheritedhideEffect : Function
An optional effect that is activated when the component is hidden.
FeathersControl
 InheritedincludeInLayout : Boolean
Determines if the ILayout should use this object or ignore it.
FeathersControl
  isBranch : Boolean
Indicates if the data is a branch or a leaf.
LayoutGroupTreeItemRenderer
 InheritedisCreated : Boolean
[read-only] Determines if the component has been initialized and validated for the first time.
FeathersControl
 InheritedisEnabled : Boolean
Indicates whether the control is interactive or not.
FeathersControl
 InheritedisFocusEnabled : Boolean
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. Determines if this component can receive focus.
FeathersControl
 InheritedisInitialized : Boolean
[read-only] Determines if the component has been initialized yet.
FeathersControl
  isOpen : Boolean
Indicates if a branch is open or closed.
LayoutGroupTreeItemRenderer
 InheritedisQuickHitAreaEnabled : Boolean
Similar to mouseChildren on the classic display list.
FeathersControl
  isSelected : Boolean
Indicates if the IToggle is selected or not.
LayoutGroupTreeItemRenderer
 InheritedisShowingFocus : Boolean
[read-only] The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. Indicates if the showFocus() method has been called on the object when it has focus.
FeathersControl
 InheritedlayoutData : ILayoutData
Extra parameters associated with this display object that will be used by the layout algorithm.
FeathersControl
  layoutIndex : int
The index of the item within the layout.
LayoutGroupTreeItemRenderer
  location : Vector.<int>
The location (a vector of numeric indices, starting from zero) of the item within the tree's data provider.
LayoutGroupTreeItemRenderer
 InheritedmaintainTouchFocus : Boolean
[read-only] The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. If true, the display object should remain in focus, even if something else is touched.
FeathersControl
 InheritedmaxHeight : Number
The maximum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedmaxWidth : Number
The maximum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedminHeight : Number
The minimum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedminTouchHeight : Number
If using isQuickHitAreaEnabled, and the hit area's height is smaller than this value, it will be expanded.
FeathersControl
 InheritedminTouchWidth : Number
If using isQuickHitAreaEnabled, and the hit area's width is smaller than this value, it will be expanded.
FeathersControl
 InheritedminWidth : Number
The minimum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedmoveEffect : Function
An optional effect that is activated when the component is moved to a new position.
FeathersControl
 InheritednextDownFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.DOWN is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
 InheritednextLeftFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.LEFT is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
 InheritednextRightFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.RIGHT is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
 InheritednextTabFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when the tab key is pressed when a focus manager is enabled.
FeathersControl
 InheritednextUpFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.UP is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
  owner : Tree
The tree that contains this item renderer.
LayoutGroupTreeItemRenderer
 InheritedpreviousTabFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The previous object that will receive focus when the tab key is pressed while holding shift when a focus manager is enabled.
FeathersControl
 InheritedresizeEffect : Function
An optional effect that is activated when the component is resized with new dimensions.
FeathersControl
 InheritedshowEffect : Function
An optional effect that is activated when the component is shown.
FeathersControl
 InheritedstyleName : String
The concatenated styleNameList, with values separated by spaces.
FeathersControl
 InheritedstyleNameList : TokenList
[read-only] Contains a list of all "styles" assigned to this control.
FeathersControl
 InheritedstyleProvider : IStyleProvider
When a component initializes, a style provider may be used to set properties that affect the component's visual appearance.
FeathersControl
 InheritedtoolTip : String
Text to display in a tool tip to when hovering over this component, if the ToolTipManager is enabled.
FeathersControl
 Inheritedwidth : Number
[override] The width of the component, in pixels.
FeathersControl
Protected Properties
 PropertyDefined By
 InheritedactualHeight : Number = 0
The final height value that should be used for layout.
FeathersControl
 InheritedactualMinHeight : Number = 0
The final minimum height value that should be used for layout.
FeathersControl
 InheritedactualMinWidth : Number = 0
The final minimum width value that should be used for layout.
FeathersControl
 InheritedactualWidth : Number = 0
The final width value that should be used for layout.
FeathersControl
 InheriteddefaultStyleProvider : IStyleProvider
[read-only] When the FeathersControl constructor is called, the styleProvider property is set to this value.
FeathersControl
 Inheriteditems : Vector.<DisplayObject>
The items added to the group.
LayoutGroup
 InheritedviewPortBounds : ViewPortBounds
The view port bounds result object passed to the layout.
LayoutGroup
Public Methods
 MethodDefined By
  
Constructor.
LayoutGroupTreeItemRenderer
 Inherited
getBounds(targetSpace:DisplayObject, resultRect:Rectangle = null):Rectangle
[override] Feathers components use an optimized getBounds() implementation that may sometimes behave differently than regular Starling display objects.
FeathersControl
 Inherited
hideFocus():void
The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface.
FeathersControl
 Inherited
If the component has not yet initialized, initializes immediately.
FeathersControl
 Inherited
invalidate(flag:String):void
Call this function to tell the UI control that a redraw is pending.
FeathersControl
 Inherited
isInvalid(flag:String = null):Boolean
Indicates whether the control is pending validation or not.
FeathersControl
 Inherited
move(x:Number, y:Number):void
Sets both the x and the y positions of the control in a single function call.
FeathersControl
 Inherited
Readjusts the layout of the group according to its current content.
LayoutGroup
 Inherited
removeFromParentWithEffect(effect:Function, dispose:Boolean = false):void
Plays an effect before removing the component from its parent.
FeathersControl
 Inherited
Resets the styleProvider property to its default value, which is usually the global style provider for the component.
FeathersControl
 Inherited
Indicates that effects should be re-activated after being suspended.
FeathersControl
 Inherited
setSize(width:Number, height:Number):void
Sets both the width and the height of the control in a single function call.
FeathersControl
 Inherited
showFocus():void
The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface.
FeathersControl
 Inherited
Indicates that effects should not be activated temporarily.
FeathersControl
 Inherited
validate():void
Immediately validates the display object, if it is invalid.
FeathersControl
Protected Methods
 MethodDefined By
 Inherited
clearInvalidationFlag(flag:String):void
Clears an invalidation flag.
FeathersControl
  
commitData():void
Updates the renderer to display the item's data.
LayoutGroupTreeItemRenderer
 Inherited
draw():void
Override to customize layout and to adjust properties of children.
FeathersControl
 Inherited
focusInHandler(event:Event):void
Default event handler for FeathersEventType.FOCUS_IN that may be overridden in subclasses to perform additional actions when the component receives focus.
FeathersControl
 Inherited
focusOutHandler(event:Event):void
Default event handler for FeathersEventType.FOCUS_OUT that may be overridden in subclasses to perform additional actions when the component loses focus.
FeathersControl
 Inherited
The next style that is set will not be restricted.
FeathersControl
 Inherited
initialize():void
Called the first time that the UI control is added to the stage, and you should override this function to customize the initialization process.
FeathersControl
  
postLayout():void
Called after the layout updates the item renderer's children.
LayoutGroupTreeItemRenderer
  
preLayout():void
Makes final changes to the layout before it updates the item renderer's children.
LayoutGroupTreeItemRenderer
 Inherited
processStyleRestriction(key:Object):Boolean
Used by setters for properties that are considered "styles" to determine if the setter has been called directly on the component or from a style provider.
FeathersControl
 Inherited
Choose the appropriate background skin based on the control's current state.
LayoutGroup
 Inherited
Updates the focus indicator skin by showing or hiding it and adjusting its position and dimensions.
FeathersControl
 Inherited
Refreshes the values in the viewPortBounds variable that is passed to the layout.
LayoutGroup
 Inherited
saveMeasurements(width:Number, height:Number, minWidth:Number = 0, minHeight:Number = 0):Boolean
Saves the dimensions and minimum dimensions calculated for the component.
FeathersControl
 Inherited
setInvalidationFlag(flag:String):void
Sets an invalidation flag.
FeathersControl
 Inherited
setSizeInternal(width:Number, height:Number, canInvalidate:Boolean):Boolean
Sets the width and height of the control, with the option of invalidating or not.
FeathersControl
Events
 Event Summary Defined By
 InheritedDispatched after the component has validated for the first time.FeathersControl
 InheritedDispatched after initialize() has been called, but before the first time that draw() has been called.FeathersControl
 InheritedDispatched when the width or height of the control changes.FeathersControl
Styles
 StyleDefined By
 Inherited
backgroundDisabledSkin : DisplayObject
The background to display behind all content when the layout group is disabled.
LayoutGroup
  
backgroundSelectedSkin : DisplayObject
The background to display behind all content when the item renderer is selected.
LayoutGroupTreeItemRenderer
 Inherited
backgroundSkin : DisplayObject
The default background to display behind all content.
LayoutGroup
 Inherited
clipContent : Boolean
If true, the group will be clipped to its bounds.
LayoutGroup
 Inherited
focusIndicatorSkin : DisplayObject
If this component supports focus, this optional skin will be displayed above the component when showFocus() is called.
FeathersControl
 Inherited
focusPadding : Number
Quickly sets all focus padding properties to the same value.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's bottom edge and the bottom edge of the focus indicator skin.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's left edge and the left edge of the focus indicator skin.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's right edge and the right edge of the focus indicator skin.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's top edge and the top edge of the focus indicator skin.
FeathersControl
 Inherited
layout : ILayout
Controls the way that the group's children are positioned and sized.
LayoutGroup
Public Constants
 ConstantDefined By
 InheritedALTERNATE_STYLE_NAME_TOOLBAR : String = "feathers-toolbar-layout-group"
[static] An alternate style name to use with LayoutGroup to allow a theme to give it a toolbar style.
LayoutGroup
 InheritedINVALIDATION_FLAG_ALL : String = "all"
[static] Flag to indicate that everything is invalid and should be redrawn.
FeathersControl
 InheritedINVALIDATION_FLAG_DATA : String = "data"
[static] Invalidation flag to indicate that the primary data displayed by the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_FOCUS : String = "focus"
[static] Invalidation flag to indicate that the focus of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_LAYOUT : String = "layout"
[static] Invalidation flag to indicate that the layout of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SCROLL : String = "scroll"
[static] Invalidation flag to indicate that the scroll position of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SELECTED : String = "selected"
[static] Invalidation flag to indicate that the selection of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SIZE : String = "size"
[static] Invalidation flag to indicate that the dimensions of the UI control have changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SKIN : String = "skin"
[static] Invalidation flag to indicate that the skin of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_STATE : String = "state"
[static] Invalidation flag to indicate that the state has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_STYLES : String = "styles"
[static] Invalidation flag to indicate that the styles or visual appearance of the UI control has changed.
FeathersControl
Protected Constants
 ConstantDefined By
 InheritedINVALIDATION_FLAG_CLIPPING : String = "clipping"
[static] Flag to indicate that the clipping has changed.
LayoutGroup
Property Detail
dataproperty
data:Object

An item from the tree's data provider. The data may change if this item renderer is reused for a new item because it's no longer needed for the original item.

This property is set by the tree, and it should not be set manually.


Implementation
    public function get data():Object
    public function set data(value:Object):void
factoryIDproperty 
factoryID:String

The ID of the factory used to create this item renderer.

This property is set by the tree, and it should not be set manually.


Implementation
    public function get factoryID():String
    public function set factoryID(value:String):void
globalStyleProviderproperty 
public static var globalStyleProvider:IStyleProvider

The default IStyleProvider for all LayoutGroupTreeItemRenderer components.

The default value is null.

See also

isBranchproperty 
isBranch:Boolean

Indicates if the data is a branch or a leaf.

This property is set by the tree, and it should not be set manually.


Implementation
    public function get isBranch():Boolean
    public function set isBranch(value:Boolean):void
isOpenproperty 
isOpen:Boolean

Indicates if a branch is open or closed. An item that is not a branch will always return false.

This property is set by the tree, and it should not be set manually.


Implementation
    public function get isOpen():Boolean
    public function set isOpen(value:Boolean):void
isSelectedproperty 
isSelected:Boolean

Indicates if the IToggle is selected or not.


Implementation
    public function get isSelected():Boolean
    public function set isSelected(value:Boolean):void
layoutIndexproperty 
layoutIndex:int

The index of the item within the layout.

This property is set by the tree, and should not be set manually.


Implementation
    public function get layoutIndex():int
    public function set layoutIndex(value:int):void
locationproperty 
location:Vector.<int>

The location (a vector of numeric indices, starting from zero) of the item within the tree's data provider. Like the data property, this value may change if this item renderer is reused by the tree for a different item.

This property is set by the tree, and it should not be set manually.


Implementation
    public function get location():Vector.<int>
    public function set location(value:Vector.<int>):void
ownerproperty 
owner:Tree

The tree that contains this item renderer.

This property is set by the tree, and it should not be set manually.


Implementation
    public function get owner():Tree
    public function set owner(value:Tree):void
Constructor Detail
LayoutGroupTreeItemRenderer()Constructor
public function LayoutGroupTreeItemRenderer()

Constructor.

Method Detail
commitData()method
protected function commitData():void

Updates the renderer to display the item's data. Override this function to pass data to sub-components and react to data changes.

Don't forget to handle the case where the data is null.

postLayout()method 
protected function postLayout():void

Called after the layout updates the item renderer's children. If any children are excluded from the layout, you can update them in the postLayout() function if you need to use the final width and height in any calculations.

In subclasses, if you create properties that affect the layout, invalidate using INVALIDATION_FLAG_LAYOUT to trigger a call to the postLayout() function when the component validates.

To make changes to the layout before it updates the item renderer's children, override the preLayout() function instead.

See also

preLayout()method 
protected function preLayout():void

Makes final changes to the layout before it updates the item renderer's children. If your layout requires changing the layoutData property on the item renderer's sub-components, override the preLayout() function to make those changes.

In subclasses, if you create properties that affect the layout, invalidate using INVALIDATION_FLAG_LAYOUT to trigger a call to the preLayout() function when the component validates.

The final width and height of the item renderer are not yet known when this function is called. It is meant mainly for adjusting values used by fluid layouts, such as constraints or percentages. If you need io access the final width and height of the item renderer, override the postLayout() function instead.

See also

Style Detail
backgroundSelectedSkinstyle
backgroundSelectedSkin:DisplayObject

The background to display behind all content when the item renderer is selected. The background skin is resized to fill the full width and height of the layout group.

In the following example, the group is given a selected background skin:

group.backgroundSelectedSkin = new Image( texture );

The default value is null.