Packagefeathers.controls
Classpublic class ScrollBar
InheritanceScrollBar Inheritance FeathersControl Inheritance starling.display.Sprite
Implements IDirectionalScrollBar

Product Version : Feathers 1.0.0

Select a value between a minimum and a maximum by dragging a thumb over a physical range or by using step buttons. This is a desktop-centric scroll bar with many skinnable parts. For mobile, the SimpleScrollBar is probably a better choice as it provides only the thumb to indicate position without all the extra chrome.

The following example updates a list to use scroll bars:

list.horizontalScrollBarFactory = function():IScrollBar
{
    return new ScrollBar();
};
list.verticalScrollBarFactory = function():IScrollBar
{
    return new ScrollBar();
};

See also

How to use the Feathers ScrollBar component
feathers.controls.SimpleScrollBar


Public Properties
 PropertyDefined By
 InheritedaddedEffect : Function
An optional effect that is activated when the component is added to the stage.
FeathersControl
  decrementButtonFactory : Function
A function used to generate the scroll bar's decrement button sub-component.
ScrollBar
  decrementButtonProperties : Object
An object that stores properties for the scroll bar's decrement button, and the properties will be passed down to the decrement button when the scroll bar validates.
ScrollBar
 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
 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 ScrollBar components.
ScrollBar
 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
  incrementButtonFactory : Function
A function used to generate the scroll bar's increment button sub-component.
ScrollBar
  incrementButtonProperties : Object
An object that stores properties for the scroll bar's increment button, and the properties will be passed down to the increment button when the scroll bar validates.
ScrollBar
 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
 InheritedlayoutData : ILayoutData
Extra parameters associated with this display object that will be used by the layout algorithm.
FeathersControl
  liveDragging : Boolean = true
Determines if the scroll bar dispatches the Event.CHANGE event every time the thumb moves, or only once it stops moving.
ScrollBar
 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
  maximum : Number
The maximum numeric value of the range.
ScrollBar
  maximumTrackFactory : Function
A function used to generate the scroll bar's maximum track sub-component.
ScrollBar
  maximumTrackProperties : Object
An object that stores properties for the scroll bar's "maximum" track, and the properties will be passed down to the "maximum" track when the scroll bar validates.
ScrollBar
 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
  minimum : Number
The minimum numeric value of the range.
ScrollBar
  minimumTrackFactory : Function
A function used to generate the scroll bar's minimum track sub-component.
ScrollBar
  minimumTrackProperties : Object
An object that stores properties for the scroll bar's "minimum" track, and the properties will be passed down to the "minimum" track when the scroll bar validates.
ScrollBar
 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
  page : Number
The amount the scroll bar value must change to get from one "page" to the next.
ScrollBar
 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
  repeatDelay : Number
The time, in seconds, before actions are repeated.
ScrollBar
 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
  step : Number
The amount the value must change to increment or decrement.
ScrollBar
 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
  thumbFactory : Function
A function used to generate the scroll bar's thumb sub-component.
ScrollBar
  thumbProperties : Object
An object that stores properties for the scroll bar's thumb, and the properties will be passed down to the thumb when the scroll bar validates.
ScrollBar
 InheritedtoolTip : String
Text to display in a tool tip to when hovering over this component, if the ToolTipManager is enabled.
FeathersControl
  value : Number
The current numeric value.
ScrollBar
 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
  decrementButton : BasicButton
The scroll bar's decrement button sub-component.
ScrollBar
  decrementButtonStyleName : String = "feathers-scroll-bar-decrement-button"
The value added to the styleNameList of the decrement button.
ScrollBar
 InheriteddefaultStyleProvider : IStyleProvider
[read-only] When the FeathersControl constructor is called, the styleProvider property is set to this value.
FeathersControl
  incrementButton : BasicButton
The scroll bar's increment button sub-component.
ScrollBar
  incrementButtonStyleName : String = "feathers-scroll-bar-increment-button"
The value added to the styleNameList of the increment button.
ScrollBar
  maximumTrack : DisplayObject
The scroll bar's maximum track sub-component.
ScrollBar
  maximumTrackStyleName : String = "feathers-scroll-bar-maximum-track"
The value added to the styleNameList of the maximum track.
ScrollBar
  minimumTrack : DisplayObject
