Packagemx.states
Classpublic class SetProperty
InheritanceSetProperty Inheritance Object
Implements IOverride

The SetProperty class specifies a property value 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:SetProperty> tag has the following attributes:

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

View the examples

See also

mx.states.State
mx.states.SetEventHandler
mx.states.SetStyle
mx.effects.SetPropertyAction


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 property to change.
SetProperty
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
  target : Object
The object containing the property to be changed.
SetProperty
  value : *
The new value for the property.
SetProperty
Public Methods
 MethodDefined By
  
SetProperty(target:Object = null, name:String = null, value:*)
Constructor.
SetProperty
  
Applies the override.
SetProperty
 Inherited
Indicates whether an object has a specified property defined.
Object
  
Initializes the override.
SetProperty
 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.
SetProperty
 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 property to change. You must set this property, either in the SetProperty constructor or by setting the property value directly.

targetproperty 
public var target:Object

The object containing the property to be 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:*

The new value for the property.

The default value is undefined.

Constructor Detail
SetProperty()Constructor
public function SetProperty(target:Object = null, name:String = null, value:*)

Constructor.

Parameters
target:Object (default = null) — The object whose property is being set. By default, Flex uses the immediate parent of the State object.
 
name:String (default = null) — The property to set.
 
value:* (default = NaN) — The value of the property 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>