Packagefeathers.controls
Classpublic class ButtonGroup
InheritanceButtonGroup Inheritance FeathersControl Inheritance starling.display.Sprite

A set of related buttons with layout, customized using a data provider.

The following example creates a button group with a few buttons:

     var group:ButtonGroup = new ButtonGroup();
     group.dataProvider = new ListCollection(
     [
         { label: "Yes", triggered: yesButton_triggeredHandler },
         { label: "No", triggered: noButton_triggeredHandler },
         { label: "Cancel", triggered: cancelButton_triggeredHandler },
     ]);
     this.addChild( group );

See also

How to use the Feathers ButtonGroup component
feathers.controls.TabBar


Public Properties
 PropertyDefined By
  buttonFactory : Function
Creates a new button.
ButtonGroup
  buttonInitializer : Function
Modifies a button, perhaps by changing its label and icons, based on the item from the data provider that the button is meant to represent.
ButtonGroup
  buttonProperties : Object
An object that stores properties for all of the button group's buttons, and the properties will be passed down to every button when the button group validates.
ButtonGroup
  customButtonName : String
DEPRECATED: Replaced by customButtonStyleName.
ButtonGroup
  customButtonStyleName : String
A style name to add to all buttons in this button group.
ButtonGroup
  customFirstButtonName : String
DEPRECATED: Replaced by customFirstButtonStyleName.
ButtonGroup
  customFirstButtonStyleName : String
A style name to add to the first button in this button group.
ButtonGroup
  customLastButtonName : String
DEPRECATED: Replaced by customLastButtonStyleName.
ButtonGroup
  customLastButtonStyleName : String
A style name to add to the last button in this button group.
ButtonGroup
  dataProvider : ListCollection
The collection of data to be displayed with buttons.
ButtonGroup
 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
  direction : String
The button group layout is either vertical or horizontal.
ButtonGroup
  distributeButtonSizes : Boolean
If true, the buttons will be equally sized in the direction of the layout.
ButtonGroup
  firstButtonFactory : Function
Creates a new first button.
ButtonGroup
  firstGap : Number
Space, in pixels, between the first two buttons.
ButtonGroup
 InheritedfocusIndicatorSkin : DisplayObject
If this component supports focus, this optional skin will be displayed above the component when showFocus() is called.
FeathersControl
 InheritedfocusManager : IFocusManager
FeathersControl
 InheritedfocusOwner : IFocusDisplayObject
FeathersControl
 InheritedfocusPadding : Number
Quickly sets all focus padding properties to the same value.
FeathersControl
 InheritedfocusPaddingBottom : Number
The minimum space, in pixels, between the object's bottom edge and the bottom edge of the focus indicator skin.
FeathersControl
 InheritedfocusPaddingLeft : Number
The minimum space, in pixels, between the object's left edge and the left edge of the focus indicator skin.
FeathersControl
 InheritedfocusPaddingRight : Number
The minimum space, in pixels, between the object's right edge and the right edge of the focus indicator skin.
FeathersControl
 InheritedfocusPaddingTop : Number
The minimum space, in pixels, between the object's top edge and the top edge of the focus indicator skin.
FeathersControl
  gap : Number
Space, in pixels, between buttons.
ButtonGroup
  globalStyleProvider : IStyleProvider
[static] The default IStyleProvider for all ButtonGroup components.
ButtonGroup
 Inheritedheight : Number
[override] The height of the component, in pixels.
FeathersControl
  horizontalAlign : String
Determines how the buttons are horizontally aligned within the bounds of the button group (on the x-axis).
ButtonGroup
 InheritedincludeInLayout : Boolean
Determines if the ILayout should use this object or ignore it.
FeathersControl
 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
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
  lastButtonFactory : Function
Creates a new last button.
ButtonGroup
  lastGap : Number
Space, in pixels, between the last two buttons.
ButtonGroup
 InheritedlayoutData : ILayoutData
Extra parameters associated with this display object that will be used by the layout algorithm.
FeathersControl
 InheritedmaxHeight : Number
