A variation of MultiSkin that declares fields for the states defined in feathers.controls.ToggleButtonState.

See also:

Constructor

new(defaultView:DisplayObject)

Creates a new ToggleButtonMultiSkin object.

Available since

1.3.0

.

Variables

downView:DisplayObject

The view for feathers.controls.ToggleButtonState.DOWN(false).

Available since

1.3.0

.

hoverView:DisplayObject

The view for feathers.controls.ToggleButtonState.HOVER(false).

Available since

1.3.0

.

selectedDisabledView:DisplayObject

The view for feathers.controls.ToggleButtonState.DISABLED(true).

Available since

1.3.0

.

selectedDownView:DisplayObject

The view for feathers.controls.ToggleButtonState.DOWN(true).

Available since

1.3.0

.

selectedHoverView:DisplayObject

The view for feathers.controls.ToggleButtonState.HOVER(true).

Available since

1.3.0

.

selectedUpView:DisplayObject

The view for feathers.controls.ToggleButtonState.UP(true).

Available since

1.3.0

.

upView:DisplayObject

The view for feathers.controls.ToggleButtonState.UP(false).

Available since

1.3.0

.

Inherited Variables

Defined by MultiSkin

defaultView:DisplayObject

The default view that is displayed when no other view is overridden for the current state.

Available since

1.0.0

.

disabledView:DisplayObject

The view that is displayed when the state context is disabled. To use this skin, the state context must implement the IUIControl interface.

Available since

1.0.0

.

See also:

selectedView:DisplayObject

The view that is displayed when the state context is selected. To use this skin, the state context must implement the IToggle interface.

Available since

1.0.0

.

See also:

Defined by ProgrammaticSkin

stateContext:IStateContext<Dynamic>

An optional IStateContext that is used to change the styles of the skin when its state changes. Often refers to the same object as uiContext, but that is not a requirement (they are allowed to be different objects).

If stateContext is null, the skin may attempt to use uiContext instead, if uiContext implements IStateContext. If stateContext is null, and uiContext does not implement IStateContext, then this skin will not be able to watch for state changes.

Available since

1.0.0

.

uiContext:IUIControl

The UI component that is displaying this skin.

Available since

1.0.0

.

See also:

Defined by MeasureSprite

Defined by ValidatingSprite

read onlyvalidating:Bool

Indicates if the display object is currently validating.

Available since

1.0.0

.

Inherited Methods

Defined by MultiSkin

private@:dox(show)getCurrentView():DisplayObject

getViewForState(state:EnumValue):DisplayObject

Gets the view to be used by the skin when the context's currentState property matches the specified state value.

If a view is not defined for a specific state, returns null.

Available since

1.0.0

.

See also:

setViewForState(state:EnumValue, view:DisplayObject):Void

Sets the view to be used by the skin when the context's currentState property matches the specified state value.

If a view is not defined for a specific state, the value of the defaultView property will be used instead.

To clear a state's view, pass in null.

Available since

1.0.0

.

See also:

Defined by ProgrammaticSkin

private@:dox(show)needsStateUpdate():Bool

Checks if a the current state requires the skin to be redrawn. By default, returns true.

Subclasses may override needsStateUpdate() to limit when state changes require the skin to update.

Available since

1.0.0

.

private@:dox(show)onAddUIContext():Void

Called when the uiContext property is set to a new non-null value. Subclasses may override to access the uiContext property to add event listeners or set properties.

Available since

1.0.0

.

private@:dox(show)onRemoveUIContext():Void

Called when the uiContext property is about to be cleared. Subclasses may override to access the uiContext property to remove event listeners or reset properties.

Available since

1.0.0

.

private@:dox(show)update():Void

Subclasses may override update() to draw the skin.

Available since

1.0.0

.

Defined by MeasureSprite

private@:value({ minHeight : 0.0, minWidth : 0.0 })@:dox(show)saveMeasurements(width:Float, height:Float, minWidth:Float = 0.0, minHeight:Float = 0.0, ?maxWidth:Float, ?maxHeight:Float):Bool

Saves the calculated dimensions for the component, replacing any values that haven't been set explicitly. Returns true if the reported values have changed and Event.RESIZE was dispatched.

Available since

1.0.0

.

Defined by ValidatingSprite

isInvalid(?flag:InvalidationFlag):Bool

Indicates whether the control is pending validation or not. By default, returns true if any invalidation flag has been set. If you pass in a specific flag, returns true only if that flag has been set (others may be set too, but it checks the specific flag only. If all flags have been marked as invalid, always returns true.

The following example invalidates a component:

component.setInvalid();
trace(component.isInvalid()); // true
Available since

1.0.0

.

runWithInvalidationFlagsOnly(callback:() ‑> Void):Void

Calls a function that temporarily limits setInvalid() calls to setting invalidation flags only, and the control will not be added to the validation queue. In other words, setInvalid() calls will work similarly to setInvalidationFlag() instead.

Typically, this method should be called only during validation. If called outside of update(), the component's validation may be delayed until a future call to setInvalid().

Available since

1.2.0

.

runWithoutInvalidation(callback:() ‑> Void):Void

Calls a function that temporarily disables invalidation. In other words, calls to setInvalid() will be ignored until the function returns.

Available since

1.0.0

.

setInvalid(?flag:InvalidationFlag):Void

Call this function to tell the UI control that a redraw is pending. The redraw will happen immediately before OpenFL renders the UI control to the screen. The validation system exists to ensure that multiple properties can be set together without redrawing multiple times in between each property change.

If you cannot wait until later for the validation to happen, you can call validate() to redraw immediately. As an example, you might want to validate immediately if you need to access the correct width or height values of the UI control, since these values are calculated during validation.

The following example invalidates a component:

component.setInvalid();
trace(component.isInvalid()); // true
Available since

1.0.0

.

private@:dox(show)setInvalidationFlag(flag:InvalidationFlag):Void

Sets an invalidation flag. This will not add the component to the validation queue. It only sets the flag. A subclass might use this function during draw() to manipulate the flags that its superclass sees.

Available since

1.0.0

.

See also: