mx.managers

# ISystemManager - AS3 Flex

Package | mx.managers
Interface | public interface ISystemManager extends IEventDispatcher , IChildList , IFlexModuleFactory
Implementors | SystemManager, WindowedSystemManager

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

An ISystemManager manages an "application window". Every application that runs on the desktop or in a browser has an area where the visuals of the application will be displayed. It may be a window in the operating system or an area within the browser. That is an "application window" and different from an instance of `mx.core.Application`, which is the main "top-level" window within an application.

Every application has an ISystemManager. The ISystemManager sends an event if the size of the application window changes (you cannot change it from within the application, but only through interaction with the operating system window or browser). It parents all displayable items within the application, such as the main mx.core.Application instance and all popups, tooltips, cursors, an so on. Any object parented by the ISystemManager is considered to be a "top-level" window, even tooltips and cursors.

The ISystemManager also switches focus between top-level windows if there are more than one IFocusManagerContainer displayed and users are interacting with components within the IFocusManagerContainers.

All keyboard and mouse activity that is not expressly trapped is seen by the ISystemManager, making it a good place to monitor activity should you need to do so.

If an application is loaded into another application, an ISystemManager will still be created, but will not manage an "application window", depending on security and domain rules. Instead, it will be the `content` of the `Loader` that loaded it and simply serve as the parent of the sub-application

The ISystemManager maintains multiple lists of children, one each for tooltips, cursors, popup windows. This is how it ensures that popup windows "float" above the main application windows and that tooltips "float" above that and cursors above that. If you examine the `numChildren` property or `getChildAt()` method on the ISystemManager you are accessing the main application window and any other windows that aren't popped up. To get the list of all windows, including popups, tooltips and cursors, use the `rawChildren` property.

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | allowDomainsInNewRSLs : Boolean Controls whether the domains allowed by calls to allowDomain() are also allowed by RSLs loaded after the call. | IFlexModuleFactory
|  | allowInsecureDomainsInNewRSLs : Boolean Controls whether the domains allowed by calls to allowInsecureDomain() are also allowed by RSLs loaded after the call. | IFlexModuleFactory
|  | cursorChildren : IChildList [read-only] An list of the custom cursors being parented by this ISystemManager. | ISystemManager
|  | document : Object A reference to the document object. | ISystemManager
|  | focusPane : Sprite A single Sprite shared among components used as an overlay for drawing focus. | ISystemManager
|  | isProxy : Boolean [read-only] True if the ISystemManager is a proxy and not a root class. | ISystemManager
|  | loaderInfo : LoaderInfo [read-only] The LoaderInfo object that represents information about the application. | ISystemManager
|  | numChildren : int [read-only] The number of children in this child list. | IChildList
|  | numModalWindows : int The number of modal windows. | ISystemManager
|  | popUpChildren : IChildList [read-only] An list of the topMost (popup) windows being parented by this ISystemManager. | ISystemManager
|  | preloadedRSLs : Dictionary [read-only] The RSLs loaded by this SystemManager or FlexModuleFactory before the application starts. | IFlexModuleFactory
|  | rawChildren : IChildList [read-only] A list of all children being parented by this ISystemManager. | ISystemManager
|  | screen : Rectangle [read-only] The size and position of the application window. | ISystemManager
|  | stage : Stage [read-only] The flash.display.Stage that represents the application window mapped to this SystemManager | ISystemManager
|  | toolTipChildren : IChildList [read-only] A list of the tooltips being parented by this ISystemManager. | ISystemManager
|  | topLevelSystemManager : ISystemManager [read-only] The ISystemManager responsible for the application window. | ISystemManager

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | addChild(child:DisplayObject):DisplayObject Adds a child DisplayObject after the end of this child list. | IChildList
|  | addChildAt(child:DisplayObject, index:int):DisplayObject Adds a child DisplayObject to this child list at the index specified. | IChildList
|  | 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
|  | addPreloadedRSL(loaderInfo:LoaderInfo, rsl:Vector.<RSLData>):void Adds an RSL to the preloadedRSLs list. | IFlexModuleFactory
|  | allowDomain(... domains):void Calls the Security.allowDomain() method for the SWF associated with this IFlexModuleFactory plus all the SWFs associated with RSLs preloaded by this IFlexModuleFactory. | IFlexModuleFactory
|  | allowInsecureDomain(... domains):void Calls the Security.allowInsecureDomain() method for the SWF associated with this IFlexModuleFactory plus all the SWFs associated with RSLs preloaded by this IFlexModuleFactory. | IFlexModuleFactory
|  | callInContext(fn:Function, thisArg:Object, argArray:Array, returns:Boolean = true):* A way to call a method in this IFlexModuleFactory's context | IFlexModuleFactory
|  | contains(child:DisplayObject):Boolean Determines if a DisplayObject is in this child list, or is a descendant of an child in this child list. | IChildList
|  | create(... parameters):Object A factory method that requests an instance of a definition known to the module. | IFlexModuleFactory
|  | deployMouseShields(deploy:Boolean):void Deploy or remove mouse shields. | ISystemManager
|  | dispatchEvent(event:Event):Boolean Dispatches an event into the event flow. | IEventDispatcher
|  | getChildAt(index:int):DisplayObject Gets the child DisplayObject at the specified index in this child list. | IChildList
|  | getChildByName(name:String):DisplayObject Gets the child DisplayObject with the specified name in this child list. | IChildList
|  | getChildIndex(child:DisplayObject):int Gets the index of a specific child in this child list. | IChildList
|  | getDefinitionByName(name:String):Object Converts the given String to a Class or package-level Function. | ISystemManager
|  | getImplementation(interfaceName:String):Object Get the implementation for an interface. | IFlexModuleFactory
|  | getObjectsUnderPoint(point:Point):Array Returns an array of DisplayObjects that lie under the specified point and are in this child list. | IChildList
|  | getSandboxRoot():DisplayObject Gets the system manager that is the root of all top level system managers in this SecurityDomain. | ISystemManager
|  | getTopLevelRoot():DisplayObject Attempts to get the system manager that is the in the main application. | ISystemManager
|  | getVisibleApplicationRect(bounds:Rectangle = null, skipToSandboxRoot:Boolean = false):Rectangle Get the bounds of the loaded application that are visible to the user on the screen. | ISystemManager
|  | hasEventListener(type:String):Boolean Checks whether the EventDispatcher object has any listeners registered for a specific type of event. | IEventDispatcher
|  | info():Object Returns a block of key/value pairs that hold static data known to the module. | IFlexModuleFactory
|  | invalidateParentSizeAndDisplayList():void Attempt to notify the parent SWFLoader that the application's size may have changed. | ISystemManager
|  | isFontFaceEmbedded(tf:flash.text:TextFormat):Boolean Returns true if the required font face is embedded in this application, or has been registered globally by using the Font.registerFont() method. | ISystemManager
|  | isTopLevel():Boolean Returns true if this ISystemManager is responsible for an application window, and false if this application has been loaded into another application. | ISystemManager
|  | isTopLevelRoot():Boolean Tests if this system manager is the root of all top level system managers. | ISystemManager
|  | registerImplementation(interfaceName:String, impl:Object):void Register an implementation for an interface. | IFlexModuleFactory
|  | removeChild(child:DisplayObject):DisplayObject Removes the specified child DisplayObject from this child list. | IChildList
|  | removeChildAt(index:int):DisplayObject Removes the child DisplayObject at the specified index from this child list. | IChildList
|  | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void Removes a listener from the EventDispatcher object. | IEventDispatcher
|  | setChildIndex(child:DisplayObject, newIndex:int):void Changes the index of a particular child in this child list. | IChildList
|  | 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

