mx.managers

# ILayoutManagerClient - AS3 Flex

Package | mx.managers
Interface | public interface ILayoutManagerClient extends IEventDispatcher
Implementors | AdvancedDataGridItemRenderer, DataGridItemRenderer, FTEAdvancedDataGridItemRenderer, FTEDataGridItemRenderer, FlexNativeMenu, ProgrammaticSkin, UIComponent

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

The ILayoutManagerClient interface defines the interface that a component must implement to participate in the LayoutManager's commit/measurement/layout sequence.

Objects that implement this interface can be passed to the LayoutManager's `invalidateProperties()` method. When the LayoutManager reaches the commit properties phase, the LayoutManager invokes this object's `validateProperties()` method.

Similarly, if an object is passed to the LayoutManager's `invalidateSize()` method, then the LayoutManager calls that object's `validateSize()` method during its measurement phase, and if an object is passed to LayoutManager's `invalidateDisplayList()` method, then the LayoutManager calls its `validateDisplayList()` method during the layout phase.

The ILayoutManagerClient interface is implemented by the UIComponent and ProgrammaticSkin classes.

Public Properties

| Property | Defined By
--- | --- | ---
|  | initialized : Boolean A flag that determines if an object has been through all three phases of layout validation (provided that any were required) This flag should only be modified by the LayoutManager. | ILayoutManagerClient
|  | nestLevel : int The top-level SystemManager has a nestLevel of 1. | ILayoutManagerClient
|  | processedDescriptors : Boolean Set to true after immediate or deferred child creation, depending on which one happens. | ILayoutManagerClient
|  | updateCompletePendingFlag : Boolean A flag that determines if an object is waiting to have its updateComplete event dispatched. | ILayoutManagerClient

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event. | IEventDispatcher
|  | dispatchEvent(event:Event):Boolean Dispatches an event into the event flow. | IEventDispatcher
|  | hasEventListener(type:String):Boolean Checks whether the EventDispatcher object has any listeners registered for a specific type of event. | IEventDispatcher
|  | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void Removes a listener from the EventDispatcher object. | IEventDispatcher
|  | validateDisplayList():void Validates the position and size of children and draws other visuals. | ILayoutManagerClient
|  | validateProperties():void Validates the properties of a component. | ILayoutManagerClient
|  | validateSize(recursive:Boolean = false):void Validates the measured size of the component If the LayoutManager.invalidateSize() method is called with this ILayoutManagerClient, then the validateSize() method is called when it's time to do measurements. | ILayoutManagerClient
|  | willTrigger(type:String):Boolean Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type. | IEventDispatcher

Property Detail

### initialized

property

`initialized:Boolean`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

A flag that determines if an object has been through all three phases of layout validation (provided that any were required) This flag should only be modified by the LayoutManager.

Implementation
`public function get initialized():Boolean`
`public function set initialized(value:Boolean):void`

### nestLevel

property

`nestLevel:int`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

The top-level SystemManager has a nestLevel of 1. Its immediate children (the top-level Application and any pop-up windows) have a `nestLevel` of 2. Their children have a `nestLevel` of 3, and so on. The `nestLevel` is used to sort ILayoutManagerClients during the measurement and layout phases. During the commit phase, the LayoutManager commits properties on clients in order of increasing `nestLevel`, so that an object's children have already had their properties committed before Flex commits properties on the object itself. During the measurement phase, the LayoutManager measures clients in order of decreasing `nestLevel`, so that an object's children have already been measured before Flex measures the object itself. During the layout phase, the LayoutManager lays out clients in order of increasing `nestLevel`, so that an object has a chance to set the sizes of its children before the child objects are asked to position and size their children.

Implementation
`public function get nestLevel():int`
`public function set nestLevel(value:int):void`

### processedDescriptors

property

`processedDescriptors:Boolean`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Set to `true` after immediate or deferred child creation, depending on which one happens. For a Container object, it is set to `true` at the end of the `createComponentsFromDescriptors()` method, meaning after the Container object creates its children from its child descriptors.

For example, if an Accordion container uses deferred instantiation, the `processedDescriptors` property for the second pane of the Accordion container does not become `true` until after the user navigates to that pane and the pane creates its children. But, if the Accordion had set the `creationPolicy` property to `"all"`, the `processedDescriptors` property for its second pane is set to `true` during application startup.

For classes that are not containers, which do not have descriptors, it is set to `true` after the `createChildren()` method creates any internal component children.

Implementation
`public function get processedDescriptors():Boolean`
`public function set processedDescriptors(value:Boolean):void`

### updateCompletePendingFlag

property

`updateCompletePendingFlag:Boolean`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

A flag that determines if an object is waiting to have its `updateComplete` event dispatched. This flag should only be modified by the LayoutManager.

Implementation
`public function get updateCompletePendingFlag():Boolean`
`public function set updateCompletePendingFlag(value:Boolean):void`
Method Detail

### validateDisplayList

()
method

`public function validateDisplayList():void`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Validates the position and size of children and draws other visuals. If the `LayoutManager.invalidateDisplayList()` method is called with this ILayoutManagerClient, then the `validateDisplayList()` method is called when it's time to update the display list.

### validateProperties

()
method

`public function validateProperties():void`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Validates the properties of a component. If the `LayoutManager.invalidateProperties()` method is called with this ILayoutManagerClient, then the `validateProperties()` method is called when it's time to commit property values.

### validateSize

()
method

`public function validateSize(recursive:Boolean = false):void`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Validates the measured size of the component If the `LayoutManager.invalidateSize()` method is called with this ILayoutManagerClient, then the `validateSize()` method is called when it's time to do measurements.

Parameters

| `recursive:Boolean` (default = `false`)`` — If `true`, call this method on the objects children.

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00