http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/77148f4a/frameworks/projects/MX/src/main/flex/mx/managers/ISystemManager.as ---------------------------------------------------------------------- diff --cc frameworks/projects/MX/src/main/flex/mx/managers/ISystemManager.as index 35e5800,0000000..d468939 mode 100644,000000..100644 --- a/frameworks/projects/MX/src/main/flex/mx/managers/ISystemManager.as +++ b/frameworks/projects/MX/src/main/flex/mx/managers/ISystemManager.as @@@ -1,529 -1,0 +1,529 @@@ +//////////////////////////////////////////////////////////////////////////////// +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////////// + +package mx.managers +{ + - COMPILE::AS3 ++COMPILE::SWF +{ + import flash.display.DisplayObject; + import flash.display.Sprite; + import flash.display.Stage; +} +COMPILE::JS +{ + import flex.display.DisplayObject; + import flex.display.Sprite; +} +import flex.display.ModuleInfo; +import flex.display.TopOfDisplayList; + +import flex.events.IEventDispatcher; +import org.apache.flex.geom.Rectangle; +COMPILE::LATER +{ +import flash.text.TextFormat; +} + +import mx.core.IChildList; +import mx.core.IFlexModuleFactory; + +/** + * 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 <code>mx.core.Application</code>, which + * is the main "top-level" window within an application. + * + * <p>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.</p> + * + * <p>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.</p> + * + * <p>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.</p> + * + * <p>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 <code>content</code> of the <code>Loader</code> + * that loaded it and simply serve as the parent of the sub-application</p> + * + * <p>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 <code>numChildren</code> property + * or <code>getChildAt()</code> 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 <code>rawChildren</code> property.</p> + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ +public interface ISystemManager extends IEventDispatcher, IChildList, IFlexModuleFactory +{ + //-------------------------------------------------------------------------- + // + // Properties + // + //-------------------------------------------------------------------------- + + //---------------------------------- + // cursorChildren + //---------------------------------- + + /** + * An list of the custom cursors + * being parented by this ISystemManager. + * + * <p>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 <code>cursorChildren</code> property.</p> + * + * <p>The IChildList object has methods like <code>getChildAt()</code> + * and properties like <code>numChildren</code>. + * For example, <code>cursorChildren.numChildren</code> gives + * the number of custom cursors (which will be either 0 or 1) + * and, if a custom cursor exists, you can access it as + * <code>cursorChildren.getChildAt(0)</code>.</p> + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function get cursorChildren():IChildList; + + //---------------------------------- + // document + //---------------------------------- + + /** + * 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. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function get document():Object; + + /** + * @private + */ + function set document(value:Object):void; + + //---------------------------------- + // embeddedFontList + //---------------------------------- + + /** + * @private + */ + function get embeddedFontList():Object; + + //---------------------------------- + // focusPane + //---------------------------------- + + /** + * 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. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function get focusPane():Sprite; + + /** + * @private + */ + function set focusPane(value:Sprite):void; + + //---------------------------------- + // isProxy + //---------------------------------- + + /** + * True if the ISystemManager is a proxy and not a root class. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function get isProxy():Boolean; + + //---------------------------------- + // loaderInfo + //---------------------------------- + + /** + * The LoaderInfo object that represents information about the application. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function get moduleInfo():ModuleInfo; + + //---------------------------------- + // numModalWindows + //---------------------------------- + + /** + * The number of modal windows. + * + * <p>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.</p> + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function get numModalWindows():int; + + /** + * @private + */ + function set numModalWindows(value:int):void; + + //---------------------------------- + // popUpChildren + //---------------------------------- + + /** + * An list of the topMost (popup) + * windows being parented by this ISystemManager. + * + * <p>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 <code>popUpChildren</code> property.</p> + * + * <p>The IChildList object has methods like <code>getChildAt()</code> + * and properties like <code>numChildren</code>. + * For example, <code>popUpChildren.numChildren</code> gives + * the number of topmost windows and you can access them as + * <code>popUpChildren.getChildAt(i)</code>.</p> + * + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function get popUpChildren():IChildList; + + //---------------------------------- + // rawChildren + //---------------------------------- + + /** + * A list of all children + * being parented by this ISystemManager. + * + * <p>An ISystemManager has various types of children, + * such as the Application, popups, + * tooltips, and custom cursors.</p> + * + * <p>The IChildList object has methods like <code>getChildAt()</code> + * and properties like <code>numChildren</code>.</p> + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function get rawChildren():IChildList; + + //---------------------------------- + // screen + //---------------------------------- + + /** + * The size and position of the application window. + * + * The Rectangle object contains <code>x</code>, <code>y</code>, + * <code>width</code>, and <code>height</code> properties. + * + * The Rectangle is in sandbox root coordinates. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function get screen():Rectangle + + //---------------------------------- + // topOfDisplayList + //---------------------------------- + + /** + * The flash.display.Stage that represents the application window + * mapped to this SystemManager + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function get topOfDisplayList():TopOfDisplayList + + //---------------------------------- + // toolTipChildren + //---------------------------------- + + /** + * A list of the tooltips + * being parented by this ISystemManager. + * + * <p>An ISystemManager has various types of children, + * such as the Application, popups, topmost windows, + * tooltips, and custom cursors.</p> + * + * <p>The IChildList object has methods like <code>getChildAt()</code> + * and properties like <code>numChildren</code>. + * For example, <code>toolTipChildren.numChildren</code> gives + * the number of tooltips (which will be either 0 or 1) + * and, if a tooltip exists, you can access it as + * <code>toolTipChildren.getChildAt(0)</code>.</p> + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function get toolTipChildren():IChildList; + + //---------------------------------- + // topLevelSystemManager + //---------------------------------- + + /** + * The ISystemManager responsible for the application window. + * This will be the same ISystemManager unless this application + * has been loaded into another application. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function get topLevelSystemManager():ISystemManager; + + + //-------------------------------------------------------------------------- + // + // Methods + // + //-------------------------------------------------------------------------- + + /** + * Converts the given String to a Class or package-level Function. + * Calls the appropriate <code>ApplicationDomain.getDefinition()</code> + * method based on + * whether you are loaded into another application or not. + * + * @param name Name of class, for example "mx.video.VideoManager". + * + * @return The Class represented by the <code>name</code>, or null. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function getDefinitionByName(name:String):Object; + + /** + * Returns <code>true</code> if this ISystemManager is responsible + * for an application window, and <code>false</code> if this + * application has been loaded into another application. + * + * @return <code>true</code> if this ISystemManager is responsible + * for an application window. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function isTopLevel():Boolean; + + /** + * Returns <code>true</code> if the required font face is embedded + * in this application, or has been registered globally by using the + * <code>Font.registerFont()</code> method. + * + * @param tf The TextFormat class representing character formatting information. + * + * @return <code>true</code> if the required font face is embedded + * in this application, or has been registered globally by using the + * <code>Font.registerFont()</code> method. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + COMPILE::LATER + function isFontFaceEmbedded(tf:TextFormat):Boolean; + + /** + * Tests if this system manager is the root of all + * top level system managers. + * + * @return <code>true</code> if the SystemManager + * is the root of all SystemManagers on the display list, + * and <code>false</code> otherwise. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function isTopLevelRoot():Boolean; + + /** + * Attempts to get the system manager that is the in the main application. + * + * @return The main application's systemManager if allowed by + * security restrictions or null if it is in a different SecurityDomain. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function getTopLevelRoot():DisplayObject; + + /** + * Gets the system manager that is the root of all + * top level system managers in this SecurityDomain. + * + * @return the highest-level systemManager in the sandbox + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + COMPILE::LATER + function getSandboxRoot():DisplayObject; + + /** + * Get the bounds of the loaded application that are visible to the user + * on the screen. + * + * @param bounds Optional. The starting bounds for the visible rect. The + * bounds are in global coordinates. If <code>bounds</code> is null the + * starting bounds is defined by the <code>screen</code> property of the + * system manager. + * + * @return a <code>Rectangle</code> including the visible portion of the this + * object. The rectangle is in global coordinates. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + COMPILE::LATER + function getVisibleApplicationRect(bounds:Rectangle = null, skipToSandboxRoot:Boolean = false):Rectangle; + + /** + * 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. + * + * @param deploy <code>true</code> to deploy the mouse shields, <code>false</code> + * to remove the mouse shields. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function deployMouseShields(deploy:Boolean):void; + + /** + * Attempt to notify the parent SWFLoader that the application's size may + * have changed. + * + * @langversion 3.0 + * @playerversion Flash 10 + * @playerversion AIR 1.5 + * @productversion Flex 4 + */ + function invalidateParentSizeAndDisplayList():void; + + + //---------------------------------- + // stage + //---------------------------------- + + /** + * The flash.display.Stage that represents the application window + * mapped to this SystemManager + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ - COMPILE::AS3 ++ COMPILE::SWF + function get stage():Stage + +} + +}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/77148f4a/frameworks/projects/MX/src/main/flex/mx/managers/ISystemManagerChildManager.as ---------------------------------------------------------------------- diff --cc frameworks/projects/MX/src/main/flex/mx/managers/ISystemManagerChildManager.as index a716ca1,0000000..e499ba2 mode 100644,000000..100644 --- a/frameworks/projects/MX/src/main/flex/mx/managers/ISystemManagerChildManager.as +++ b/frameworks/projects/MX/src/main/flex/mx/managers/ISystemManagerChildManager.as @@@ -1,60 -1,0 +1,60 @@@ +//////////////////////////////////////////////////////////////////////////////// +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////////// + +package mx.managers +{ + - COMPILE::AS3 ++COMPILE::SWF +{ + import flash.display.DisplayObject; +} +COMPILE::JS +{ + import flex.display.DisplayObject; +} + +[ExcludeClass] + +/** + */ +public interface ISystemManagerChildManager +{ + //-------------------------------------------------------------------------- + // + // Properties + // + //-------------------------------------------------------------------------- + + + //-------------------------------------------------------------------------- + // + // Methods + // + //-------------------------------------------------------------------------- + + function addingChild(child:DisplayObject):void; + function childAdded(child:DisplayObject):void; + + function childRemoved(child:DisplayObject):void; + function removingChild(child:DisplayObject):void; + + function initializeTopLevelWindow(width:Number, height:Number):void; +} + +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/77148f4a/frameworks/projects/MX/src/main/flex/mx/managers/IToolTipManager.as ---------------------------------------------------------------------- diff --cc frameworks/projects/MX/src/main/flex/mx/managers/IToolTipManager.as index 6498b61,0000000..1b2212f mode 100644,000000..100644 --- a/frameworks/projects/MX/src/main/flex/mx/managers/IToolTipManager.as +++ b/frameworks/projects/MX/src/main/flex/mx/managers/IToolTipManager.as @@@ -1,213 -1,0 +1,213 @@@ +//////////////////////////////////////////////////////////////////////////////// +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////////// + +package mx.managers +{ + - COMPILE::AS3 ++COMPILE::SWF +{ + import flash.display.DisplayObject; +} +COMPILE::JS +{ + import flex.display.DisplayObject; +} + +import mx.core.IToolTip; +import mx.core.IUIComponent; +import mx.effects.IEffect; + +[ExcludeClass] + +/** + * @private + * This interface was used by Flex 2.0.1. + * Flex 3 uses IToolTipManager2 instead. + */ +public interface IToolTipManager +{ + //-------------------------------------------------------------------------- + // + // Properties + // + //-------------------------------------------------------------------------- + + //---------------------------------- + // currentTarget + //---------------------------------- + + /** + * @private + */ + function get currentTarget():DisplayObject; + + /** + * @private + */ + function set currentTarget(value:DisplayObject):void; + + //---------------------------------- + // currentToolTip + //---------------------------------- + + /** + * @private + */ + function get currentToolTip():IToolTip; + + /** + * @private + */ + function set currentToolTip(value:IToolTip):void; + + //---------------------------------- + // enabled + //---------------------------------- + + /** + * @private + */ + function get enabled():Boolean; + + /** + * @private + */ + function set enabled(value:Boolean):void; + + //---------------------------------- + // hideDelay + //---------------------------------- + + /** + * @private + */ + function get hideDelay():Number; + + /** + * @private + */ + function set hideDelay(value:Number):void; + + //---------------------------------- + // hideEffect + //---------------------------------- + + /** + * @private + */ + function get hideEffect():IEffect; + + /** + * @private + */ + function set hideEffect(value:IEffect):void; + + //---------------------------------- + // scrubDelay + //---------------------------------- + + /** + * @private + */ + function get scrubDelay():Number; + + /** + * @private + */ + function set scrubDelay(value:Number):void; + + //---------------------------------- + // showDelay + //---------------------------------- + + /** + * @private + */ + function get showDelay():Number; + + /** + * @private + */ + function set showDelay(value:Number):void; + + //---------------------------------- + // showEffect + //---------------------------------- + + /** + * @private + */ + function get showEffect():IEffect; + + /** + * @private + */ + function set showEffect(value:IEffect):void; + + //---------------------------------- + // showEffect + //---------------------------------- + + /** + * @private + */ + function get toolTipClass():Class; + + /** + * @private + */ + function set toolTipClass(value:Class):void; + + //-------------------------------------------------------------------------- + // + // Methods + // + //-------------------------------------------------------------------------- + + /** + * @private + */ + function registerToolTip(target:DisplayObject, oldToolTip:String, + newToolTip:String):void; + + /** + * @private + */ + function registerErrorString(target:DisplayObject, oldErrorString:String, + newErrorString:String):void; + + /** + * @private + */ + function sizeTip(toolTip:IToolTip):void; + + /** + * @private + */ + function createToolTip(text:String, x:Number, y:Number, + errorTipBorderStyle:String = null, + context:IUIComponent = null):IToolTip; + + /** + * @private + */ + function destroyToolTip(toolTip:IToolTip):void; +} + +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/77148f4a/frameworks/projects/MX/src/main/flex/mx/managers/IToolTipManager2.as ---------------------------------------------------------------------- diff --cc frameworks/projects/MX/src/main/flex/mx/managers/IToolTipManager2.as index db5af2d,0000000..196511f mode 100644,000000..100644 --- a/frameworks/projects/MX/src/main/flex/mx/managers/IToolTipManager2.as +++ b/frameworks/projects/MX/src/main/flex/mx/managers/IToolTipManager2.as @@@ -1,226 -1,0 +1,226 @@@ +//////////////////////////////////////////////////////////////////////////////// +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////////// + +package mx.managers +{ + - COMPILE::AS3 ++COMPILE::SWF +{ + import flash.display.DisplayObject; +} +COMPILE::JS +{ + import flex.display.DisplayObject; +} + +import mx.core.IToolTip; +import mx.core.IUIComponent; +import mx.effects.IAbstractEffect; + +[ExcludeClass] + +/** + * @private + * This interface is used internally by Flex 3. + * Flex 2.0.1 used the IToolTipManager interface. + * + * This interface does not extend IToolTipManager + * because IToolTipManager had a dependency on Effect, + * which has a dependency on UIComponent. + * IToolTipManager2 fixes this by depending on IAbstractEffect, + * a new interface in Flex 3. + * + * IToolTipManager2 must be in the cross-versioning + * bootstrap set of classes (see bootstrap-defs.as) + * and if the bootstrap loader contains implementation + * classes such as Effect and UIComponent then any apps + * and modules it loads would use the bootstrap's version + * of these classes, instead of using their own versions. + */ +public interface IToolTipManager2 +{ + //-------------------------------------------------------------------------- + // + // Properties + // + //-------------------------------------------------------------------------- + + //---------------------------------- + // currentTarget + //---------------------------------- + + /** + * @private + */ + function get currentTarget():DisplayObject; + + /** + * @private + */ + function set currentTarget(value:DisplayObject):void; + + //---------------------------------- + // currentToolTip + //---------------------------------- + + /** + * @private + */ + function get currentToolTip():IToolTip; + + /** + * @private + */ + function set currentToolTip(value:IToolTip):void; + + //---------------------------------- + // enabled + //---------------------------------- + + /** + * @private + */ + function get enabled():Boolean; + + /** + * @private + */ + function set enabled(value:Boolean):void; + + //---------------------------------- + // hideDelay + //---------------------------------- + + /** + * @private + */ + function get hideDelay():Number; + + /** + * @private + */ + function set hideDelay(value:Number):void; + + //---------------------------------- + // hideEffect + //---------------------------------- + + /** + * @private + */ + function get hideEffect():IAbstractEffect; + + /** + * @private + */ + function set hideEffect(value:IAbstractEffect):void; + + //---------------------------------- + // scrubDelay + //---------------------------------- + + /** + * @private + */ + function get scrubDelay():Number; + + /** + * @private + */ + function set scrubDelay(value:Number):void; + + //---------------------------------- + // showDelay + //---------------------------------- + + /** + * @private + */ + function get showDelay():Number; + + /** + * @private + */ + function set showDelay(value:Number):void; + + //---------------------------------- + // showEffect + //---------------------------------- + + /** + * @private + */ + function get showEffect():IAbstractEffect; + + /** + * @private + */ + function set showEffect(value:IAbstractEffect):void; + + //---------------------------------- + // toolTipClass + //---------------------------------- + + /** + * @private + */ + function get toolTipClass():Class; + + /** + * @private + */ + function set toolTipClass(value:Class):void; + + //-------------------------------------------------------------------------- + // + // Methods + // + //-------------------------------------------------------------------------- + + /** + * @private + */ + function registerToolTip(target:DisplayObject, oldToolTip:String, + newToolTip:String):void; + + /** + * @private + */ + function registerErrorString(target:DisplayObject, oldErrorString:String, + newErrorString:String):void; + + /** + * @private + */ + function sizeTip(toolTip:IToolTip):void; + + /** + * @private + */ + function createToolTip(text:String, x:Number, y:Number, + errorTipBorderStyle:String = null, + context:IUIComponent = null):IToolTip; + + /** + * @private + */ + function destroyToolTip(toolTip:IToolTip):void; +} + +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/77148f4a/frameworks/projects/MX/src/main/flex/mx/managers/SystemChildrenList.as ---------------------------------------------------------------------- diff --cc frameworks/projects/MX/src/main/flex/mx/managers/SystemChildrenList.as index b1588f4,0000000..160c0a4 mode 100644,000000..100644 --- a/frameworks/projects/MX/src/main/flex/mx/managers/SystemChildrenList.as +++ b/frameworks/projects/MX/src/main/flex/mx/managers/SystemChildrenList.as @@@ -1,300 -1,0 +1,300 @@@ +//////////////////////////////////////////////////////////////////////////////// +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////////// + +package mx.managers +{ + - COMPILE::AS3 ++COMPILE::SWF +{ + import flash.display.DisplayObject; + import flash.geom.Point; +} +COMPILE::JS +{ + import flex.display.DisplayObject; + import org.apache.flex.geom.Point; +} +import mx.core.IChildList; +import mx.core.mx_internal; + +use namespace mx_internal; + +[ExcludeClass] + +/** + * @private + * A SystemManager has various types of children, + * such as the Application, popups, tooltips, and custom cursors. + * + * You can access all the children via the <code>rawChildren</code> property. + * You can access just the popups via <code>popUpChildren</code>, + * the tooltips via <code>toolTipChildren</code>, + * and the custom cursors via <code>cursorChildren</code>. + * Each of these returns a SystemChildrenList which implements IChildList. + * + * The SystemChildrenList is given two indices that map + * to a subset of the indices of children within the entire + * set of child indices in the SystemManager. + * It manages the children within those two indices. + */ +public class SystemChildrenList implements IChildList +{ + include "../core/Version.as"; + + //-------------------------------------------------------------------------- + // + // Constructor + // + //-------------------------------------------------------------------------- + + /** + * Constructor. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public function SystemChildrenList(owner:SystemManager, + lowerBoundReference:QName, + upperBoundReference:QName) + { + super(); + + this.owner = owner; + this.lowerBoundReference = lowerBoundReference; + this.upperBoundReference = upperBoundReference; + } + + //-------------------------------------------------------------------------- + // + // Properties + // + //-------------------------------------------------------------------------- + + /** + * @private + */ + private var owner:SystemManager; + + /** + * @private + * Either "noTopMostIndex", "topMostIndex", or "toolTipIndex". + * The popUpChildren extends from noTopMostIndex to topMostIndex. + * The toolTips extends from topMostIndex to toolTipIndex. + * The cursors extends from toolTipIndex to cursorIndex. + */ + private var lowerBoundReference:QName; + + /** + * @private + * Either "topMostIndex", "toolTipIndex", or "cursorIndex". + * The popUpChildren extends from noTopMostIndex to topMostIndex. + * The toolTips extends from topMostIndex to toolTipIndex. + * The cursors extends from toolTipIndex to cursorIndex. + */ + private var upperBoundReference:QName; + + //-------------------------------------------------------------------------- + // + // Methods + // + //-------------------------------------------------------------------------- + + /** + * @copy mx.core.IChildList#numChildren + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public function get numChildren():int + { + return owner[upperBoundReference] - owner[lowerBoundReference]; + } + + /** + * @copy mx.core.IChildList#addChild + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public function addChild(child:DisplayObject):DisplayObject + { + owner.rawChildren_addChildAt( + child, owner[upperBoundReference]); + owner[upperBoundReference]++; + return child; + } + + /** + * @copy mx.core.IChildList#addChildAt + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public function addChildAt(child:DisplayObject, index:int):DisplayObject + { + owner.rawChildren_addChildAt( + child, owner[lowerBoundReference] + index); + owner[upperBoundReference]++; + return child; + } + + /** + * @copy mx.core.IChildList#removeChild + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public function removeChild(child:DisplayObject):DisplayObject + { + var index:int = owner.rawChildren_getChildIndex(child); + if (owner[lowerBoundReference] <= index && + index < owner[upperBoundReference]) + { + owner.rawChildren_removeChild(child); + owner[upperBoundReference]--; + } + return child; + } + + /** + * @copy mx.core.IChildList#removeChildAt + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public function removeChildAt(index:int):DisplayObject + { + var child:DisplayObject = + owner.rawChildren_removeChildAt( + index + owner[lowerBoundReference]); + owner[upperBoundReference]--; + return child; + } + + /** + * @copy mx.core.IChildList#getChildAt + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public function getChildAt(index:int):DisplayObject + { + var retval:DisplayObject = + owner.rawChildren_getChildAt( + owner[lowerBoundReference] + index); + return retval; + } + + /** + * @copy mx.core.IChildList#getChildByName + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public function getChildByName(name:String):DisplayObject + { + return owner.rawChildren_getChildByName(name); + } + + /** + * @copy mx.core.IChildList#getChildIndex + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public function getChildIndex(child:DisplayObject):int + { + var retval:int = owner.rawChildren_getChildIndex(child); + retval -= owner[lowerBoundReference]; + return retval; + } + + /** + * @copy mx.core.IChildList#setChildIndex + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public function setChildIndex(child:DisplayObject, newIndex:int):void + { + owner.rawChildren_setChildIndex( + child, owner[lowerBoundReference] + newIndex); + } + + /** + * @copy mx.core.IChildList#getObjectsUnderPoint + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public function getObjectsUnderPoint(point:Point):Array + { + return owner.rawChildren_getObjectsUnderPoint(point); + } + + /** + * @copy mx.core.IChildList#contains + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public function contains(child:DisplayObject):Boolean + { + if (child != owner && owner.rawChildren_contains(child)) + { + while (child.parent != owner) + { + child = child.parent; + } + var childIndex:int = owner.rawChildren_getChildIndex(child); + if (childIndex >= owner[lowerBoundReference] && + childIndex < owner[upperBoundReference]) + { + return true; + } + } + return false; + } +} + +}
