Adobe® Flex® 4 Language Reference
Show Packages and Classes List |  Packages  |  Classes  |  Index  |  Appendixes
mx.states 
AddChild 
Packagemx.states
Classpublic class AddChild
InheritanceAddChild Inheritance OverrideBase Inheritance OnDemandEventDispatcher Inheritance Object

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

The AddChild class adds a child display object, such as a component, to a container as part of a view state. You use this class in the overrides property of the State class. Use the creationPolicy property to specify to create the child at application startup or when you change to a view state.

The child does not dispatch the creationComplete event until it is added to a container. For example, the following code adds a Button control as part of a view state change:

  <mx:AddChild relativeTo="{v1}">
      <mx:Button id="b0" label="New Button"/>
  </mx:AddChild> 

In the previous example, the Button control does not dispatch the creationComplete event until you change state and the Button control is added to a container. If the AddChild class defines both the Button and a container, such as a Canvas container, then the Button control dispatches the creationComplete event when it is created. For example, if the creationPolicy property is set to all, the Button control dispatches the event at application startup. If the creationPolicy property is set to auto, the Button control dispatches the event when you change to the view state.

MXML SyntaxexpandedHide MXML Syntax

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

  <mx:AddChild
  Properties
  target="null"
  targetFactory="null"
  creationPolicy="auto"
  position="lastChild"
  relativeTo="parent of the State object"
  />
  

Default MXML PropertytargetFactory

See also



Public Properties
 PropertyDefined By
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  creationPolicy : String
The creation policy for this child.
AddChild
  position : String
The position of the child in the display list, relative to the object specified by the relativeTo property.
AddChild
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
  relativeTo : Object
The object relative to which the child is added.
AddChild
  target : DisplayObject
The child to be added.
AddChild
  targetFactory : IDeferredInstance
The factory that creates the child.
AddChild
Public Methods
 MethodDefined By
  
AddChild(relativeTo:UIComponent = null, target:DisplayObject = null, position:String = "lastChild")
Constructor.
AddChild
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
OnDemandEventDispatcher
  
[override] Applies the override.
AddChild
  
Creates the child instance from the factory.
AddChild
 Inherited
OnDemandEventDispatcher
 Inherited
OnDemandEventDispatcher
 Inherited
Indicates whether an object has a specified property defined.
Object
  
[override] IOverride interface method; this class implements it as an empty method.
AddChild
 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
  
[override] Removes the override.
AddChild
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
OnDemandEventDispatcher
 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
 Inherited
OnDemandEventDispatcher
Property Detail

creationPolicy

property
creationPolicy:String

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

The creation policy for this child. This property determines when the targetFactory will create the instance of the child. Flex uses this properthy only if you specify a targetFactory property. The following values are valid:

ValueMeaning
auto(default)Create the instance the first time it is needed.
allCreate the instance when the application started up.
noneDo not automatically create the instance. You must call the createInstance() method to create the instance.

The default value is "auto".



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

position

property 
public var position:String

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

The position of the child in the display list, relative to the object specified by the relativeTo property. Valid values are "before", "after", "firstChild", and "lastChild".

The default value is "lastChild".

relativeTo

property 
public var relativeTo:Object

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

The object relative to which the child is added. This property is used in conjunction with the position property. This property is optional; if you omit it, Flex uses the immediate parent of the State object, that is, the component that has the states property, or <mx:states>tag that specifies the State object.

target

property 
target:DisplayObject

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

The child to be added. If you set this property, the child instance is created at app startup. Setting this property is equivalent to setting a targetFactory property with a creationPolicy of "all".

Do not set this property if you set the targetFactory property.



Implementation
    public function get target():DisplayObject
    public function set target(value:DisplayObject):void

targetFactory

property 
targetFactory:IDeferredInstance

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

The factory that creates the child. You can specify either of the following items:

  • A factory class that implements the IDeferredInstance interface and creates the child instance or instances.
  • A Flex component, (that is, any class that is a subclass of the UIComponent class), such as the Button contol. If you use a Flex component, the Flex compiler automatically wraps the component in a factory class.

If you set this property, the child is instantiated at the time determined by the creationPolicy property.

Do not set this property if you set the target property. This propety is the AddChild class default property. Setting this property with a creationPolicy of "all" is equivalent to setting a target property.



Implementation
    public function get targetFactory():IDeferredInstance
    public function set targetFactory(value:IDeferredInstance):void
Constructor Detail

AddChild

()Constructor
public function AddChild(relativeTo:UIComponent = null, target:DisplayObject = null, position:String = "lastChild")

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Constructor.

Parameters
relativeTo:UIComponent (default = null) — The component relative to which child is added.
 
target:DisplayObject (default = null) — The child object. All Flex components are subclasses of the DisplayObject class.
 
position:String (default = "lastChild") — the location in the display list of the target relative to the relativeTo component. Must be one of the following: "firstChild", "lastChild", "before" or "after".
Method Detail

apply

()method
override public function apply(parent:UIComponent):void

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

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.

createInstance

()method 
public function createInstance():void

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Creates the child instance from the factory. You must use this method only if you specify a targetFactory property and a creationPolicy value of "none". Flex automatically calls this method if the creationPolicy property value is "auto" or "all". If you call this method multiple times, the child instance is created only on the first call.

initialize

()method 
override public function initialize():void

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

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

remove

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

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

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.