Packagemx.states
Classpublic class SetStyle
InheritanceSetStyle Inheritance Object
Implements IOverride

The SetStyle class specifies a style that is in effect only during the parent view state. You use this class in the overrides property of the State class.

MXML SyntaxexpandedHide MXML Syntax

The <mx:SetStyle> tag has the following attributes:

  <mx:SetStyle
   Properties
   name="null"
   target="null"
   value"null"
  />
  

View the examples

See also

mx.states.State
mx.states.SetEventHandler
mx.states.SetProperty
mx.effects.SetStyleAction


Public Properties
 PropertyDefined By
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  name : String
The name of the style to change.
SetStyle
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
  target : IStyleClient
The object whose style is being changed.
SetStyle
  value : Object
The new value for the style.
SetStyle
Public Methods
 MethodDefined By
  
SetStyle(target:IStyleClient = null, name:String = null, value:Object = null)
Constructor.
SetStyle
  
Applies the override.
SetStyle
 Inherited
Indicates whether an object has a specified property defined.
Object
  
Initializes the override.
SetStyle
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
  
Removes the override.
SetStyle
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
Property Detail
nameproperty
public var name:String

The name of the style to change. You must set this property, either in the SetStyle constructor or by setting the property value directly.

targetproperty 
public var target:IStyleClient

The object whose style is being changed. If the property value is null, Flex uses the immediate parent of the State object.

The default value is null.

valueproperty 
public var value:Object

The new value for the style.

The default value is null.

Constructor Detail
SetStyle()Constructor
public function SetStyle(target:IStyleClient = null, name:String = null, value:Object = null)

Constructor.

Parameters
target:IStyleClient (default = null) — The object whose style is being set. By default, Flex uses the immediate parent of the State object.
 
name:String (default = null) — The style to set.
 
value:Object (default = null) — The value of the style in the view state.
Method Detail
apply()method
public function apply(parent:UIComponent):void

Applies the override. Flex retains the original value, so that it can restore the value later in the remove() method.

This method is called automatically when the state is entered. It should not be called directly.

Parameters

parent:UIComponent — The parent of the state object containing this override. The override should use this as its target if an explicit target was not specified.

initialize()method 
public function initialize():void

Initializes the override. Flex calls this method before the first call to the apply() method, so you put one-time initialization code for the override in this method.

Flex calls this method automatically when the state is entered. It should not be called directly.

IOverride interface method; this class implements it as an empty method.

remove()method 
public function remove(parent:UIComponent):void

Removes the override. The value remembered in the apply() method is restored.

This method is called automatically when the state is entered. It should not be called directly.

Parameters

parent:UIComponent — The parent of the state object containing this override. The override should use this as its target if an explicit target was not specified.

Examples How to use this example
StatesExample.mxml
<?xml version="1.0" ?>
<!-- Simple example to demonstrate the States class. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

    <!-- Define one view state, in addition to the base state.-->
    <mx:states>
        <mx:State name="Register">
            <mx:AddChild relativeTo="{loginForm}" position="lastChild">
                <mx:target>
                    <mx:FormItem id="confirm" label="Confirm:">
                        <mx:TextInput/>
                    </mx:FormItem>
                </mx:target>
            </mx:AddChild>
            <mx:SetProperty target="{loginPanel}" name="title" value="Register"/>
            <mx:SetProperty target="{loginButton}" name="label" value="Register"/>
            <mx:SetStyle target="{loginButton}" 
                name="color" value="blue"/>
            <mx:RemoveChild target="{registerLink}"/>
            <mx:AddChild relativeTo="{spacer1}" position="before">
                <mx:target>
                    <mx:LinkButton id="loginLink" label="Return to Login" click="currentState=''"/>
                </mx:target>
            </mx:AddChild>
        </mx:State>
    </mx:states>

    <!-- Define a Panel container that defines the login form.-->
    <mx:Panel title="Login" id="loginPanel" 
        horizontalScrollPolicy="off" verticalScrollPolicy="off"
        paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">

        <mx:Text width="100%" color="blue"
            text="Click the 'Need to Register?' link to change state. Click the 'Return to Login' link to return to the base state."/>

        <mx:Form id="loginForm" >
            <mx:FormItem label="Username:">
                <mx:TextInput/>
            </mx:FormItem>
            <mx:FormItem label="Password:">
                <mx:TextInput/>
            </mx:FormItem>
        </mx:Form>
        <mx:ControlBar>
            <mx:LinkButton id="registerLink"  label="Need to Register?"
                click="currentState='Register'"/>
            <mx:Spacer width="100%" id="spacer1"/>
            <mx:Button label="Login" id="loginButton"/>
        </mx:ControlBar>
    </mx:Panel>
</mx:Application>