### cursorChildren

property

`cursorChildren:IChildList` [read-only]

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

An list of the custom cursors being parented by this ISystemManager.

An ISystemManager has various types of children, such as the Application, popups, top-most windows, tooltips, and custom cursors. You can access the custom cursors through the `cursorChildren` property.

The IChildList object has methods like `getChildAt()` and properties like `numChildren`. For example, `cursorChildren.numChildren` gives the number of custom cursors (which will be either 0 or 1) and, if a custom cursor exists, you can access it as `cursorChildren.getChildAt(0)`.

Implementation
`public function get cursorChildren():IChildList`

### document

property

`document:Object`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

A reference to the document object. A document object is an Object at the top of the hierarchy of a Flex application, MXML component, or AS component.

Implementation
`public function get document():Object`
`public function set document(value:Object):void`

### focusPane

property

`focusPane:Sprite`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

A single Sprite shared among components used as an overlay for drawing focus. You share it if you parent a focused component, not if you are IFocusManagerComponent.

Implementation
`public function get focusPane():Sprite`
`public function set focusPane(value:Sprite):void`

### isProxy

property

`isProxy:Boolean` [read-only]

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

True if the ISystemManager is a proxy and not a root class.

Implementation
`public function get isProxy():Boolean`

### loaderInfo

property

`loaderInfo:LoaderInfo` [read-only]

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

The LoaderInfo object that represents information about the application.

Implementation
`public function get loaderInfo():LoaderInfo`

### numModalWindows

property

`numModalWindows:int`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

The number of modal windows.

Modal windows don't allow clicking in another windows which would normally activate the FocusManager in that window. The PopUpManager modifies this count as it creates and destroy modal windows.

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

### popUpChildren

property

`popUpChildren:IChildList` [read-only]

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

An list of the topMost (popup) windows being parented by this ISystemManager.

An ISystemManager has various types of children, such as the Application, popups, tooltips, and custom cursors. You can access the top-most windows through the `popUpChildren` property.

The IChildList object has methods like `getChildAt()` and properties like `numChildren`. For example, `popUpChildren.numChildren` gives the number of topmost windows and you can access them as `popUpChildren.getChildAt(i)`.

Implementation
`public function get popUpChildren():IChildList`

