Apache Flex 4.16.1 API Reference | All Packages | All Classes | Index | Frames No Frames |
AddChild

Package | mx.states
Class | public class AddChild
Inheritance | AddChild OverrideBase OnDemandEventDispatcher 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 Syntax 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"
      />

Default MXML Property `targetFactory`

See also

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

Public Properties

| Property | Defined 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
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | AddChild(relativeTo:UIComponent = null, target:DisplayObject = null, position:String = lastChild) Constructor. | AddChild
|  | 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
|  | createInstance():void Creates the child instance from the factory. | AddChild
|  | dispatchEvent(event:Event):Boolean | OnDemandEventDispatcher
|  | 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
|  | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void | OnDemandEventDispatcher
|  | willTrigger(type:String):Boolean | 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:

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`

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.

Wed Nov 15 2017, 09:50 AM +01:00