The scroll bar's minimum track sub-component.
ScrollBar
  minimumTrackStyleName : String = "feathers-scroll-bar-minimum-track"
The value added to the styleNameList of the minimum track.
ScrollBar
  thumb : DisplayObject
The scroll bar's thumb sub-component.
ScrollBar
  thumbStyleName : String = "feathers-scroll-bar-thumb"
The value added to the styleNameList of the thumb.
ScrollBar
Public Methods
 MethodDefined By
  
Constructor.
ScrollBar
 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
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
  
If the component's dimensions have not been set explicitly, it will measure its content and determine an ideal size for itself.
ScrollBar
 Inherited
clearInvalidationFlag(flag:String):void
Clears an invalidation flag.
FeathersControl
  
Creates and adds the decrementButton sub-component and removes the old instance, if one exists.
ScrollBar
  
Creates and adds the incrementButton sub-component and removes the old instance, if one exists.
ScrollBar
  
Creates and adds the maximumTrack sub-component and removes the old instance, if one exists.
ScrollBar
  
Creates and adds the minimumTrack sub-component and removes the old instance, if one exists.
ScrollBar
  
Creates and adds the thumb sub-component and removes the old instance, if one exists.
ScrollBar
 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
 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
  Dispatched when the user starts interacting with the scroll bar's thumb, track, or buttons.ScrollBar
  Dispatched when the scroll bar's value changes.ScrollBar
 InheritedDispatched after the component has validated for the first time.FeathersControl
  Dispatched when the user stops interacting with the scroll bar's thumb, track, or buttons.ScrollBar
 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
  
A style name to add to the scroll bar's decrement button sub-component.
ScrollBar
  
A style name to add to the scroll bar's increment button sub-component.
ScrollBar
  
A style name to add to the scroll bar's maximum track sub-component.
ScrollBar
  
A style name to add to the scroll bar's minimum track sub-component.
ScrollBar
  
A style name to add to the scroll bar's thumb sub-component.
ScrollBar
  
direction : String
Determines if the scroll bar's thumb can be dragged horizontally or vertically.
ScrollBar
 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
  
padding : Number
Quickly sets all padding properties to the same value.
ScrollBar
  
paddingBottom : Number
The minimum space, in pixels, below the content, not including the track(s).
ScrollBar
  
paddingLeft : Number
The minimum space, in pixels, to the left of the content, not including the track(s).
ScrollBar
  
paddingRight : Number
The minimum space, in pixels, to the right of the content, not including the track(s).
ScrollBar
  
paddingTop : Number
The minimum space, in pixels, above the content, not including the track(s).
ScrollBar
  
Determines how the minimum and maximum track skins are positioned and sized.
ScrollBar
Public Constants
 ConstantDefined By
  DEFAULT_CHILD_STYLE_NAME_DECREMENT_BUTTON : String = "feathers-scroll-bar-decrement-button"
[static] The default value added to the styleNameList of the decrement button.
ScrollBar
  DEFAULT_CHILD_STYLE_NAME_INCREMENT_BUTTON : String = "feathers-scroll-bar-increment-button"
[static] The default value added to the styleNameList of the increment button.
ScrollBar
  DEFAULT_CHILD_STYLE_NAME_MAXIMUM_TRACK : String = "feathers-scroll-bar-maximum-track"
[static] The default value added to the styleNameList of the maximum track.
ScrollBar
  DEFAULT_CHILD_STYLE_NAME_MINIMUM_TRACK : String = "feathers-scroll-bar-minimum-track"
[static] The default value added to the styleNameList of the minimum track.
ScrollBar
  DEFAULT_CHILD_STYLE_NAME_THUMB : String = "feathers-scroll-bar-thumb"
[static] The default value added to the styleNameList of the thumb.
ScrollBar
 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
decrementButtonproperty
protected var decrementButton:BasicButton

The scroll bar's decrement button sub-component.

For internal use in subclasses.

See also

decrementButtonFactoryproperty 
decrementButtonFactory:Function

A function used to generate the scroll bar's decrement button sub-component. The decrement button must be an instance of BasicButton. This factory can be used to change properties on the decrement 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 decrement button.

The function should have the following signature:

function():BasicButton

In the following example, a custom decrement button factory is passed to the scroll bar:

scrollBar.decrementButtonFactory = function():BasicButton
{
    var button:BasicButton = new BasicButton();
    button.defaultSkin = new Image( upTexture );
    button.downSkin = new Image( downTexture );
    return button;
};

