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

mx.states.State
mx.states.RemoveChild
mx.states.Transition
mx.effects.AddChildAction


Public Properties
 PropertyDefined By
  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
  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
  
apply(parent:UIComponent):void
[override] Applies the override.
AddChild
  
Creates the child instance from the factory.
AddChild
 Inherited
dispatchEvent(event:Event):Boolean
OnDemandEventDispatcher
 Inherited
hasEventListener(type:String):Boolean
OnDemandEventDispatcher
  
initialize():void
[override] IOverride interface method; this class implements it as an empty method.
AddChild
  
remove(parent:UIComponent):void
[override] Removes the override.
AddChild
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
OnDemandEventDispatcher
 Inherited
willTrigger(type:String):Boolean
OnDemandEventDispatcher
Property Detail
creationPolicyproperty
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
positionproperty 
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".

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

targetproperty 
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
targetFactoryproperty 
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:

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.