包 | mx.managers |
接口 | public interface ISystemManager extends IEventDispatcher , IChildList , IFlexModuleFactory |
实现器 | SystemManager, WindowedSystemManager |
mx.core.Application
实例的“应用程序窗口”,该实例是应用程序中的“顶级”主窗口。
每个应用程序都有一个 ISystemManager。如果应用程序窗口的大小发生更改(您无法在应用程序中更改其大小,只能通过与操作系统窗口或浏览器交互来进行更改),则 ISystemManager 会发送一个事件。它是应用程序中所有可显示项目(例如 mx.core.Application 主实例以及所有弹出窗口、工具提示、光标等)的父项。任何以 ISystemManager 为父项的对象都将被视为“顶级”窗口,就连工具提示和光标也是如此。
如果显示有多个 IFocusManagerContainer,并且用户正在与 IFocusManagerContainers 中的组件进行交互,则 ISystemManager 还可以在各顶级窗口之间切换焦点。
所有未显式捕获的键盘和鼠标活动对 ISystemManager 都是可见的,因此,可以使用它来监视本应由您监视的活动。
在将某个应用程序加载到另一个应用程序时,虽然仍会创建 ISystemManager,但是根据安全性和域规则,将不会使用它来管理“应用程序窗口”;而将作为加载它的 Loader
的 content
,只是充当子应用程序的父级。
ISystemManager 可维护多个子项列表,工具提示、光标、弹出窗口各有一个列表。因此,它可以确保弹出窗口“浮”在主应用程序窗口上方,工具提示“浮”在弹出窗口上方,光标“浮”在工具提示上方。若要对 ISystemManager 检查 numChildren
属性或 getChildAt()
方法,则需要访问主应用程序窗口以及其它任何没有弹出的窗口。要获得所有窗口(包括弹出窗口、工具提示和光标)的列表,请使用 rawChildren
属性。
属性 | 定义方 | ||
---|---|---|---|
cursorChildren : IChildList [只读 (read-only)] 使用此 ISystemManager 作为父项的自定义光标的列表。 | ISystemManager | ||
document : Object 对文档对象的引用。 | ISystemManager | ||
focusPane : Sprite 在各组件之间共享的单个 Sprite,用作绘图焦点的叠加层。 | ISystemManager | ||
loaderInfo : LoaderInfo [只读 (read-only)] 提供应用程序相关信息的 LoaderInfo 对象。 | ISystemManager | ||
numChildren : int [只读 (read-only)] 此子级列表中的子项数。 | IChildList | ||
numModalWindows : int 模式窗口的数量。 | ISystemManager | ||
popUpChildren : IChildList [只读 (read-only)] 将使用此 ISystemManager 作为父项的最顶级窗口(弹出窗口)的列表。 | ISystemManager | ||
rawChildren : IChildList [只读 (read-only)] 使用此 ISystemManager 作为父项的所有子项的列表。 | ISystemManager | ||
screen : Rectangle [只读 (read-only)] 应用程序窗口的大小和位置。 | ISystemManager | ||
stage : Stage [只读 (read-only)] 代表映射到此 SystemManager 中的应用程序窗口的 flash.display.Stage。 | ISystemManager | ||
swfBridgeGroup : ISWFBridgeGroup [只读 (read-only)] 包含所有通向此应用程序所连接的其它应用程序的桥。 | ISystemManager | ||
toolTipChildren : IChildList [只读 (read-only)] 将使用此 ISystemManager 作为父项的工具提示的列表。 | ISystemManager | ||
topLevelSystemManager : ISystemManager [只读 (read-only)] 负责应用程序窗口的 ISystemManager。 | ISystemManager |
方法 | 定义方 | ||
---|---|---|---|
激活 IFocusManagerContainer 中的 FocusManager。 | ISystemManager | ||
在此子项列表的末尾添加一个子 DisplayObject。 | IChildList | ||
在此子级列表的指定索引处添加子 DisplayObject。 | IChildList | ||
向系统管理器添加子桥。 | ISystemManager | ||
向所请求的层中的沙箱根添加子级。 | ISystemManager | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | IEventDispatcher | ||
注册一个包含 FocusManager 的顶级窗口。 | ISystemManager | ||
确定 DisplayObject 是否在此子级列表中,或是否为此子级列表中的子项的后代。 | IChildList | ||
factory 方法,要求定义的实例是模块已知的。 | IFlexModuleFactory | ||
取消激活 IFocusManagerContainer 中的 FocusManager,并激活下一个最高层 IFocusManagerContainer 窗口中的 FocusManager。 | ISystemManager | ||
部署或删除鼠标盾。 | ISystemManager | ||
将事件调度到事件流中。 | IEventDispatcher | ||
dispatchEventFromSWFBridges(event:Event, skip:IEventDispatcher = null, trackClones:Boolean = false, toOtherSystemManagers:Boolean = false):void 向此 SystemManager 的 SWF 桥组中的所有父应用程序和子应用程序调度消息,无论这些应用程序是否在同一个 SecurityDomain 中都是如此。 | ISystemManager | ||
获取此子级列表中指定索引处的子 DisplayObject。 | IChildList | ||
获取此子级列表中具有指定名称的子 DisplayObject。 | IChildList | ||
获取此子级列表中特定子项的索引。 | IChildList | ||
将给定的 String 转换为 Class 或数据包级的 Function。 | ISystemManager | ||
返回位于子级列表中指定点下方的 DisplayObject 的数组。 | IChildList | ||
获取此 SecurityDomain 中所有顶级系统管理器的根系统管理器 | ISystemManager | ||
尝试获取位于主应用程序中的系统管理器。 | ISystemManager | ||
获取所加载应用程序在屏幕上对用户可见的范围。 | ISystemManager | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | IEventDispatcher | ||
返回包含模块已知的静态数据的键/值对块。 | IFlexModuleFactory | ||
测试显示对象是否位于以兼容模式加载的子应用程序中,或者位于不受信任的沙箱中。 | ISystemManager | ||
如果所需的字体已嵌入到此应用程序中,或已使用 Font.registerFont() 方法进行了全局注册,则返回 true。 | ISystemManager | ||
如果此 ISystemManager 负责应用程序窗口,则返回 true;如果此应用程序已加载到其它应用程序中,则返回 false。 | ISystemManager | ||
测试此系统管理器是否为所有顶级系统管理器的根。 | ISystemManager | ||
从此子级列表中删除指定的子 DisplayObject。 | IChildList | ||
从此子级列表中删除指定索引处的子 DisplayObject。 | IChildList | ||
向系统管理器添加子桥。 | ISystemManager | ||
从所请求的层中的沙箱根删除子级。 | ISystemManager | ||
从 EventDispatcher 对象中删除侦听器。 | IEventDispatcher | ||
取消注册包含 FocusManager 的顶级窗口。 | ISystemManager | ||
更改此子级列表中特定子项的索引。 | IChildList | ||
确定使用此系统管理器的调用方是应直接与其它管理器通信,还是应与桥通信。 | ISystemManager | ||
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。 | IEventDispatcher |
cursorChildren | 属性 |
cursorChildren:IChildList
[只读 (read-only)] 使用此 ISystemManager 作为父项的自定义光标的列表。
ISystemManager 包含各种类型的子项,例如应用程序、弹出窗口、顶级窗口、工具提示和自定义光标。您可以通过 cursorChildren
属性访问自定义光标。
IChildList 对象具有类似于 getChildAt()
的方法和类似于 numChildren
的属性。例如,cursorChildren.numChildren
可提供自定义光标数目(可以是 0,也可以是 1);如果存在自定义光标,您可以将其当作 cursorChildren.getChildAt(0)
进行访问。
public function get cursorChildren():IChildList
document | 属性 |
document:Object
[读写] 对文档对象的引用。文档对象是位于 Flex 应用程序、MXML 组件或 AS 组件层次结构顶层的 Object。
public function get document():Object
public function set document(value:Object):void
focusPane | 属性 |
focusPane:Sprite
[读写] 在各组件之间共享的单个 Sprite,用作绘图焦点的叠加层。如果您有具有焦点的子项组件,则可以共享它;如果您是 IFocusManagerComponent,则不能共享它。
public function get focusPane():Sprite
public function set focusPane(value:Sprite):void
loaderInfo | 属性 |
loaderInfo:LoaderInfo
[只读 (read-only)] 提供应用程序相关信息的 LoaderInfo 对象。
public function get loaderInfo():LoaderInfo
numModalWindows | 属性 |
numModalWindows:int
[读写] 模式窗口的数量。
模式窗口不允许在其它窗口中单击,因为这通常会激活该窗口中的 FocusManager。PopUpManager 在创建和销毁模式窗口时会修改此计数。
public function get numModalWindows():int
public function set numModalWindows(value:int):void
popUpChildren | 属性 |
popUpChildren:IChildList
[只读 (read-only)] 将使用此 ISystemManager 作为父项的最顶级窗口(弹出窗口)的列表。
ISystemManager 包含各种类型的子项,例如应用程序、弹出窗口、工具提示和自定义光标。您可以通过 popUpChildren
属性访问最顶级窗口。
IChildList 对象具有类似于 getChildAt()
的方法和类似于 numChildren
的属性。例如,popUpChildren.numChildren
可提供最顶部窗口的数量,您可将最顶部窗口当作 popUpChildren.getChildAt(i)
进行访问。
public function get popUpChildren():IChildList
rawChildren | 属性 |
rawChildren:IChildList
[只读 (read-only)] 使用此 ISystemManager 作为父项的所有子项的列表。
ISystemManager 包含各种类型的子项,例如应用程序、弹出窗口、工具提示和自定义光标。
IChildList 对象具有类似于 getChildAt()
的方法和类似于 numChildren
的属性。
public function get rawChildren():IChildList
screen | 属性 |
screen:Rectangle
[只读 (read-only)]
应用程序窗口的大小和位置。Rectangle 对象包含 x
、y
、width
和 height
属性。
public function get screen():Rectangle
stage | 属性 |
stage:Stage
[只读 (read-only)] 代表映射到此 SystemManager 中的应用程序窗口的 flash.display.Stage。
public function get stage():Stage
swfBridgeGroup | 属性 |
swfBridgeGroup:ISWFBridgeGroup
[只读 (read-only)] 包含所有通向此应用程序所连接的其它应用程序的桥。
public function get swfBridgeGroup():ISWFBridgeGroup
toolTipChildren | 属性 |
toolTipChildren:IChildList
[只读 (read-only)] 将使用此 ISystemManager 作为父项的工具提示的列表。
ISystemManager 包含各种类型的子项,例如应用程序、弹出窗口、最顶部窗口、工具提示和自定义光标。
IChildList 对象具有类似于 getChildAt()
的方法和类似于 numChildren
的属性。例如,toolTipChildren.numChildren
可提供工具提示数目(可以是 0,也可以是 1);如果存在工具提示,您可以将其当作 toolTipChildren.getChildAt(0)
进行访问。
public function get toolTipChildren():IChildList
topLevelSystemManager | 属性 |
topLevelSystemManager:ISystemManager
[只读 (read-only)] 负责应用程序窗口的 ISystemManager。只要此应用程序尚未加载到其它应用程序中,这就是同一个 ISystemManager。
public function get topLevelSystemManager():ISystemManager
activate | () | 方法 |
public function activate(f:IFocusManagerContainer):void
激活 IFocusManagerContainer 中的 FocusManager。
参数
f:IFocusManagerContainer — 应激活其 FocusManager 的顶级窗口。 |
addChildBridge | () | 方法 |
public function addChildBridge(bridge:IEventDispatcher, owner:DisplayObject):void
向系统管理器添加子桥。每个子桥都代表另一个沙箱中的组件,或以 Flex 的不同版本编译的组件。
参数
bridge:IEventDispatcher — 子级的桥。 | |
owner:DisplayObject — 子级的 SWFLoader。 |
addChildToSandboxRoot | () | 方法 |
public function addChildToSandboxRoot(layer:String, child:DisplayObject):void
向所请求的层中的沙箱根添加子级。
参数
layer:String — SystemManager 中 IChildList 的名称 | |
child:DisplayObject — 要添加的 DisplayObject |
addFocusManager | () | 方法 |
public function addFocusManager(f:IFocusManagerContainer):void
注册一个包含 FocusManager 的顶级窗口。由 FocusManager 调用,通常不由应用程序代码调用。
参数
f:IFocusManagerContainer — 应用程序中的顶级窗口。 |
deactivate | () | 方法 |
public function deactivate(f:IFocusManagerContainer):void
取消激活 IFocusManagerContainer 中的 FocusManager,并激活下一个最高层 IFocusManagerContainer 窗口中的 FocusManager。
参数
f:IFocusManagerContainer — 应取消激活其 FocusManager 的顶级窗口。 |
deployMouseShields | () | 方法 |
public function deployMouseShields(deploy:Boolean):void
部署或删除鼠标盾。鼠标盾可以阻止不受信任的应用程序获得鼠标输入。之所以需要阻止鼠标输入,是因为在不受信任的应用程序上拖动时,一般不会收到任何鼠标移动事件。出于安全考虑,Flash Player 在穿越受信任/不受信任的边界时不发送事件。通过用鼠标盾(假设您是其父级)遮盖不受信任的应用程序,可以得到鼠标移动消息,而拖动操作可以发挥预期的作用。
参数
deploy:Boolean —
true 将部署鼠标盾,false 将删除鼠标盾。
|
dispatchEventFromSWFBridges | () | 方法 |
public function dispatchEventFromSWFBridges(event:Event, skip:IEventDispatcher = null, trackClones:Boolean = false, toOtherSystemManagers:Boolean = false):void
向此 SystemManager 的 SWF 桥组中的所有父应用程序和子应用程序调度消息,无论这些应用程序是否在同一个 SecurityDomain 中都是如此。根据需要,可以用此方法的参数排除应用程序。
参数
event:Event — 要调度的事件。 | |
skip:IEventDispatcher (default = null ) — 指定不想向其调度消息的 IEventDispatcher。通常用于跳过发起事件的 IEventDispatcher。 | |
trackClones:Boolean (default = false ) — 调度事件时,是否保留对这些事件的引用。 | |
toOtherSystemManagers:Boolean (default = false ) — 是否向 AIR 中的其它顶级 SystemManager 调度事件。 |
getDefinitionByName | () | 方法 |
public function getDefinitionByName(name:String):Object
将给定的 String 转换为 Class 或数据包级的 Function。根据是否加载到其它应用程序来调用适当的 ApplicationDomain.getDefinition()
方法。
参数
name:String — 类名称,例如“mx.video.VideoManager”。 |
Object —
使用 name 或 null 表示的 Class。
|
getSandboxRoot | () | 方法 |
public function getSandboxRoot():DisplayObject
获取此 SecurityDomain 中所有顶级系统管理器的根系统管理器
返回DisplayObject — 沙箱中最高等级的 systemManager |
getTopLevelRoot | () | 方法 |
public function getTopLevelRoot():DisplayObject
尝试获取位于主应用程序中的系统管理器。
返回DisplayObject — 如果安全限制允许,则为主应用程序的 systemManager;如果它位于不同的 SecurityDomain 中,则为 null。 |
getVisibleApplicationRect | () | 方法 |
public function getVisibleApplicationRect(bounds:Rectangle = null):Rectangle
获取所加载应用程序在屏幕上对用户可见的范围。
参数
bounds:Rectangle (default = null ) —
可选。可见矩形的起始边界。边界采用全局坐标。如果 bounds 为 null,则起始边界由系统管理器的 screen 属性定义。
|
Rectangle —
包括此对象可见部分的 Rectangle 。该矩形采用全局坐标。
|
isDisplayObjectInABridgedApplication | () | 方法 |
public function isDisplayObjectInABridgedApplication(displayObject:DisplayObject):Boolean
测试显示对象是否位于以兼容模式加载的子应用程序中,或者位于不受信任的沙箱中。
参数
displayObject:DisplayObject — 要测试的 DisplayObject。 |
Boolean —
如果 displayObject 位于以兼容模式加载的子应用程序中,或位于不受信任的沙箱中,则为 true ;否则为 false 。
|
isFontFaceEmbedded | () | 方法 |
public function isFontFaceEmbedded(tf:TextFormat):Boolean
如果所需的字体已嵌入到此应用程序中,或已使用 Font.registerFont()
方法进行了全局注册,则返回 true
。
参数
tf:TextFormat — 提供字符格式设置信息的 TextFormat 类。 |
Boolean —
如果所需的字体已嵌入到此应用程序中,或已使用 Font.registerFont() 方法进行了全局注册,则返回 true 。
|
isTopLevel | () | 方法 |
public function isTopLevel():Boolean
如果此 ISystemManager 负责应用程序窗口,则返回 true
;如果此应用程序已加载到其它应用程序中,则返回 false
。
Boolean —
如果此 ISystemManager 负责应用程序窗口,则返回 true 。
|
isTopLevelRoot | () | 方法 |
public function isTopLevelRoot():Boolean
测试此系统管理器是否为所有顶级系统管理器的根。
返回Boolean —
如果此 SystemManager 是显示列表上所有 SystemManager 的根,则为 true ;否则为 false 。
|
removeChildBridge | () | 方法 |
public function removeChildBridge(bridge:IEventDispatcher):void
向系统管理器添加子桥。每个子桥都代表另一个沙箱中的组件,或以 Flex 的不同版本编译的组件。
参数
bridge:IEventDispatcher — 子级的桥 |
removeChildFromSandboxRoot | () | 方法 |
public function removeChildFromSandboxRoot(layer:String, child:DisplayObject):void
从所请求的层中的沙箱根删除子级。
参数
layer:String — SystemManager 中 IChildList 的名称 | |
child:DisplayObject — 要添加的 DisplayObject |
removeFocusManager | () | 方法 |
public function removeFocusManager(f:IFocusManagerContainer):void
取消注册包含 FocusManager 的顶级窗口。由 FocusManager 调用,通常不由应用程序代码调用。
参数
f:IFocusManagerContainer — 应用程序中的顶级窗口。 |
useSWFBridge | () | 方法 |
public function useSWFBridge():Boolean
确定使用此系统管理器的调用方是应直接与其它管理器通信,还是应与桥通信。
返回Boolean —
如果使用此系统管理器的调用方应该使用沙箱桥进行通信,则为 true 。如果系统管理器可以通过引用直接调用其它管理器,则为 false 。
|