### rawChildren

property

`rawChildren:IChildList` [read-only]

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

A list of all children being parented by this ISystemManager.

An ISystemManager has various types of children, such as the Application, popups, tooltips, and custom cursors.

The IChildList object has methods like `getChildAt()` and properties like `numChildren`.

Implementation
`public function get rawChildren():IChildList`

### screen

property

`screen:Rectangle` [read-only]

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

The size and position of the application window. The Rectangle object contains `x`, `y`, `width`, and `height` properties. The Rectangle is in sandbox root coordinates.

Implementation
`public function get screen():Rectangle`

### stage

property

`stage:Stage` [read-only]

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

The flash.display.Stage that represents the application window mapped to this SystemManager

Implementation
`public function get stage():Stage`

### toolTipChildren

property

`toolTipChildren:IChildList` [read-only]

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

A list of the tooltips being parented by this ISystemManager.

An ISystemManager has various types of children, such as the Application, popups, topmost windows, tooltips, and custom cursors.

The IChildList object has methods like `getChildAt()` and properties like `numChildren`. For example, `toolTipChildren.numChildren` gives the number of tooltips (which will be either 0 or 1) and, if a tooltip exists, you can access it as `toolTipChildren.getChildAt(0)`.

Implementation
`public function get toolTipChildren():IChildList`

### topLevelSystemManager

property

`topLevelSystemManager:ISystemManager` [read-only]

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

The ISystemManager responsible for the application window. This will be the same ISystemManager unless this application has been loaded into another application.

Implementation
`public function get topLevelSystemManager():ISystemManager`
Method Detail

### deployMouseShields

()
method

`public function deployMouseShields(deploy:Boolean):void`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Deploy or remove mouse shields. Mouse shields block mouse input to untrusted applications. The reason you would want to block mouse input is because when you are dragging over an untrusted application you would normally not receive any mouse move events. The Flash Player does not send events across trusted/untrusted boundries due to security concerns. By covering the untrusted application with a mouse shield (assuming you are its parent) you can get mouse move message and the drag operation will work as expected.

Parameters

| `deploy:Boolean` — `true` to deploy the mouse shields, `false` to remove the mouse shields.

### getDefinitionByName

()
method

`public function getDefinitionByName(name:String):Object`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Converts the given String to a Class or package-level Function. Calls the appropriate `ApplicationDomain.getDefinition()` method based on whether you are loaded into another application or not.

Parameters

| `name:String` — Name of class, for example "mx.video.VideoManager".

Returns

| `Object` — The Class represented by the `name`, or null.

### getSandboxRoot

()
method

`public function getSandboxRoot():DisplayObject`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Gets the system manager that is the root of all top level system managers in this SecurityDomain.

Returns

| `DisplayObject` — the highest-level systemManager in the sandbox

### getTopLevelRoot

()
method

`public function getTopLevelRoot():DisplayObject`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Attempts to get the system manager that is the in the main application.

Returns

| `DisplayObject` — The main application's systemManager if allowed by security restrictions or null if it is in a different SecurityDomain.

### getVisibleApplicationRect

()
method

`public function getVisibleApplicationRect(bounds:Rectangle = null, skipToSandboxRoot:Boolean = false):Rectangle`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Get the bounds of the loaded application that are visible to the user on the screen.

Parameters

| `bounds:Rectangle` (default = `null`)`` — Optional. The starting bounds for the visible rect. The bounds are in global coordinates. If `bounds` is null the starting bounds is defined by the `screen` property of the system manager.
| `skipToSandboxRoot:Boolean` (default = `false`)``

Returns

| `Rectangle` — a `Rectangle` including the visible portion of the this object. The rectangle is in global coordinates.

### invalidateParentSizeAndDisplayList

()
method

`public function invalidateParentSizeAndDisplayList():void`

Language Version: | ActionScript 3.0

Product Version: | Flex 4

Runtime Versions: | Flash Player 10, AIR 1.5

Attempt to notify the parent SWFLoader that the application's size may have changed.

### isFontFaceEmbedded

()
method

`public function isFontFaceEmbedded(tf:flash.text:TextFormat):Boolean`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Returns `true` if the required font face is embedded in this application, or has been registered globally by using the `Font.registerFont()` method.

Parameters

| `tf:flash.text:TextFormat` — The TextFormat class representing character formatting information.

Returns

| `Boolean` — `true` if the required font face is embedded in this application, or has been registered globally by using the `Font.registerFont()` method.

### isTopLevel

()
method

`public function isTopLevel():Boolean`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Returns `true` if this ISystemManager is responsible for an application window, and `false` if this application has been loaded into another application.

Returns

| `Boolean` — `true` if this ISystemManager is responsible for an application window.

### isTopLevelRoot

()
method

`public function isTopLevelRoot():Boolean`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Tests if this system manager is the root of all top level system managers.

Returns

| `Boolean` — `true` if the SystemManager is the root of all SystemManagers on the display list, and `false` otherwise.

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