The maximum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedmaxWidth : Number
The maximum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedminHeight : Number
The minimum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedminTouchHeight : Number
If using isQuickHitAreaEnabled, and the hit area's height is smaller than this value, it will be expanded.
FeathersControl
 InheritedminTouchWidth : Number
If using isQuickHitAreaEnabled, and the hit area's width is smaller than this value, it will be expanded.
FeathersControl
 InheritedminWidth : Number
The minimum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritednextTabFocus : IFocusDisplayObject
FeathersControl
  padding : Number
Quickly sets all padding properties to the same value.
ButtonGroup
  paddingBottom : Number
The minimum space, in pixels, between the group's bottom edge and the group's buttons.
ButtonGroup
  paddingLeft : Number
The minimum space, in pixels, between the group's left edge and the group's buttons.
ButtonGroup
  paddingRight : Number
The minimum space, in pixels, between the group's right edge and the group's buttons.
ButtonGroup
  paddingTop : Number
The minimum space, in pixels, between the group's top edge and the group's buttons.
ButtonGroup
 InheritedpreviousTabFocus : IFocusDisplayObject
FeathersControl
 InheritedstyleName : String
The concatenated styleNameList, with values separated by spaces.
FeathersControl
 InheritedstyleNameList : TokenList
[read-only] Contains a list of all "styles" assigned to this control.
FeathersControl
 InheritedstyleProvider : IStyleProvider
When a component initializes, a style provider may be used to set properties that affect the component's visual appearance.
FeathersControl
  verticalAlign : String
Determines how the buttons are vertically aligned within the bounds of the button group (on the y-axis).
ButtonGroup
 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
 InheritedactualWidth : Number = 0
The final width value that should be used for layout.
FeathersControl
  buttonName : String
DEPRECATED: Replaced by buttonStyleName.
ButtonGroup
  buttonStyleName : String = feathers-button-group-button
The value added to the styleNameList of the buttons.
ButtonGroup
 InheriteddefaultStyleProvider : IStyleProvider
[read-only] When the FeathersControl constructor is called, the globalStyleProvider property is set to this value.
FeathersControl
 InheritedexplicitHeight : Number = NaN
The height value explicitly set by calling the height setter or setSize().
FeathersControl
 InheritedexplicitWidth : Number = NaN
The width value explicitly set by calling the width setter or setSize().
FeathersControl
  firstButtonName : String
DEPRECATED: Replaced by firstButtonStyleName.
ButtonGroup
  firstButtonStyleName : String = feathers-button-group-button
The value added to the styleNameList of the first button.
ButtonGroup
  lastButtonName : String
DEPRECATED: Replaced by lastButtonStyleName.
ButtonGroup
  lastButtonStyleName : String = feathers-button-group-button
The value added to the styleNameList of the last button.
ButtonGroup
Public Methods
 MethodDefined By
  
Constructor.
ButtonGroup
 Inherited
hideFocus():void
If the visual indicator of focus has been displayed by showFocus(), call this function to hide it.
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
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
If the object has focus, an additional visual indicator may optionally be displayed to highlight the object.
FeathersControl
 Inherited
validate():void
Immediately validates the display object, if it is invalid.
FeathersControl
Protected Methods
 MethodDefined By
 Inherited
clearInvalidationFlag(flag:String):void
Clears an invalidation flag.
FeathersControl
 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
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
Updates the focus indicator skin by showing or hiding it and adjusting its position and dimensions.
FeathersControl
 Inherited
setInvalidationFlag(flag:String):void
Sets an invalidation flag.
FeathersControl
 Inherited
setSizeInternal(width:Number, height:Number, canInvalidate:Boolean):Boolean
Sets the width and height of the control, with the option of invalidating or not.
FeathersControl
Events
 Event Summary Defined By
 InheritedDispatched after the component has validated for the first time.FeathersControl
 InheritedDispatched after initialize() has been called, but before the first time that draw() has been called.FeathersControl
 InheritedDispatched when the width or height of the control changes.FeathersControl
  Dispatched when one of the buttons is triggered.ButtonGroup
Public Constants
 ConstantDefined By
  DEFAULT_CHILD_NAME_BUTTON : String = feathers-button-group-button