The default value is null.


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

See also

decrementButtonPropertiesproperty 
decrementButtonProperties:Object

An object that stores properties for the scroll bar's decrement button, and the properties will be passed down to the decrement button when the scroll bar validates. For a list of available properties, refer to feathers.controls.BasicButton.

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 decrementButtonFactory function instead of using decrementButtonProperties will result in better performance.

In the following example, the scroll bar's decrement button properties are updated:

scrollBar.decrementButtonProperties.defaultSkin = new Image( upTexture );
scrollBar.decrementButtonProperties.downSkin = new Image( downTexture );

The default value is null.


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

See also

decrementButtonStyleNameproperty 
protected var decrementButtonStyleName:String = "feathers-scroll-bar-decrement-button"

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

To customize the decrement button style name without subclassing, see customDecrementButtonStyleName.

See also

globalStyleProviderproperty 
public static var globalStyleProvider:IStyleProvider

The default IStyleProvider for all ScrollBar components.

The default value is null.

See also

incrementButtonproperty 
protected var incrementButton:BasicButton

The scroll bar's increment button sub-component.

For internal use in subclasses.

See also

incrementButtonFactoryproperty 
incrementButtonFactory:Function

A function used to generate the scroll bar's increment button sub-component. The increment button must be an instance of BasicButton. This factory can be used to change properties on the increment 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 increment button.

The function should have the following signature:

function():BasicButton

In the following example, a custom increment button factory is passed to the scroll bar:

scrollBar.incrementButtonFactory = function():BasicButton
{
    var button:BasicButton = new BasicButton();
    button.defaultSkin = new Image( upTexture );
    button.downSkin = new Image( downTexture );
    return button;
};

The default value is null.


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

See also

incrementButtonPropertiesproperty 
incrementButtonProperties:Object

An object that stores properties for the scroll bar's increment button, and the properties will be passed down to the increment button when the scroll bar validates. For a list of available properties, refer to feathers.controls.BasicButton.

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 incrementButtonFactory function instead of using incrementButtonProperties will result in better performance.

In the following example, the scroll bar's increment button properties are updated:

scrollBar.incrementButtonProperties.defaultSkin = new Image( upTexture );
scrollBar.incrementButtonProperties.downSkin = new Image( downTexture );

The default value is null.


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

See also

incrementButtonStyleNameproperty 
protected var incrementButtonStyleName:String = "feathers-scroll-bar-increment-button"

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

To customize the increment button style name without subclassing, see customIncrementButtonName.

See also

liveDraggingproperty 
public var liveDragging:Boolean = true

Determines if the scroll bar dispatches the Event.CHANGE event every time the thumb moves, or only once it stops moving.

In the following example, live dragging is disabled:

scrollBar.liveDragging = false;

The default value is true.

maximumproperty 
maximum:Number

The maximum numeric value of the range.

In the following example, the maximum is changed to 100:

component.minimum = 0;
component.maximum = 100;
component.step = 1;
component.page = 10
component.value = 12;

The default value is 0.


Implementation
    public function get maximum():Number
    public function set maximum(value:Number):void

See also

maximumTrackproperty 
protected var maximumTrack:DisplayObject

The scroll bar's maximum track sub-component.

For internal use in subclasses.

See also

maximumTrackFactoryproperty 
maximumTrackFactory:Function

A function used to generate the scroll bar's maximum track sub-component. The maximum track must be an instance of BasicButton. This factory can be used to change properties on the maximum track 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 maximum track.

The function should have the following signature:

function():BasicButton

In the following example, a custom maximum track factory is passed to the scroll bar:

scrollBar.maximumTrackFactory = function():BasicButton
{
    var track:BasicButton = new BasicButton();
    track.defaultSkin = new Image( upTexture );
    track.downSkin = new Image( downTexture );
    return track;
};

The default value is null.


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

See also

maximumTrackPropertiesproperty 
maximumTrackProperties:Object

An object that stores properties for the scroll bar's "maximum" track, and the properties will be passed down to the "maximum" track when the scroll bar validates. For a list of available properties, refer to feathers.controls.BasicButton.

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 maximumTrackFactory function instead of using maximumTrackProperties will result in better performance.

In the following example, the scroll bar's maximum track properties are updated:

