Packagefeathers.controls
Classpublic class PickerList
InheritancePickerList Inheritance FeathersControl Inheritance Sprite Inheritance DisplayObjectContainer Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
Implements IFocusDisplayObject, ITextBaselineControl

Product Version : Feathers 1.0.0

Displays a button that may be triggered to display a pop-up list. The list may be customized to display in different ways, such as a drop-down, in a Callout, or as a modal overlay.

The following example creates a picker list, gives it a data provider, tells the item renderer how to interpret the data, and listens for when the selection changes:

var list:PickerList = new PickerList();

list.dataProvider = new ArrayCollection(
[
    { text: "Milk", thumbnail: textureAtlas.getTexture( "milk" ) },
    { text: "Eggs", thumbnail: textureAtlas.getTexture( "eggs" ) },
    { text: "Bread", thumbnail: textureAtlas.getTexture( "bread" ) },
    { text: "Chicken", thumbnail: textureAtlas.getTexture( "chicken" ) },
]);

list.itemRendererFactory = function():IListItemRenderer
{
    var renderer:DefaultListItemRenderer = new DefaultListItemRenderer();
    renderer.labelField = "text";
    renderer.iconSourceField = "thumbnail";
    return renderer;
};

list.addEventListener( Event.CHANGE, list_changeHandler );

this.addChild( list );

See also

How to use the Feathers PickerList component


Public Properties
 PropertyDefined By
 InheritedaddedEffect : Function
An optional effect that is activated when the component is added to the stage.
FeathersControl
 Inheritedalpha : Number
The opacity of the object.
DisplayObject
 Inheritedbase : DisplayObject
[read-only] The topmost object in the display tree the object is part of.
DisplayObject
  baseline : Number
[read-only] Returns the text baseline measurement, in pixels.
PickerList
 InheritedblendMode : String
The blend mode determines how the object is blended with the objects underneath.
DisplayObject
 Inheritedbounds : Rectangle
[read-only] The bounds of the object relative to the local coordinates of the parent.
DisplayObject
  buttonFactory : Function
A function used to generate the picker list's button sub-component.
PickerList
  buttonProperties : Object
An object that stores properties for the picker's button sub-component, and the properties will be passed down to the button when the picker validates.
PickerList
  dataProvider : IListCollection
The collection of data displayed by the list.
PickerList
 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
 Inheritedfilter : FragmentFilter
The filter that is attached to the display object.
DisplayObject
 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 PickerList components.
PickerList
 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
 Inheritedis3D : Boolean
[read-only] Indicates if this object or any of its parents is a 'Sprite3D' object.
DisplayObject
 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
 InheritedisQuickHitAreaEnabled : Boolean
Similar to mouseChildren on the classic display list.
FeathersControl
 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
  itemRendererFactory : Function
A function called that is expected to return a new item renderer.
PickerList
  labelField : String
The field in the selected item that contains the label text to be displayed by the picker list's button control.
PickerList
  labelFunction : Function
A function used to generate label text for the selected item displayed by the picker list's button control.
PickerList
 InheritedlayoutData : ILayoutData
Extra parameters associated with this display object that will be used by the layout algorithm.
FeathersControl
  listFactory : Function
A function used to generate the picker list's pop-up list sub-component.
PickerList
  listProperties : Object
An object that stores properties for the picker's pop-up list sub-component, and the properties will be passed down to the pop-up list when the picker validates.
PickerList
 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
 Inheritedmask : DisplayObject
The display object that acts as a mask for the current object.
DisplayObject
 InheritedmaskInverted : Boolean
Indicates if the masked region of this object is set to be inverted.
DisplayObject
 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
 Inheritedname : String
The name of the display object (default: null).
DisplayObject
 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
 InheritednumChildren : int
[read-only] The number of children of this container.
DisplayObjectContainer
 Inheritedparent : DisplayObjectContainer
[read-only] The display object container that contains this display object.
DisplayObject
 InheritedpivotX : Number
The x coordinate of the object's origin in its own coordinate space (default: 0).
DisplayObject
 InheritedpivotY : Number
The y coordinate of the object's origin in its own coordinate space (default: 0).
DisplayObject
 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
  prompt : String