[static] DEPRECATED: Replaced by ButtonGroup.DEFAULT_CHILD_STYLE_NAME_BUTTON.
ButtonGroup
  DEFAULT_CHILD_STYLE_NAME_BUTTON : String = feathers-button-group-button
[static] The default value added to the styleNameList of the buttons.
ButtonGroup
  DIRECTION_HORIZONTAL : String = horizontal
[static] The buttons are displayed in order from left to right.
ButtonGroup
  DIRECTION_VERTICAL : String = vertical
[static] The buttons are displayed in order from top to bottom.
ButtonGroup
  HORIZONTAL_ALIGN_CENTER : String = center
[static] The buttons will be aligned horizontally to the center of the button group.
ButtonGroup
  HORIZONTAL_ALIGN_JUSTIFY : String = justify
[static] If the direction is vertical, each button will fill the entire width of the button group, and if the direction is horizontal, the alignment will behave the same as HORIZONTAL_ALIGN_LEFT.
ButtonGroup
  HORIZONTAL_ALIGN_LEFT : String = left
[static] The buttons will be aligned horizontally to the left edge of the button group.
ButtonGroup
  HORIZONTAL_ALIGN_RIGHT : String = right
[static] The buttons will be aligned horizontally to the right edge of the button group.
ButtonGroup
 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
  VERTICAL_ALIGN_BOTTOM : String = bottom
[static] The buttons will be aligned vertically to the bottom edge of the button group.
ButtonGroup
  VERTICAL_ALIGN_JUSTIFY : String = justify
[static] If the direction is horizontal, each button will fill the entire height of the button group, and if the direction is vertical, the alignment will behave the same as VERTICAL_ALIGN_TOP.
ButtonGroup
  VERTICAL_ALIGN_MIDDLE : String = middle
[static] The buttons will be aligned vertically to the middle of the button group.
ButtonGroup
  VERTICAL_ALIGN_TOP : String = top
[static] The buttons will be aligned vertically to the top edge of the button group.
ButtonGroup
Property Detail
buttonFactoryproperty
buttonFactory:Function

Creates a new button. A button must be an instance of Button. This factory can be used to change properties on the buttons when they are 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 a button.

This function is expected to have the following signature:

function():Button

The following example skins the buttons using a custom button factory:

         group.buttonFactory = function():Button
         {
             var button:Button = new Button();
             button.defaultSkin = new Image( texture );
             return button;
         };

The default value is null.


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

See also

buttonInitializerproperty 
buttonInitializer:Function

Modifies a button, perhaps by changing its label and icons, based on the item from the data provider that the button is meant to represent. The default buttonInitializer function can set the button's label and icons if label and/or any of the Button icon fields (defaultIcon, upIcon, etc.) are present in the item. You can listen to Event.TRIGGERED and Event.CHANGE by passing in functions for each.

This function is expected to have the following signature:

function( button:Button, item:Object ):void

The following example provides a custom button initializer:

         group.buttonInitializer = function( button:Button, item:Object ):void
         {
             button.label = item.label;
         };


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

See also

buttonNameproperty 
buttonName:String

DEPRECATED: Replaced by buttonStyleName.

DEPRECATION WARNING: This property is deprecated starting with Feathers 2.1. It will be removed in a future version of Feathers according to the standard Feathers deprecation policy.


Implementation
    protected function get buttonName():String
    protected function set buttonName(value:String):void

See also

buttonPropertiesproperty 
buttonProperties:Object

An object that stores properties for all of the button group's buttons, and the properties will be passed down to every button when the button group validates. For a list of available properties, refer to feathers.controls.Button.

These properties are shared by every button, so anything that cannot be shared (such as display objects, which cannot be added to multiple parents) should be passed to buttons using the buttonFactory or in the theme.

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);

The following example sets some properties on all of the buttons:

         group.buttonProperties.horizontalAlign = Button.HORIZONTAL_ALIGN_LEFT;
         group.buttonProperties.verticalAlign = Button.VERTICAL_ALIGN_TOP;

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

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-button-group-button

The value added to the styleNameList of the buttons. 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

customButtonNameproperty 
customButtonName:String

