Language Version: | ActionScript 3.0 |
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.
Show MXML Syntax
Hide 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"
/>
targetFactory
creationPolicy:String
Language Version: | ActionScript 3.0 |
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:
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
public var position:String
Language Version: | ActionScript 3.0 |
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".
public var relativeTo:Object
Language Version: | ActionScript 3.0 |
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:DisplayObject
Language Version: | ActionScript 3.0 |
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:IDeferredInstance
Language Version: | ActionScript 3.0 |
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
public function AddChild(relativeTo:UIComponent = null, target:DisplayObject = null, position:String = "lastChild")
Language Version: | ActionScript 3.0 |
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".
|
override public function apply(parent:UIComponent):void
Language Version: | ActionScript 3.0 |
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.
|
public function createInstance():void
Language Version: | ActionScript 3.0 |
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.
override public function initialize():void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
IOverride interface method; this class implements it as an empty method.
override public function remove(parent:UIComponent):void
Language Version: | ActionScript 3.0 |
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.
|