scrollBar.maximumTrackProperties.defaultSkin = new Image( upTexture );
scrollBar.maximumTrackProperties.downSkin = new Image( downTexture );

The default value is null.


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

See also

maximumTrackStyleNameproperty 
protected var maximumTrackStyleName:String = "feathers-scroll-bar-maximum-track"

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

To customize the maximum track style name without subclassing, see customMaximumTrackStyleName.

See also

minimumproperty 
minimum:Number

The minimum numeric value of the range.

In the following example, the minimum is changed to 0:

component.minimum = 0;
component.maximum = 100;
component.step = 1;
component.page = 10
component.value = 12;

The default value is 0.


Implementation
    public function get minimum():Number
    public function set minimum(value:Number):void

See also

minimumTrackproperty 
protected var minimumTrack:DisplayObject

The scroll bar's minimum track sub-component.

For internal use in subclasses.

See also

minimumTrackFactoryproperty 
minimumTrackFactory:Function

A function used to generate the scroll bar's minimum track sub-component. The minimum track must be an instance of BasicButton. This factory can be used to change properties on the minimum track 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 minimum track.

The function should have the following signature:

function():BasicButton

In the following example, a custom minimum track factory is passed to the scroll bar:

scrollBar.minimumTrackFactory = function():BasicButton
{
    var track:BasicButton = new BasicButton();
    track.defaultSkin = new Image( upTexture );
    track.downSkin = new Image( downTexture );
    return track;
};

The default value is null.


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

See also

minimumTrackPropertiesproperty 
minimumTrackProperties:Object

An object that stores properties for the scroll bar's "minimum" track, and the properties will be passed down to the "minimum" track when the scroll bar validates. For a list of available properties, refer to feathers.controls.BasicButton.

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 minimumTrackFactory function instead of using minimumTrackProperties will result in better performance.

In the following example, the scroll bar's minimum track properties are updated:

scrollBar.minimumTrackProperties.defaultSkin = new Image( upTexture );
scrollBar.minimumTrackProperties.downSkin = new Image( downTexture );

The default value is null.


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

See also

minimumTrackStyleNameproperty 
protected var minimumTrackStyleName:String = "feathers-scroll-bar-minimum-track"

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

To customize the minimum track style name without subclassing, see customMinimumTrackStyleName.

See also

pageproperty 
page:Number

The amount the scroll bar value must change to get from one "page" to the next.

If this value is 0, the step value will be used instead. If the step value is 0, paging is not possible.

In the following example, the page is changed to 10:

scrollBar.minimum = 0;
scrollBar.maximum = 100;
scrollBar.step = 1;
scrollBar.page = 10
scrollBar.value = 12;

The default value is 0.


Implementation
    public function get page():Number
    public function set page(value:Number):void

See also

repeatDelayproperty 
repeatDelay:Number

The time, in seconds, before actions are repeated. The first repeat happens after a delay that is five times longer than the following repeats.

In the following example, the repeat delay is changed to 500 milliseconds:

scrollBar.repeatDelay = 0.5;

The default value is 0.05.


Implementation
    public function get repeatDelay():Number
    public function set repeatDelay(value:Number):void
stepproperty 
step:Number

The amount the value must change to increment or decrement.

In the following example, the step is changed to 1:

component.minimum = 0;
component.maximum = 100;
component.step = 1;
component.page = 10
component.value = 12;

The default value is 0.


Implementation
    public function get step():Number
    public function set step(value:Number):void

See also

thumbproperty 
protected var thumb:DisplayObject

The scroll bar's thumb sub-component.

For internal use in subclasses.

See also

thumbFactoryproperty 
thumbFactory:Function

A function used to generate the scroll bar's thumb sub-component. The thumb must be an instance of Button. This factory can be used to change properties on the thumb 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 thumb.

The function should have the following signature:

function():BasicButton

In the following example, a custom thumb factory is passed to the scroll bar:

scrollBar.thumbFactory = function():BasicButton
{
    var thumb:BasicButton = new BasicButton();
    thumb.defaultSkin = new Image( upTexture );
    thumb.downSkin = new Image( downTexture );
    return thumb;
};

The default value is null.


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

See also

thumbPropertiesproperty 
thumbProperties:Object