DEPRECATED: Replaced by customButtonStyleName.

DEPRECATION WARNING: This property is deprecated starting with Feathers 2.1. It will be removed in a future version of Feathers according to the standard Feathers deprecation policy.


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

See also

customButtonStyleNameproperty 
customButtonStyleName:String

A style name to add to all buttons in this button group. Typically used by a theme to provide different styles to different button groups.

The following example provides a custom button style name:

         group.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.


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

See also

customFirstButtonNameproperty 
customFirstButtonName:String

DEPRECATED: Replaced by customFirstButtonStyleName.

DEPRECATION WARNING: This property is deprecated starting with Feathers 2.1. It will be removed in a future version of Feathers according to the standard Feathers deprecation policy.


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

See also

customFirstButtonStyleNameproperty 
customFirstButtonStyleName:String

A style name to add to the first button in this button group. Typically used by a theme to provide different styles to the first button.

The following example provides a custom first button style name:

         group.customFirstButtonStyleName = "my-custom-first-button";

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

         getStyleProviderForClass( Button ).setFunctionForStyleName( "my-custom-first-button", setCustomFirstButtonStyles );

The default value is null.


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

See also

customLastButtonNameproperty 
customLastButtonName:String

DEPRECATED: Replaced by customLastButtonStyleName.

DEPRECATION WARNING: This property is deprecated starting with Feathers 2.1. It will be removed in a future version of Feathers according to the standard Feathers deprecation policy.


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

See also

customLastButtonStyleNameproperty 
customLastButtonStyleName:String

A style name to add to the last button in this button group. Typically used by a theme to provide different styles to the last button.

The following example provides a custom last button style name:

         group.customLastButtonStyleName = "my-custom-last-button";

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

         getStyleProviderForClass( Button ).setFunctionForStyleName( "my-custom-last-button", setCustomLastButtonStyles );

The default value is null.


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

See also

dataProviderproperty 
dataProvider:ListCollection

The collection of data to be displayed with buttons.

The following example sets the button group's data provider:

         group.dataProvider = new ListCollection(
         [
             { label: "Yes", triggered: yesButton_triggeredHandler },
             { label: "No", triggered: noButton_triggeredHandler },
             { label: "Cancel", triggered: cancelButton_triggeredHandler },
         ]);

By default, items in the data provider support the following properties from Button

Additionally, you can add the following event listeners:

To use properties and events that are only supported by ToggleButton, you must provide a buttonFactory that returns a ToggleButton instead of a Button.

You can pass a function to the buttonInitializer property that can provide custom logic to interpret each item in the data provider differently.

The default value is null.


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

See also

directionproperty 
direction:String

The button group layout is either vertical or horizontal.

The following example sets the layout direction of the buttons to line them up horizontally:

         group.direction = ButtonGroup.DIRECTION_HORIZONTAL;

The default value is ButtonGroup.DIRECTION_VERTICAL.


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

See also

distributeButtonSizesproperty 
distributeButtonSizes:Boolean

If true, the buttons will be equally sized in the direction of the layout. In other words, if the button group is horizontal, each button will have the same width, and if the button group is vertical, each button will have the same height. If false, the buttons will be sized to their ideal dimensions.

The following example doesn't distribute the button sizes:

         group.distributeButtonSizes = false;

The default value is true.


Implementation
    public function get distributeButtonSizes():Boolean
    public function set distributeButtonSizes(value:Boolean):void
firstButtonFactoryproperty 
firstButtonFactory:Function

Creates a new first button. If the firstButtonFactory is null, then the button group will use the buttonFactory. The first button must be an instance of Button. This factory can be used to change properties on the first 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 first button.

This function is expected to have the following signature:

function():Button

The following example skins the first button using a custom factory:

         group.firstButtonFactory = function():Button
         {
             var button:Button = new Button();
             button.defaultSkin = new Image( texture );
             return button;
         };

The default value is null.


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

See also

firstButtonNameproperty 
firstButtonName:String

DEPRECATED: Replaced by firstButtonStyleName.