Text displayed by the button sub-component when no items are currently selected.
PickerList
 InheritedrequiresRedraw : Boolean
[read-only] Indicates if the object needs to be redrawn in the upcoming frame, i.e.
DisplayObject
 InheritedresizeEffect : Function
An optional effect that is activated when the component is resized with new dimensions.
FeathersControl
 Inheritedroot : DisplayObject
[read-only] The root object the display object is connected to (i.e.
DisplayObject
 Inheritedrotation : Number
The rotation of the object in radians.
DisplayObject
 Inheritedscale : Number
Sets both 'scaleX' and 'scaleY' to the same value.
DisplayObject
 InheritedscaleX : Number
The horizontal scale factor.
DisplayObject
 InheritedscaleY : Number
The vertical scale factor.
DisplayObject
  selectedIndex : int
The index of the currently selected item.
PickerList
  selectedItem : Object
The currently selected item.
PickerList
 InheritedshowEffect : Function
An optional effect that is activated when the component is shown.
FeathersControl
 InheritedskewX : Number
The horizontal skew angle in radians.
DisplayObject
 InheritedskewY : Number
The vertical skew angle in radians.
DisplayObject
 Inheritedstage : Stage
[read-only] The stage the display object is connected to, or null if it is not connected to the stage.
DisplayObject
 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
 Inheritedtouchable : Boolean
Indicates if this object (and its children) will receive touch events.
DisplayObject
 InheritedtouchGroup : Boolean
If a container is a 'touchGroup', it will act as a single touchable object.
DisplayObjectContainer
 InheritedtransformationMatrix : Matrix
The transformation matrix of the object relative to its parent.
DisplayObject
 InheritedtransformationMatrix3D : Matrix3D
[read-only] The 3D transformation matrix of the object relative to its parent.
DisplayObject
  typicalItem : Object
Used to auto-size the list.
PickerList
 InheriteduseHandCursor : Boolean
Indicates if the mouse cursor should transform into a hand while it's over the sprite.
DisplayObject
 Inheritedvisible : Boolean
The visibility of the object.
DisplayObject
 Inheritedwidth : Number
[override] The width of the component, in pixels.
FeathersControl
 Inheritedx : Number
The x coordinate of the object relative to the local coordinates of the parent.
DisplayObject
 Inheritedy : Number
The y coordinate of the object relative to the local coordinates of the parent.
DisplayObject
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
  button : Button
The button sub-component.
PickerList
  buttonStyleName : String = feathers-picker-list-button
The default value added to the styleNameList of the button.
PickerList
 InheriteddefaultStyleProvider : IStyleProvider
[read-only] When the FeathersControl constructor is called, the styleProvider property is set to this value.
FeathersControl
  list : List
The list sub-component.
PickerList
  listStyleName : String = feathers-picker-list-list
The default value added to the styleNameList of the pop-up list.
PickerList
Public Methods
 MethodDefined By
  
Constructor.
PickerList
 Inherited
Adds a child to the container.
DisplayObjectContainer
 Inherited
Adds a child to the container at a certain index.
DisplayObjectContainer
 Inherited
addEventListener(type:String, listener:Function):void
[override] Registers an event listener at a certain object.
DisplayObject
 Inherited
alignPivot(horizontalAlign:String = center, verticalAlign:String = center):void
Moves the pivot point to a certain position within the local coordinate system of the object.
DisplayObject
 Inherited
broadcastEvent(event:Event):void
Dispatches an event on all children (recursively).
DisplayObjectContainer
 Inherited
broadcastEventWith(eventType:String, data:Object = null):void
Dispatches an event with the given parameters on all children (recursively).
DisplayObjectContainer
  
closeList():void
Closes the pop-up list, if it is open.
PickerList
 Inherited
contains(child:DisplayObject):Boolean
Determines if a certain object is a child of the container (recursively).
DisplayObjectContainer
 Inherited
dispatchEvent(event:Event):void
Dispatches an event to all objects that have registered listeners for its type.
EventDispatcher
 Inherited
dispatchEventWith(type:String, bubbles:Boolean = false, data:Object = null):void
Dispatches an event with the given parameters to all objects that have registered listeners for the given type.
EventDispatcher
  
dispose():void
[override] Disposes the display object.
PickerList
 Inherited
drawToBitmapData(out:BitmapData = null, color:uint = 0x0, alpha:Number = 0.0):BitmapData
Draws the object into a BitmapData object.
DisplayObject
 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
Returns a child object at a certain index.
DisplayObjectContainer
 Inherited
Returns a child object with a certain name (non-recursively).
DisplayObjectContainer
 Inherited
Returns the index of a child within the container, or "-1" if it is not found.
DisplayObjectContainer
 Inherited
getTransformationMatrix(targetSpace:DisplayObject, out:Matrix = null):Matrix
Creates a matrix that represents the transformation from the local coordinate system to another.
DisplayObject
 Inherited
getTransformationMatrix3D(targetSpace:DisplayObject, out:Matrix3D = null):Matrix3D
Creates a matrix that represents the transformation from the local coordinate system to another.
DisplayObject
 Inherited
globalToLocal(globalPoint:Point, out:Point = null):Point
Transforms a point from global (stage) coordinates to the local coordinate system.
DisplayObject
 Inherited
globalToLocal3D(globalPoint:Point, out:Vector3D = null):Vector3D
Transforms a point from global (stage) coordinates to the 3D local coordinate system.
DisplayObject
 Inherited
hasEventListener(type:String, listener:Function = null):Boolean
If called with one argument, figures out if there are any listeners registered for the given event type.
EventDispatcher
 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
hitTest(localPoint:Point):DisplayObject
[override] Returns the object that is found topmost beneath a point in local coordinates, or nil if the test fails.
DisplayObjectContainer
 Inherited
hitTestMask(localPoint:Point):Boolean
Checks if a certain point is inside the display object's mask.
DisplayObject
 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
  
itemToLabel(item:Object):String
Using labelField and labelFunction, generates a label from the selected item to be displayed by the picker list's button control.
PickerList
 Inherited
local3DToGlobal(localPoint:Vector3D, out:Point = null):Point
Transforms a 3D point from the local coordinate system to global (stage) coordinates.
DisplayObject
 Inherited
localToGlobal(localPoint:Point, out:Point = null):Point
Transforms a point from the local coordinate system to global (stage) coordinates.
DisplayObject
 Inherited
move(x:Number, y:Number):void
Sets both the x and the y positions of the control in a single function call.
FeathersControl
  
openList():void
Opens the pop-up list, if it isn't already open.
PickerList
 Inherited
removeChild(child:DisplayObject, dispose:Boolean = false):DisplayObject
Removes a child from the container.
DisplayObjectContainer
 Inherited
removeChildAt(index:int, dispose:Boolean = false):DisplayObject
Removes a child at a certain index.
DisplayObjectContainer
 Inherited
removeChildren(beginIndex:int = 0, endIndex:int = -1, dispose:Boolean = false):void
Removes a range of children from the container (endIndex included).
DisplayObjectContainer
 Inherited
removeEventListener(type:String, listener:Function):void
[override] Removes an event listener from the object.
DisplayObject
 Inherited
removeEventListeners(type:String = null):void
[override] Removes all event listeners with a certain type, or all of them if type is null.
DisplayObject
 Inherited
removeFromParent(dispose:Boolean = false):void
Removes the object from its parent, if it has one, and optionally disposes it.
DisplayObject
 Inherited
removeFromParentWithEffect(effect:Function, dispose:Boolean = false):void
Plays an effect before removing the component from its parent.
FeathersControl
 Inherited
render(painter:Painter):void
[override] Renders the display object with the help of a painter object.
DisplayObjectContainer
 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
setChildIndex(child:DisplayObject, index:int):void
Moves a child to a certain index.
DisplayObjectContainer
 Inherited
Forces the object to be redrawn in the next frame.
DisplayObject
 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
sortChildren(compareFunction:Function):void
Sorts the children according to a given function (that works just like the sort function of the Vector class).
DisplayObjectContainer
 Inherited
Indicates that effects should not be activated temporarily.
FeathersControl
 Inherited
Swaps the indexes of two children.
DisplayObjectContainer
 Inherited
swapChildrenAt(index1:int, index2:int):void
Swaps the indexes of two children.
DisplayObjectContainer
 Inherited
validate():void
Immediately validates the display object, if it is invalid.
FeathersControl
Protected Methods
 MethodDefined By
  
If the component's dimensions have not been set explicitly, it will measure its content and determine an ideal size for itself.
PickerList
 Inherited
clearInvalidationFlag(flag:String):void
Clears an invalidation flag.
FeathersControl
  
Creates and adds the button sub-component and removes the old instance, if one exists.
PickerList
  
createList():void
Creates and adds the list sub-component and removes the old instance, if one exists.
PickerList
 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
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
 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
Updates the focus indicator skin by showing or hiding it and adjusting its position and dimensions.
FeathersControl
 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 when an object is added to a parent.DisplayObject
 InheritedDispatched when an object is connected to the stage (directly or indirectly).DisplayObject
  Dispatched when the selected item changes.PickerList
  Dispatched when the pop-up list is closed.PickerList
 InheritedDispatched after the component has validated for the first time.FeathersControl
 InheritedDispatched once every frame on every object that is connected to the stage.DisplayObject
 InheritedDispatched after initialize() has been called, but before the first time that draw() has been called.FeathersControl
 InheritedDispatched when a key on the keyboard is pressed.DisplayObject
 InheritedDispatched when a key on the keyboard is released.DisplayObject
  Dispatched when the pop-up list is opened.PickerList
 InheritedDispatched when an object is removed from its parent.DisplayObject
 InheritedDispatched when an object is removed from the stage and won't be rendered any longer.DisplayObject
 InheritedDispatched when the width or height of the control changes.FeathersControl
 InheritedDispatched when an object is touched.DisplayObject
Styles
 Style Description Defined By
  
customButtonStyleName
Type: String
A style name to add to the picker list's button sub-component. Typically used by a theme to provide different styles to different picker lists.

In the following example, a custom button style name is passed to the picker list:

list.customButtonStyleName = "my-custom-button";

In your theme, you can target this sub-component style name to provide different styles than the default:

getStyleProviderForClass( Button ).setFunctionForStyleName( "my-custom-button", setCustomButtonStyles );
The default value is null.

See also

PickerList
  
customItemRendererStyleName
Type: String
A style name to add to all item renderers in the pop-up list. Typically used by a theme to provide different skins to different lists.

The following example sets the item renderer name:

list.customItemRendererStyleName = "my-custom-item-renderer";

In your theme, you can target this sub-component name to provide different skins than the default style:

getStyleProviderForClass( DefaultListItemRenderer ).setFunctionForStyleName( "my-custom-item-renderer", setCustomItemRendererStyles );
The default value is null.

See also

PickerList
  
customListStyleName
Type: String
A style name to add to the picker list's list sub-component. Typically used by a theme to provide different styles to different picker lists.

In the following example, a custom list style name is passed to the picker list:

list.customListStyleName = "my-custom-list";

In your theme, you can target this sub-component style name to provide different styles than the default:

getStyleProviderForClass( List ).setFunctionForStyleName( "my-custom-list", setCustomListStyles );
The default value is null.

See also

PickerList
 InheritedType: starling.display.DisplayObject
If this component supports focus, this optional skin will be displayed above the component when showFocus() is called.

See also

FeathersControl
 InheritedType: Number
Quickly sets all focus padding properties to the same value.

See also

FeathersControl
 InheritedType: Number
The minimum space, in pixels, between the object's bottom edge and the bottom edge of the focus indicator skin.

See also

FeathersControl
 InheritedType: Number
The minimum space, in pixels, between the object's left edge and the left edge of the focus indicator skin.

See also

FeathersControl
 InheritedType: Number
The minimum space, in pixels, between the object's right edge and the right edge of the focus indicator skin.

See also

FeathersControl
 InheritedType: Number
The minimum space, in pixels, between the object's top edge and the top edge of the focus indicator skin.

See also

FeathersControl
  
popUpContentManager
Type: feathers.controls.popups.IPopUpContentManager
A manager that handles the details of how to display the pop-up list.

In the following example, a pop-up content manager is provided:

list.popUpContentManager = new CalloutPopUpContentManager();
The default value is null.
PickerList
  
toggleButtonOnOpenAndClose
Type: Boolean
Determines if the isSelected property of the picker list's button sub-component is toggled when the list is opened and closed, if the class used to create the thumb implements the IToggle interface. Useful for skinning to provide a different appearance for the button based on whether the list is open or not.

In the following example, the button is toggled on open and close:

list.toggleButtonOnOpenAndClose = true;
The default value is false.

See also

PickerList
Public Constants
 ConstantDefined By
  DEFAULT_CHILD_STYLE_NAME_BUTTON : String = feathers-picker-list-button
[static] The default value added to the styleNameList of the button.
PickerList
  DEFAULT_CHILD_STYLE_NAME_LIST : String = feathers-picker-list-list
[static] The default value added to the styleNameList of the pop-up list.
PickerList
 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
Property Detail
baselineproperty
baseline:Number  [read-only]

Returns the text baseline measurement, in pixels.


Implementation
    public function get baseline():Number
buttonproperty 
protected var button:Button

The button sub-component.

For internal use in subclasses.

See also

buttonFactoryproperty 
buttonFactory:Function

A function used to generate the picker list's button sub-component. The button must be an instance of Button. This factory can be used to change properties on the button when it is first created. For instance, if you are skinning Feathers components without a theme, you might use this factory to set skins and other styles on the button.

The function should have the following signature:

function():Button

In the following example, a custom button factory is passed to the picker list:

    list.buttonFactory = function():Button
    {
        var button:Button = new Button();
        button.defaultSkin = new Image( upTexture );
        button.downSkin = new Image( downTexture );
        return button;
    };

The default value is null.


Implementation
    public function get buttonFactory():Function
    public function set buttonFactory(value:Function):void

See also

buttonPropertiesproperty 
buttonProperties:Object

An object that stores properties for the picker's button sub-component, and the properties will be passed down to the button when the picker validates. For a list of available properties, refer to feathers.controls.Button.

If the subcomponent has its own subcomponents, their properties can be set too, using attribute @ notation. For example, to set the skin on the thumb which is in a SimpleScrollBar, which is in a List, you can use the following syntax:

list.verticalScrollBarProperties.@thumbProperties.defaultSkin = new Image(texture);

Setting properties in a buttonFactory function instead of using buttonProperties will result in better performance.

In the following example, the button properties are passed to the picker list:

    list.buttonProperties.defaultSkin = new Image( upTexture );
    list.buttonProperties.downSkin = new Image( downTexture );

The default value is null.


Implementation
    public function get buttonProperties():Object
    public function set buttonProperties(value:Object):void

See also

buttonStyleNameproperty 
protected var buttonStyleName:String = feathers-picker-list-button

The default value added to the styleNameList of the button. This variable is protected so that sub-classes can customize the button style name in their constructors instead of using the default style name defined by DEFAULT_CHILD_STYLE_NAME_BUTTON.

To customize the button style name without subclassing, see customButtonStyleName.

See also

dataProviderproperty 
dataProvider:IListCollection

The collection of data displayed by the list.

The following example passes in a data provider and tells the item renderer how to interpret the data:

    list.dataProvider = new ArrayCollection(
    [
        { text: "Milk", thumbnail: textureAtlas.getTexture( "milk" ) },
        { text: "Eggs", thumbnail: textureAtlas.getTexture( "eggs" ) },
        { text: "Bread", thumbnail: textureAtlas.getTexture( "bread" ) },
        { text: "Chicken", thumbnail: textureAtlas.getTexture( "chicken" ) },
    ]);
    
    list.itemRendererFactory = function():IListItemRenderer
    {
        var renderer:DefaultListItemRenderer = new DefaultListItemRenderer();
        renderer.labelField = "text";
        renderer.iconSourceField = "thumbnail";
        return renderer;
    };

The default value is null.


Implementation
    public function get dataProvider():IListCollection
    public function set dataProvider(value:IListCollection):void

See also

globalStyleProviderproperty 
public static var globalStyleProvider:IStyleProvider

The default IStyleProvider for all PickerList components.

The default value is null.

See also

itemRendererFactoryproperty 
itemRendererFactory:Function

A function called that is expected to return a new item renderer.

The function is expected to have the following signature:

function():IListItemRenderer

The following example provides a factory for the item renderer:

    list.itemRendererFactory = function():IListItemRenderer
    {
        var renderer:CustomItemRendererClass = new CustomItemRendererClass();
        renderer.backgroundSkin = new Quad( 10, 10, 0xff0000 );
        return renderer;
    };

The default value is null.


Implementation
    public function get itemRendererFactory():Function
    public function set itemRendererFactory(value:Function):void

See also

labelFieldproperty 
labelField:String

The field in the selected item that contains the label text to be displayed by the picker list's button control. If the selected item does not have this field, and a labelFunction is not defined, then the picker list will default to calling toString() on the selected item. To omit the label completely, define a labelFunction that returns an empty string.

Important: This value only affects the selected item displayed by the picker list's button control. It will not affect the label text of the pop-up list's item renderers.

In the following example, the label field is changed:

    list.labelField = "text";

The default value is "label".


Implementation
    public function get labelField():String
    public function set labelField(value:String):void

See also

labelFunctionproperty 
labelFunction:Function

A function used to generate label text for the selected item displayed by the picker list's button control. If this function is not null, then the labelField will be ignored.

Important: This value only affects the selected item displayed by the picker list's button control. It will not affect the label text of the pop-up list's item renderers.

The function is expected to have the following signature:

function( item:Object ):String

All of the label fields and functions, ordered by priority:

  1. labelFunction
  2. labelField

In the following example, the label field is changed:

    list.labelFunction = function( item:Object ):String
    {
        return item.firstName + " " + item.lastName;
    };

The default value is null.


Implementation
    public function get labelFunction():Function
    public function set labelFunction(value:Function):void

See also

listproperty 
protected var list:List

The list sub-component.

For internal use in subclasses.

See also

listFactoryproperty 
listFactory:Function

A function used to generate the picker list's pop-up list sub-component. The list must be an instance of List. This factory can be used to change properties on the list when it is first created. For instance, if you are skinning Feathers components without a theme, you might use this factory to set skins and other styles on the list.

The function should have the following signature:

function():List

In the following example, a custom list factory is passed to the picker list:

    list.listFactory = function():List
    {
        var popUpList:List = new List();
        popUpList.backgroundSkin = new Image( texture );
        return popUpList;
    };

The default value is null.


Implementation
    public function get listFactory():Function
    public function set listFactory(value:Function):void

See also

listPropertiesproperty 
listProperties:Object

An object that stores properties for the picker's pop-up list sub-component, and the properties will be passed down to the pop-up list when the picker validates. For a list of available properties, refer to feathers.controls.List.

If the subcomponent has its own subcomponents, their properties can be set too, using attribute @ notation. For example, to set the skin on the thumb which is in a SimpleScrollBar, which is in a List, you can use the following syntax:

list.verticalScrollBarProperties.@thumbProperties.defaultSkin = new Image(texture);

Setting properties in a listFactory function instead of using listProperties will result in better performance.

In the following example, the list properties are passed to the picker list:

    list.listProperties.backgroundSkin = new Image( texture );

The default value is null.


Implementation
    public function get listProperties():Object
    public function set listProperties(value:Object):void

See also

listStyleNameproperty 
protected var listStyleName:String = feathers-picker-list-list

The default value added to the styleNameList of the pop-up list. This variable is protected so that sub-classes can customize the list style name in their constructors instead of using the default style name defined by DEFAULT_CHILD_STYLE_NAME_LIST.

To customize the pop-up list name without subclassing, see customListStyleName.

See also

promptproperty 
prompt:String

Text displayed by the button sub-component when no items are currently selected.

In the following example, a prompt is given to the picker list and the selected item is cleared to display the prompt:

    list.prompt = "Select an Item";
    list.selectedIndex = -1;

The default value is null.


Implementation
    public function get prompt():String
    public function set prompt(value:String):void
selectedIndexproperty 
selectedIndex:int

The index of the currently selected item. Returns -1 if no item is selected.

The following example selects an item by its index:

    list.selectedIndex = 2;

The following example clears the selected index:

    list.selectedIndex = -1;

The following example listens for when selection changes and requests the selected index:

    function list_changeHandler( event:Event ):void
    {
        var list:PickerList = PickerList( event.currentTarget );
        var index:int = list.selectedIndex;
    
    }
    list.addEventListener( Event.CHANGE, list_changeHandler );

The default value is -1.


Implementation
    public function get selectedIndex():int
    public function set selectedIndex(value:int):void

See also

selectedItemproperty 
selectedItem:Object

The currently selected item. Returns null if no item is selected.

The following example changes the selected item:

    list.selectedItem = list.dataProvider.getItemAt(0);

The following example clears the selected item:

    list.selectedItem = null;

The following example listens for when selection changes and requests the selected item:

    function list_changeHandler( event:Event ):void
    {
        var list:PickerList = PickerList( event.currentTarget );
        var item:Object = list.selectedItem;
    
    }
    list.addEventListener( Event.CHANGE, list_changeHandler );

The default value is null.


Implementation
    public function get selectedItem():Object
    public function set selectedItem(value:Object):void

See also

typicalItemproperty 
typicalItem:Object

Used to auto-size the list. If the list's width or height is NaN, the list will try to automatically pick an ideal size. This item is used in that process to create a sample item renderer.

The following example provides a typical item:

    list.typicalItem = { text: "A typical item", thumbnail: texture };

The default value is null.


Implementation
    public function get typicalItem():Object
    public function set typicalItem(value:Object):void
Constructor Detail
PickerList()Constructor
public function PickerList()

Constructor.

Method Detail
autoSizeIfNeeded()method
protected function autoSizeIfNeeded():Boolean

If the component's dimensions have not been set explicitly, it will measure its content and determine an ideal size for itself. If the explicitWidth or explicitHeight member variables are set, those value will be used without additional measurement. If one is set, but not the other, the dimension with the explicit value will not be measured, but the other non-explicit dimension will still need measurement.

Calls saveMeasurements() to set up the actualWidth and actualHeight member variables used for layout.

Meant for internal use, and subclasses may override this function with a custom implementation.

Returns
Boolean
closeList()method 
public function closeList():void

Closes the pop-up list, if it is open.

createButton()method 
protected function createButton():void

Creates and adds the button sub-component and removes the old instance, if one exists.

Meant for internal use, and subclasses may override this function with a custom implementation.

See also

createList()method 
protected function createList():void

Creates and adds the list sub-component and removes the old instance, if one exists.

Meant for internal use, and subclasses may override this function with a custom implementation.

See also

dispose()method 
override public function dispose():void

Disposes the display object.

itemToLabel()method 
public function itemToLabel(item:Object):String

Using labelField and labelFunction, generates a label from the selected item to be displayed by the picker list's button control.

Important: This value only affects the selected item displayed by the picker list's button control. It will not affect the label text of the pop-up list's item renderers.

Parameters

item:Object

Returns
String
openList()method 
public function openList():void

Opens the pop-up list, if it isn't already open.

Event Detail
change Event
Event Object Type: starling.events.Event
Event.type property = starling.events.Event.CHANGE

Dispatched when the selected item changes.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
datanull
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.

An event type to be utilized in custom events. Not used by Starling right now.

See also

close Event  
Event Object Type: starling.events.Event
Event.type property = starling.events.Event.CLOSE

Dispatched when the pop-up list is closed.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
datanull
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.

An event type to be utilized in custom events. Not used by Starling right now.
open Event  
Event Object Type: starling.events.Event
Event.type property = starling.events.Event.OPEN

Dispatched when the pop-up list is opened.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
datanull
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.

An event type to be utilized in custom events. Not used by Starling right now.
Constant Detail
DEFAULT_CHILD_STYLE_NAME_BUTTONConstant
public static const DEFAULT_CHILD_STYLE_NAME_BUTTON:String = feathers-picker-list-button

The default value added to the styleNameList of the button.

See also

DEFAULT_CHILD_STYLE_NAME_LISTConstant 
public static const DEFAULT_CHILD_STYLE_NAME_LIST:String = feathers-picker-list-list

The default value added to the styleNameList of the pop-up list.

See also