An object that stores properties for the scroll bar's thumb, and the properties will be passed down to the thumb when the scroll bar validates. For a list of available properties, refer to feathers.controls.BasicButton.

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 thumbFactory function instead of using thumbProperties will result in better performance.

In the following example, the scroll bar's thumb properties are updated:

scrollBar.thumbProperties.defaultSkin = new Image( upTexture );
scrollBar.thumbProperties.downSkin = new Image( downTexture );

The default value is null.


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

See also

thumbStyleNameproperty 
protected var thumbStyleName:String = "feathers-scroll-bar-thumb"

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

To customize the thumb style name without subclassing, see customThumbStyleName.

See also

valueproperty 
value:Number

The current numeric value.

In the following example, the value is changed to 12:

component.minimum = 0;
component.maximum = 100;
component.step = 1;
component.page = 10
component.value = 12;

The default value is 0.


Implementation
    public function get value():Number
    public function set value(value:Number):void

See also

Constructor Detail
ScrollBar()Constructor
public function ScrollBar()

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
createDecrementButton()method 
protected function createDecrementButton():void

Creates and adds the decrementButton 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

createIncrementButton()method 
protected function createIncrementButton():void

Creates and adds the incrementButton 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

createMaximumTrack()method 
protected function createMaximumTrack():void

Creates and adds the maximumTrack sub-component and removes the old instance, if one exists. If the maximum track is not needed, it will not be created.

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

See also

createMinimumTrack()method 
protected function createMinimumTrack():void

Creates and adds the minimumTrack 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

createThumb()method 
protected function createThumb():void

Creates and adds the thumb 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

Event Detail
beginInteraction Event
Event Object Type: starling.events.Event
Event.type property = feathers.events.FeathersEventType.BEGIN_INTERACTION

Dispatched when the user starts interacting with the scroll bar's thumb, track, or buttons.

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.

The FeathersEventType.BEGIN_INTERACTION event type is used by many UI controls where a drag or other interaction happens over time. An example is a Slider control where the user touches the thumb to begin dragging.
change Event  
Event Object Type: starling.events.Event
Event.type property = starling.events.Event.CHANGE

Dispatched when the scroll bar's value 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.

endInteraction Event  
Event Object Type: starling.events.Event
Event.type property = feathers.events.FeathersEventType.END_INTERACTION

Dispatched when the user stops interacting with the scroll bar's thumb, track, or buttons.

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.

The FeathersEventType.END_INTERACTION event type is used by many UI controls where a drag or other interaction happens over time. An example is a Slider control where the user stops touching the thumb after dragging.

Depending on the control, the result of the interaction may continue after the interaction ends. For instance, a Scroller may be "thrown", and the scrolling will continue animating after the user has finished interacting with it.

Style Detail
trackLayoutModestyle
trackLayoutMode:String

Determines how the minimum and maximum track skins are positioned and sized.

In the following example, the scroll bar is given two tracks:

scrollBar.trackLayoutMode = TrackLayoutMode.SPLIT;

The default value is feathers.controls.TrackLayoutMode.SINGLE.

See also

paddingLeftstyle 
paddingLeft:Number

The minimum space, in pixels, to the left of the content, not including the track(s).

In the following example, the left padding is changed to 20 pixels:

scrollBar.paddingLeft = 20;

The default value is 0.

See also

paddingBottomstyle 
paddingBottom:Number

The minimum space, in pixels, below the content, not including the track(s).

In the following example, the bottom padding is changed to 20 pixels:

scrollBar.paddingBottom = 20;

The default value is 0.

See also

paddingRightstyle 
paddingRight:Number

The minimum space, in pixels, to the right of the content, not including the track(s).

In the following example, the right padding is changed to 20 pixels:

scrollBar.paddingRight = 20;

The default value is 0.

See also

paddingTopstyle 
paddingTop:Number

The minimum space, in pixels, above the content, not including the track(s).

In the following example, the top padding is changed to 20 pixels:

scrollBar.paddingTop = 20;

The default value is 0.

See also

paddingstyle 
padding:Number

Quickly sets all padding properties to the same value. The padding getter always returns the value of paddingTop, but the other padding values may be different.

In the following example, the padding is changed to 20 pixels:

scrollBar.padding = 20;

The default value is 0.

See also

directionstyle 
direction:String

Determines if the scroll bar's thumb can be dragged horizontally or vertically. When this value changes, the scroll bar's width and height values do not change automatically.