DEPRECATION WARNING: This property is deprecated starting with Feathers 2.1. It will be removed in a future version of Feathers according to the standard Feathers deprecation policy.


Implementation
    protected function get firstButtonName():String
    protected function set firstButtonName(value:String):void

See also

firstButtonStyleNameproperty 
protected var firstButtonStyleName:String = feathers-button-group-button

The value added to the styleNameList of the first button.

To customize the first button name without subclassing, see customFirstButtonStyleName.

See also

firstGapproperty 
firstGap:Number

Space, in pixels, between the first two buttons. If NaN, the default gap property will be used.

The following example sets the gap between the first and second button to a different value than the standard gap:

         group.firstGap = 30;
         group.gap = 20;

The default value is NaN.


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

See also

gapproperty 
gap:Number

Space, in pixels, between buttons.

The following example sets the gap used for the button layout to 20 pixels:

         group.gap = 20;

The default value is 0.


Implementation
    public function get gap():Number
    public function set gap(value:Number):void
globalStyleProviderproperty 
public static var globalStyleProvider:IStyleProvider

The default IStyleProvider for all ButtonGroup components.

The default value is null.

See also

horizontalAlignproperty 
horizontalAlign:String

Determines how the buttons are horizontally aligned within the bounds of the button group (on the x-axis).

The following example aligns the group's content to the left:

         group.horizontalAlign = ButtonGroup.HORIZONTAL_ALIGN_LEFT;

The default value is ButtonGroup.HORIZONTAL_ALIGN_JUSTIFY.


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

See also

lastButtonFactoryproperty 
lastButtonFactory:Function

Creates a new last button. If the lastButtonFactory is null, then the button group will use the buttonFactory. The last button must be an instance of Button. This factory can be used to change properties on the last 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 last button.

This function is expected to have the following signature:

function():Button

The following example skins the last button using a custom factory:

         group.lastButtonFactory = function():Button
         {
             var button:Button = new Button();
             button.defaultSkin = new Image( texture );
             return button;
         };

The default value is null.


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

See also

lastButtonNameproperty 
lastButtonName:String

DEPRECATED: Replaced by lastButtonStyleName.

DEPRECATION WARNING: This property is deprecated starting with Feathers 2.1. It will be removed in a future version of Feathers according to the standard Feathers deprecation policy.


Implementation
    protected function get lastButtonName():String
    protected function set lastButtonName(value:String):void

See also

lastButtonStyleNameproperty 
protected var lastButtonStyleName:String = feathers-button-group-button

The value added to the styleNameList of the last button.

To customize the last button style name without subclassing, see customLastButtonStyleName.

See also

lastGapproperty 
lastGap:Number

Space, in pixels, between the last two buttons. If NaN, the default gap property will be used.

The following example sets the gap between the last and next to last button to a different value than the standard gap:

         group.lastGap = 30;
         group.gap = 20;

The default value is NaN.


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

See also

paddingproperty 
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 of all sides of the group is set to 20 pixels:

         group.padding = 20;

The default value is 0.


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

See also

paddingBottomproperty 
paddingBottom:Number

The minimum space, in pixels, between the group's bottom edge and the group's buttons.

In the following example, the padding on the bottom edge of the group is set to 20 pixels:

         group.paddingBottom = 20;

The default value is 0.


Implementation
    public function get paddingBottom():Number
    public function set paddingBottom(value:Number):void
paddingLeftproperty 
paddingLeft:Number

The minimum space, in pixels, between the group's left edge and the group's buttons.

In the following example, the padding on the left edge of the group is set to 20 pixels:

         group.paddingLeft = 20;

The default value is 0.


Implementation
    public function get paddingLeft():Number
    public function set paddingLeft(value:Number):void
paddingRightproperty 
paddingRight:Number

The minimum space, in pixels, between the group's right edge and the group's buttons.

In the following example, the padding on the right edge of the group is set to 20 pixels:

         group.paddingRight = 20;

The default value is 0.


Implementation
    public function get paddingRight():Number
    public function set paddingRight(value:Number):void
paddingTopproperty 
paddingTop:Number

The minimum space, in pixels, between the group's top edge and the group's buttons.

