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:
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.
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:
Value
Meaning
auto
(default)Create the instance the
first time it is needed.
all
Create the instance when the
application started up.
none
Do 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
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.
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.