Note: When using a SimpleScrollBar with a scrolling container, the container will automatically set the correct direction value. Generally, you should not need to set this style manually.

In the following example, the direction is changed to vertical:

scrollBar.direction = Direction.VERTICAL;

Note: The Direction.NONE constant is not supported.

The default value is feathers.layout.Direction.HORIZONTAL.

See also

customThumbStyleNamestyle 
customThumbStyleName:String

A style name to add to the scroll bar's thumb sub-component. Typically used by a theme to provide different styles to different scroll bars.

In the following example, a custom thumb style name is passed to the scroll bar:

scrollBar.customThumbStyleName = "my-custom-thumb";

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

getStyleProviderForClass( Button ).setFunctionForStyleName( "my-custom-thumb", setCustomThumbStyles );

The default value is null.

See also

customMaximumTrackStyleNamestyle 
customMaximumTrackStyleName:String

A style name to add to the scroll bar's maximum track sub-component. Typically used by a theme to provide different styles to different scroll bars.

In the following example, a custom maximum track style name is passed to the scroll bar:

scrollBar.customMaximumTrackStyleName = "my-custom-maximum-track";

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

getStyleProviderForClass( Button ).setFunctionForStyleName( "my-custom-maximum-track", setCustomMaximumTrackStyles );

The default value is null.

See also

customMinimumTrackStyleNamestyle 
customMinimumTrackStyleName:String

A style name to add to the scroll bar's minimum track sub-component. Typically used by a theme to provide different styles to different scroll bars.

In the following example, a custom minimum track style name is passed to the scroll bar:

scrollBar.customMinimumTrackStyleName = "my-custom-minimum-track";

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

getStyleProviderForClass( Button ).setFunctionForStyleName( "my-custom-minimum-track", setCustomMinimumTrackStyles );

The default value is null.

See also

customIncrementButtonStyleNamestyle 
customIncrementButtonStyleName:String

A style name to add to the scroll bar's increment button sub-component. Typically used by a theme to provide different styles to different scroll bars.

In the following example, a custom increment button style name is passed to the scroll bar:

scrollBar.customIncrementButtonStyleName = "my-custom-increment-button";

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

getStyleProviderForClass( Button ).setFunctionForStyleName( "my-custom-increment-button", setCustomIncrementButtonStyles );

The default value is null.

See also

customDecrementButtonStyleNamestyle 
customDecrementButtonStyleName:String

A style name to add to the scroll bar's decrement button sub-component. Typically used by a theme to provide different styles to different scroll bars.

In the following example, a custom decrement button style name is passed to the scroll bar:

scrollBar.customDecrementButtonStyleName = "my-custom-decrement-button";

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

getStyleProviderForClass( Button ).setFunctionForStyleName( "my-custom-decrement-button", setCustomDecrementButtonStyles );

The default value is null.

See also

Constant Detail
DEFAULT_CHILD_STYLE_NAME_DECREMENT_BUTTONConstant
public static const DEFAULT_CHILD_STYLE_NAME_DECREMENT_BUTTON:String = "feathers-scroll-bar-decrement-button"

The default value added to the styleNameList of the decrement button.

See also

DEFAULT_CHILD_STYLE_NAME_INCREMENT_BUTTONConstant 
public static const DEFAULT_CHILD_STYLE_NAME_INCREMENT_BUTTON:String = "feathers-scroll-bar-increment-button"

The default value added to the styleNameList of the increment button.

See also

DEFAULT_CHILD_STYLE_NAME_MAXIMUM_TRACKConstant 
public static const DEFAULT_CHILD_STYLE_NAME_MAXIMUM_TRACK:String = "feathers-scroll-bar-maximum-track"

The default value added to the styleNameList of the maximum track.

See also

DEFAULT_CHILD_STYLE_NAME_MINIMUM_TRACKConstant 
public static const DEFAULT_CHILD_STYLE_NAME_MINIMUM_TRACK:String = "feathers-scroll-bar-minimum-track"

The default value added to the styleNameList of the minimum track.

See also

DEFAULT_CHILD_STYLE_NAME_THUMBConstant 
public static const DEFAULT_CHILD_STYLE_NAME_THUMB:String = "feathers-scroll-bar-thumb"

The default value added to the styleNameList of the thumb.

See also