In the following example, the padding on the top edge of the group is set to 20 pixels:

         group.paddingTop = 20;

The default value is 0.


Implementation
    public function get paddingTop():Number
    public function set paddingTop(value:Number):void
verticalAlignproperty 
verticalAlign:String

Determines how the buttons are vertically aligned within the bounds of the button group (on the y-axis).

The following example aligns the group's content to the top:

         group.verticalAlign = ButtonGroup.VERTICAL_ALIGN_TOP;

The default value is ButtonGroup.VERTICAL_ALIGN_JUSTIFY.


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

See also

Constructor Detail
ButtonGroup()Constructor
public function ButtonGroup()

Constructor.

Event Detail
triggered Event
Event Object Type: starling.events.Event
Event.type property = starling.events.Event.TRIGGERED

Dispatched when one of the buttons is triggered. The data property of the event contains the item from the data provider that is associated with the button that was triggered.

The following example listens to Event.TRIGGERED on the button group instead of on individual buttons:

     group.dataProvider = new ListCollection(
     [
         { label: "Yes" },
         { label: "No" },
         { label: "Cancel" },
     ]);
     group.addEventListener( Event.TRIGGERED, function( event:Event, data:Object ):void
     {
        trace( "The button with label \"" + data.label + "\" was triggered." );
     }

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.
dataThe item associated with the button that was triggered.
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.

Constant Detail
DEFAULT_CHILD_NAME_BUTTONConstant
public static const DEFAULT_CHILD_NAME_BUTTON:String = feathers-button-group-button

DEPRECATED: Replaced by ButtonGroup.DEFAULT_CHILD_STYLE_NAME_BUTTON.

DEPRECATION WARNING: This property is deprecated starting with Feathers 2.1. It will be removed in a future version of Feathers according to the standard Feathers deprecation policy.

See also

DEFAULT_CHILD_STYLE_NAME_BUTTONConstant 
public static const DEFAULT_CHILD_STYLE_NAME_BUTTON:String = feathers-button-group-button

The default value added to the styleNameList of the buttons.

See also

DIRECTION_HORIZONTALConstant 
public static const DIRECTION_HORIZONTAL:String = horizontal

The buttons are displayed in order from left to right.

See also

DIRECTION_VERTICALConstant 
public static const DIRECTION_VERTICAL:String = vertical

The buttons are displayed in order from top to bottom.

See also

HORIZONTAL_ALIGN_CENTERConstant 
public static const HORIZONTAL_ALIGN_CENTER:String = center

The buttons will be aligned horizontally to the center of the button group.

See also

HORIZONTAL_ALIGN_JUSTIFYConstant 
public static const HORIZONTAL_ALIGN_JUSTIFY:String = justify

If the direction is vertical, each button will fill the entire width of the button group, and if the direction is horizontal, the alignment will behave the same as HORIZONTAL_ALIGN_LEFT.

See also

HORIZONTAL_ALIGN_LEFTConstant 
public static const HORIZONTAL_ALIGN_LEFT:String = left

The buttons will be aligned horizontally to the left edge of the button group.

See also

HORIZONTAL_ALIGN_RIGHTConstant 
public static const HORIZONTAL_ALIGN_RIGHT:String = right

The buttons will be aligned horizontally to the right edge of the button group.

See also

VERTICAL_ALIGN_BOTTOMConstant 
public static const VERTICAL_ALIGN_BOTTOM:String = bottom

The buttons will be aligned vertically to the bottom edge of the button group.

See also

VERTICAL_ALIGN_JUSTIFYConstant 
public static const VERTICAL_ALIGN_JUSTIFY:String = justify

If the direction is horizontal, each button will fill the entire height of the button group, and if the direction is vertical, the alignment will behave the same as VERTICAL_ALIGN_TOP.

See also

VERTICAL_ALIGN_MIDDLEConstant 
public static const VERTICAL_ALIGN_MIDDLE:String = middle

The buttons will be aligned vertically to the middle of the button group.

See also

VERTICAL_ALIGN_TOPConstant 
public static const VERTICAL_ALIGN_TOP:String = top

The buttons will be aligned vertically to the top edge of the button group.