Transferred from the Adobe Open Source Subversion Repository

Revision: 3257
Author:   jimurphy@adobe.com
Date:     2008-09-18T18:16:26.838722Z

Log Message:
-----------
-Merged 3.0.X revisions 3232,3236,3238,3244 -> trunk
-integrated:
 Player build d604
 flex-messaging-common.jar 4.0.0.3256

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 Plugin.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Install Flash Player 10 UB.dmg</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 ActiveX.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/player/10/playerglobal.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults-2.0.0.css</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults-2.0.1.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/flashplayer.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/install_flash_player_10_linux.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/libflashplayer.so.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/FlashPlayer.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/modules/ModuleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Flash Player.app.zip</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1268275 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/controls/Menu.as
+++ frameworks/projects/mx/src/mx/controls/Menu.as
@@ -50,6 +50,7 @@
 import mx.events.CollectionEventKind;
 import mx.events.FlexEvent;
 import mx.events.FlexMouseEvent;
+import mx.events.InterManagerRequest;
 import mx.events.ListEvent;
 import mx.events.SandboxMouseEvent;
 import mx.events.MenuEvent;
@@ -1426,15 +1427,32 @@
             y = Number(yShow);

         // Adjust for menus that extend out of bounds
+        var sm:ISystemManager = systemManager.topLevelSystemManager;
+        var sbRoot:DisplayObject = sm.getSandboxRoot();
         if (this != getRootMenu())
         {
             // do x
-            var shift:Number = x + width - screen.width;
+            var screen:Rectangle;
+            var pt:Point = new Point(x, y);
+            pt = DisplayObject(this.document).localToGlobal(pt);
+
+            if (sm != sbRoot)
+            {
+                var request:InterManagerRequest = new InterManagerRequest(InterManagerRequest.SYSTEM_MANAGER_REQUEST,
+                                        false, false,
+                                        "getVisibleApplicationRect");
+                sbRoot.dispatchEvent(request);
+                screen = Rectangle(request.value);
+            }
+            else
+                screen = sm.getVisibleApplicationRect();
+
+            var shift:Number = pt.x + width - screen.right;
             if (shift > 0)
                 x = Math.max(x - shift, 0);

             // now do y
-            shift = y + height - screen.height;
+            shift = pt.y + height - screen.bottom;
             if (shift > 0)
                 y = Math.max(y - shift, 0);
         }
@@ -1474,7 +1492,6 @@
         supposedToLoseFocus = true;

         // If the user clicks outside the menu, then hide the menu
-        var sbRoot:DisplayObject = systemManager.getSandboxRoot();
         sbRoot.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownOutsideHandler, false, 0, true);
         addEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE, mouseDownOutsideHandler, false, 0, true);
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 11247
Author:   klin@adobe.com
Date:     2009-10-28T21:59:11.963883Z

Log Message:
-----------
Fix for https://bugs.adobe.com/jira/browse/SDK-23184.

Updated a bunch of Style metadata ASDocs to describe different defaults between the Halo and Spark themes. Also, fixed a few typos along the way.

defaults.css - rearranged a few styles to be in alphabetical order
Button.as - removed extra emphasizedSkin style metadata
Panel.as - added spark theme to borderAlpha metadata

QE notes: None
Doc notes: None
Bugs: SDK-23184
Reviewer: Glenn
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBarButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/fl/video/NCManagerNative.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/SkinStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/TextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/menuClasses/MenuItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/PopUpMenuIcon.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/PaddingStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/GapStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/fl/video/NCManagerDynamicStream.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/FocusStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1268558 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/controls/Tree.as
+++ frameworks/projects/mx/src/mx/controls/Tree.as
@@ -227,7 +227,8 @@
 /**
  *  Length of an open or close transition, in milliseconds.
  *
- *  @default 250
+ *  The default value for the Halo theme is 250.
+ *  The default value for the Spark theme is 0.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -251,7 +252,8 @@
 /**
  *  Color of the background when the user rolls over the link.
  *
- *  @default undefined
+ *  The default value for the Halo theme is 0xB2E1FF.
+ *  The default value for the Spark theme is 0xCEDBEF.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -263,7 +265,8 @@
 /**
  *  Color of the background when the user selects the link.
  *
- *  @default undefined
+ *  The default value for the Halo theme is 0x7FCEFF.
+ *  The default value for the Spark theme is 0xA8C6EE.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -276,7 +279,6 @@
  *  Specifies the disabled color of a list item.
  *
  *  @default 0xDDDDDD
- *
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -300,7 +302,8 @@
 /**
  *  Color of the text when the user rolls over a row.
  *
- *  @default 0x2B333C
+ *  The default value for the Halo theme is 0x2B333C.
+ *  The default value for the Spark theme is 0x000000.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -312,7 +315,8 @@
 /**
  *  Color of the text when the user selects a row.
  *
- *  @default 0x2B333C
+ *  The default value for the Halo theme is 0x2B333C.
+ *  The default value for the Spark theme is 0x000000.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9


Transferred from the Adobe Open Source Subversion Repository

Revision: 8574
Author:   aharui@adobe.com
Date:     2009-07-15T05:33:44.225721Z

Log Message:
-----------
Bugs related to TLF and focus.  Also TLF Marshall Plan adjustments, and some IME fixes

QE Notes: None
Doc Notes: None
Bugs: SDK-21278, SDK-21686, SDK-21375, SDK-18516, SDK-15093, SDK-21335
Reviewer: darrell, carol
tests: checkintests mustella/gumbo mustella/components

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IFocusManagerComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IIMESupport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/alertClasses/AlertForm.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/RichEditableTextContainerManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/FocusManagerMarshalMixin.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1261512 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/managers/FocusManager.as
+++ frameworks/projects/framework/src/mx/managers/FocusManager.as
@@ -25,6 +25,7 @@
 import flash.events.KeyboardEvent;
 import flash.events.MouseEvent;
 import flash.system.Capabilities;
+import flash.system.IME;
 import flash.text.TextField;
 import flash.ui.Keyboard;
 import flash.utils.Dictionary;
@@ -33,6 +34,7 @@
 import mx.core.FlexSprite;
 import mx.core.IButton;
 import mx.core.IChildList;
+import mx.core.IIMESupport;
 import mx.core.IRawChildrenContainer;
 import mx.core.IToggleButton;
 import mx.core.IUIComponent;
@@ -135,7 +137,10 @@
 		this.popup = popup;

         browserMode = Capabilities.playerType == "ActiveX" && !popup;
-
+        desktopMode = Capabilities.playerType == "Desktop" && !popup;
+        // Flash main windows come up activated, AIR main windows don't
+        windowActivated = !desktopMode;
+
         container.focusManager = this; // this property name is reserved in the parent

         // trace("FocusManager constructor " + container + ".focusManager");
@@ -219,7 +224,7 @@
      *  We track whether we've been last activated or saw a TAB
      *  This is used in browser tab management
      */
-    private var lastAction:String;
+    mx_internal var lastAction:String;

     /**
      *  @private
@@ -227,6 +232,12 @@
      *  This value is also affected by whether you are a modal dialog or not
      */
     public var browserMode:Boolean;
+
+    /**
+     *  @private
+     *  Activation changes depending on whether we're running in AIR or not
+     */
+    public var desktopMode:Boolean;

     /**
      *  @private
@@ -252,7 +263,11 @@
     /**
      *  @private
      */
-    private var activated:Boolean = false;
+    private var activated:Boolean;
+    /**
+     *  @private
+     */
+    private var windowActivated:Boolean;

     /**
      * 	@private
@@ -306,7 +321,7 @@
     public function set showFocusIndicator(value:Boolean):void
     {
         var changed:Boolean = _showFocusIndicator != value;
-
+        // trace("FM " + this + " showFocusIndicator = " + value);
         _showFocusIndicator = value;

         if (hasEventListener("showFocusIndicator"))
@@ -606,6 +621,14 @@

             // trace("FM " + this + " setting last focus " + target);
             _lastFocus = findFocusManagerComponent(InteractiveObject(target));
+            var usesIME:Boolean;
+            if (_lastFocus is IIMESupport)
+            {
+                var imeFocus:IIMESupport = IIMESupport(_lastFocus);
+                if (imeFocus.editable)
+                    usesIME = true;
+            }
+            IME.enabled = usesIME;

 			// handle default button here
 			// we can't check for Button because of cross-versioning so
@@ -642,20 +665,78 @@
 //        var target:InteractiveObject = InteractiveObject(event.target);
         // trace("FM " + this + " activateHandler ", _lastFocus);

-		// restore focus if this focus manager had last focus
-	    if (_lastFocus && !browserMode)
-	    	_lastFocus.setFocus();
-	    lastAction = "ACTIVATE";
-    }
-
-    /**
-     *  @private  Useful for debugging
+        // if we were the active FM when we were deactivated
+        // and we're not running in AIR, then dispatch the event now
+        // otherwise wait for the AIR events to fire
+        if (activated && !desktopMode)
+        {
+            dispatchEvent(new FlexEvent(FlexEvent.FLEX_WINDOW_ACTIVATE));
+		    // restore focus if this focus manager had last focus
+	        if (_lastFocus && !browserMode)
+	    	    _lastFocus.setFocus();
+	        lastAction = "ACTIVATE";
+        }
+    }
+
+    /**
+     *  @private
+     *  Dispatch event if we're not running in AIR.  AIR will
+     *  dispatch windowDeactivate that we respond to instead
      */
     private function deactivateHandler(event:Event):void
     {
         // var target:InteractiveObject = InteractiveObject(event.target);
         // trace("FM " + this + " deactivateHandler ", _lastFocus);
-    }
+
+        // if we are the active FM when we were deactivated
+        // and we're not running in AIR, then dispatch the event now
+        // otherwise wait for the AIR events to fire
+        if (activated && !desktopMode)
+        {
+            dispatchEvent(new FlexEvent(FlexEvent.FLEX_WINDOW_DEACTIVATE));
+        }
+    }
+
+    /**
+     *  @private
+     *  restore focus to whoever had it last
+     */
+    private function activateWindowHandler(event:Event):void
+    {
+//        var target:InteractiveObject = InteractiveObject(event.target);
+        // trace("FM " + this + " activateWindowHandler ", _lastFocus);
+
+        windowActivated = true;
+
+        if (activated)
+        {
+            dispatchEvent(new FlexEvent(FlexEvent.FLEX_WINDOW_ACTIVATE));
+		    // restore focus if this focus manager had last focus
+	        if (_lastFocus && !browserMode)
+	    	    _lastFocus.setFocus();
+	        lastAction = "ACTIVATE";
+        }
+    }
+
+    /**
+     *  @private
+     *  If we're responsible for the focused control, remove focus from it
+     *  so it gets the same events as it would if the whole app lost focus
+     */
+    private function deactivateWindowHandler(event:Event):void
+    {
+        // var target:InteractiveObject = InteractiveObject(event.target);
+        // trace("FM " + this + " deactivateWindowHandler ", _lastFocus);
+
+        windowActivated = false;
+
+        if (activated)
+        {
+            dispatchEvent(new FlexEvent(FlexEvent.FLEX_WINDOW_DEACTIVATE));
+            if (form.systemManager.stage)
+                form.systemManager.stage.focus = null;
+        }
+    }

     /**
      *  @inheritDoc
@@ -722,8 +803,8 @@
             return;
         }

-        //trace("FocusManager activating = " + this._form.systemManager.loaderInfo.url);
-        //trace("FocusManager activating " + this);
+        // trace("FocusManager activating = " + this._form.systemManager.loaderInfo.url);
+        // trace("FocusManager activating " + this);

         // listen for focus changes, use weak references for the stage
 		// form.systemManager can be null if the form is created in a sandbox and
@@ -750,11 +831,16 @@
         form.addEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
         form.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
         form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
+        form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownCaptureHandler, true);
         form.addEventListener(KeyboardEvent.KEY_DOWN, defaultButtonKeyHandler);
         form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
+        // AIR Window events, but don't want to link in AIREvent
+        form.addEventListener("windowActivate", activateWindowHandler);
+        form.addEventListener("windowDeactivate", deactivateWindowHandler);

         activated = true;
-
+        dispatchEvent(new FlexEvent(FlexEvent.FLEX_WINDOW_ACTIVATE));
+
         // Restore focus to the last control that had it if there was one.
         if (_lastFocus)
             setFocus(_lastFocus);
@@ -784,7 +870,7 @@
     public function deactivate():void
     {
         // trace("FocusManager deactivating " + this);
-        //trace("FocusManager deactivating = " + this._form.systemManager.loaderInfo.url);
+        // trace("FocusManager deactivating = " + this._form.systemManager.loaderInfo.url);

         // listen for focus changes
 		var sm:ISystemManager = form.systemManager;
@@ -809,11 +895,13 @@
         form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
         form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
         form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
+        form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownCaptureHandler, true);
         form.removeEventListener(KeyboardEvent.KEY_DOWN, defaultButtonKeyHandler);
         // stop listening for default button in Capture phase
         form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);

         activated = false;
+        dispatchEvent(new FlexEvent(FlexEvent.FLEX_WINDOW_DEACTIVATE));

         if (hasEventListener("deactivateFM"))
     		dispatchEvent(new Event("deactivateFM"));
@@ -918,7 +1006,7 @@
      */
     private function sortFocusableObjectsTabIndex():void
     {
-        //trace("FocusableObjectsTabIndex");
+        //// trace("FocusableObjectsTabIndex");

         focusableCandidates = [];

@@ -1079,9 +1167,20 @@
             var doc:DisplayObjectContainer = DisplayObjectContainer(o);
             // Even if they aren't focusable now,
             // listen in case they become later.
-            o.addEventListener("tabChildrenChange", tabChildrenChangeHandler);
-
-            if (doc.tabChildren)
+            var checkChildren:Boolean;
+
+            if (o is IFocusManagerComponent)
+            {
+                o.addEventListener("hasFocusableChildrenChange", hasFocusableChildrenChangeHandler);
+                checkChildren = IFocusManagerComponent(o).hasFocusableChildren;
+            }
+            else
+            {
+                o.addEventListener("tabChildrenChange", tabChildrenChangeHandler);
+                checkChildren = doc.tabChildren;
+            }
+
+            if (checkChildren)
             {
                 if (o is IRawChildrenContainer)
                 {
@@ -1142,6 +1241,8 @@
         while (p && p != s)
         {
             if (!p.tabChildren)
+                return false;
+            if (p is IFocusManagerComponent && !(IFocusManagerComponent(p).hasFocusableChildren))
                 return false;
             p = p.parent;
         }
@@ -1545,7 +1646,10 @@
         if (o is DisplayObjectContainer)
         {
             if (!dontRemoveTabChildrenHandler)
+            {
                 o.removeEventListener("tabChildrenChange", tabChildrenChangeHandler);
+                o.removeEventListener("hasFocusableChildrenChange", hasFocusableChildrenChangeHandler);
+            }

             for (i = 0; i < focusableObjects.length; i++)
             {
@@ -1672,6 +1776,28 @@
         else
         {
             removeFocusables(o, true);
+        }
+    }
+
+    /**
+     *  @private
+     *  Add or remove if tabbing properties change.
+     */
+    private function hasFocusableChildrenChangeHandler(event:Event):void
+    {
+        if (event.target != event.currentTarget)
+            return;
+
+        calculateCandidates = true;
+
+        var o:IFocusManagerComponent = IFocusManagerComponent(event.target);
+        if (o.hasFocusableChildren)
+        {
+            addFocusables(DisplayObject(o), true);
+        }
+        else
+        {
+            removeFocusables(DisplayObject(o), true);
         }
     }

@@ -1864,6 +1990,23 @@
      *  causes the text to autoscroll to the end, making the
      *  mouse click set the insertion point in the wrong place.
      */
+    private function mouseDownCaptureHandler(event:MouseEvent):void
+    {
+        // trace("FocusManager mouseDownCaptureHandler in  = " + this._form.systemManager.loaderInfo.url);
+        // trace("FocusManager mouseDownCaptureHandler target " + event.target);
+        showFocusIndicator = false;
+    }
+
+    /**
+     *  @private
+     *  This gets called when the focus changes due to a mouse click.
+     *
+     *  Note: If the focus is changing to a TextField, we don't call
+     *  setFocus() on it because the player handles it;
+     *  calling setFocus() on a TextField which has scrollable text
+     *  causes the text to autoscroll to the end, making the
+     *  mouse click set the insertion point in the wrong place.
+     */
     private function mouseDownHandler(event:MouseEvent):void
     {
         // trace("FocusManager mouseDownHandler in  = " + this._form.systemManager.loaderInfo.url);
@@ -1880,8 +2023,6 @@
         if (!o)
             return;

-        showFocusIndicator = false;
-
         // trace("FocusManager mouseDownHandler on " + o);

         // Make sure the containing component gets notified.


Transferred from the Adobe Open Source Subversion Repository

Revision: 2464
Author:   jimurphy@adobe.com
Date:     2008-07-14T19:50:33.449468Z

Log Message:
-----------
add flex 4 to trunk

Modified Paths:
--------------
134 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1278170 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/Application.as
+++ frameworks/projects/spark/src/spark/components/Application.as
@@ -0,0 +1,933 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2003-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package flex.core
+{
+
+import flash.display.DisplayObject;
+import flash.display.InteractiveObject;
+import flash.events.ContextMenuEvent;
+import flash.events.ErrorEvent;
+import flash.events.Event;
+import flash.external.ExternalInterface;
+import flash.net.URLRequest;
+import flash.net.navigateToURL;
+import flash.system.Capabilities;
+import flash.ui.ContextMenu;
+import flash.ui.ContextMenuItem;
+import flash.utils.setInterval;
+
+import flex.component.ItemsComponent;
+import flex.layout.VerticalLayout;
+
+import mx.core.ApplicationGlobals;
+import mx.core.EdgeMetrics;
+import mx.core.IFlexDisplayObject;
+import mx.core.Singleton;
+import mx.core.UIComponentGlobals;
+import mx.core.mx_internal;
+import mx.effects.EffectManager;
+import mx.events.FlexEvent;
+import mx.managers.FocusManager;
+import mx.managers.ILayoutManager;
+import mx.managers.ISystemManager;
+import mx.managers.SystemManager;
+import mx.styles.CSSStyleDeclaration;
+import mx.styles.StyleManager;
+
+use namespace mx_internal;
+
+//--------------------------------------
+//  Events
+//--------------------------------------
+
+/**
+ *  Dispatched after the Application has been initialized,
+ *  processed by the LayoutManager, and attached to the display list.
+ *
+ *  @eventType mx.events.FlexEvent.APPLICATION_COMPLETE
+ */
+[Event(name="applicationComplete", type="mx.events.FlexEvent")]
+
+/**
+ *  Dispatched when an error occurs anywhere in the application,
+ *  such as an HTTPService, WebService, or RemoteObject fails.
+ *
+ *  @eventType flash.events.ErrorEvent.ERROR
+ */
+[Event(name="error", type="flash.events.ErrorEvent")]
+
+//--------------------------------------
+//  Styles
+//--------------------------------------
+
+//--------------------------------------
+//  Excluded APIs
+//--------------------------------------
+
+[Exclude(name="direction", kind="property")]
+[Exclude(name="tabIndex", kind="property")]
+[Exclude(name="toolTip", kind="property")]
+[Exclude(name="x", kind="property")]
+[Exclude(name="y", kind="property")]
+
+//--------------------------------------
+//  Other metadata
+//--------------------------------------
+
+/**
+ *  The frameworks must be initialized by SystemManager.
+ *  This factoryClass will be automatically subclassed by any
+ *  MXML applications that don't explicitly specify a different
+ *  factoryClass.
+ */
+[Frame(factoryClass="mx.managers.SystemManager")]
+
+[ResourceBundle("core")]
+
+/**
+ *  Flex defines a default, or Application, container that lets you start
+ *  adding content to your application without explicitly defining
+ *  another container.
+ *
+ *  @mxml
+ *
+ *
The <Application> tag inherits all of the tag
+ *  attributes of its superclass and adds the following tag attributes:

+ *
+ *

+ *  <mx:Application
+ *    Properties
+ *    application="No default"
+ *    frameRate="24"
+ *    historyManagementEnabled="true|false"
+ *    pageTitle"No default"
+ *    preloader="No default"
+ *    resetHistory="false|true"
+ *    scriptRecursionLimit="1000"
+ *    scriptTimeLimit="60"
+ *    usePreloader="true|false"
+ *    viewSourceURL=""
+ *    xmlns:No default="No default"
+ *
+ *    Events
+ *    applicationComplete="No default"
+ *    error="No default"
+ *  />
+ *

+ *
+ *  @includeExample examples/SimpleApplicationExample.mxml
+ *
+ *  @see mx.managers.CursorManager
+ *  @see mx.managers.LayoutManager
+ *  @see mx.managers.SystemManager
+ *  @see flash.events.EventDispatcher
+ */
+public class Application extends ItemsComponent
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class properties
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  A reference to the top-level application.
+     *
+     *
In general, there can be a hierarchy of Application objects,
+     *  because an Application can use a SWFLoader control to dynamically
+     *  load another Application.
+     *  The parentApplication property of a UIComponent can be
+     *  used to access the sub-Application in which that UIComponent lives,
+     *  and to walk up the hierarchy to the top-level Application.

+     */
+    /*
+     *  Note: here are two reasons that 'application' is typed as Object
+     *  rather than as Application. The first is for consistency with
+     *  the 'parentApplication' property of UIComponent. That property is not
+     *  typed as Application because it would make UIComponent dependent
+     *  on Application, slowing down compile times not only for SWCs
+     *  for also for MXML and AS components. Second, if it were typed
+     *  as Application, authors would not be able to access properties
+     *  and methods in the


Transferred from the Adobe Open Source Subversion Repository

Revision: 2547
Author:   jszeto@adobe.com
Date:     2008-07-21T23:12:18.141101Z

Log Message:
-----------
Flex Bug Fixes

MXMLG-62 - BitmapGraphic should support smoothing

Added smooth property

Fixed dynamically setting the repeat property

Bug: MXMLG-62
QA: Yes
Doc: No
Review: Deepa

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/BitmapGraphic.as

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1285565 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/primitives/BitmapImage.as
+++ frameworks/projects/spark/src/spark/primitives/BitmapImage.as
@@ -36,7 +36,7 @@
 /**
  *  The BitmapGraphic class is a graphic element that draws a bitmap.
  */
-public class BitmapGraphic extends GraphicElement implements IAssignableDisplayObjectElement
+public class BitmapGraphic extends GraphicElement implements IDisplayObjectElement
 {
 	include "../core/Version.as";

@@ -115,6 +115,7 @@
 		if (value != oldValue)
 		{
 			_repeat = value;
+			notifyElementChanged();
 			//dispatchPropertyChangeEvent("repeat", oldValue, value);
 		}
 	}
@@ -193,6 +194,34 @@
 	}

 	//----------------------------------
+	//  smooth
+	//----------------------------------
+
+	private var _smooth:Boolean = false;
+
+	[Inspectable(category="General")]
+
+	/**
+	 *  A flag indicating whether to smooth the bitmap data
+	 *  when filling with it.
+	 *
+	 *  @default false
+	 */
+	public function set smooth(value:Boolean):void
+	{
+		if (value != _smooth)
+		{
+			_smooth = value;
+			notifyElementChanged();
+		}
+	}
+
+	public function get  smooth():Boolean
+	{
+		return _smooth;
+	}
+
+	//----------------------------------
 	//  height
 	//----------------------------------

@@ -260,6 +289,7 @@
 		_fill.offsetX = 0;
 		_fill.offsetY = 0;
 		_fill.repeat = repeat;
+		_fill.smooth = smooth;
 		_fill.begin(g, new Rectangle(drawWidth, drawHeight));
 		g.drawRect(0, 0, drawWidth, drawHeight);
 		_fill.end(g);
@@ -272,16 +302,7 @@
 	//  IAssignableDisplayObject Implementation
 	//
 	//--------------------------------------------------------------------------
-
-	public function createDisplayObject():DisplayObject
-	{
-		return new Shape();
-	}
-
-	public function needsDisplayObject():Boolean
-	{
-		return true;
-	}
+
 }

 }


Nadena greska u registerAttributes metodi.

--- src/Modi/ManagedObject.as
+++ src/Modi/ManagedObject.as
@@ -54,17 +54,17 @@

 			_attributeObservers[attribute].push(new IObserver(event, callback));
 		}
-
+
 		public function removeObserver(attribute:String, callback:Function):Boolean
 		{
 			if (_attributeObservers[attribute] === undefined)
 			{
 				throw new Error("Object " + attribute + " does not exist or it is not being observed!");
 			}
-
+
 			var length:int = _attributeObservers[attribute].length;
 			var observer:IObserver;
-
+
 			for (var i:int = 0; i < length; i++)
 			{
 				observer = _attributeObservers[attribute][i];


Testirao sam branchanje, nista nije promjenjeno.

--- src/Modi/ManagedObject.as
+++ src/Modi/ManagedObject.as
@@ -22,8 +22,6 @@
 		private var _registeredAttributes:Array;
 		private var _attributeObservers:Array;

-		private var test:int;
-
 		public function ManagedObject()
 		{
 			_attributeObservers = new Array();


Updated XMLListener to fix failure and error

git-svn-id: 9278a788294a4258aac04586390fc35fb4a5f335@10126 a9308255-753e-0410-a2e9-80b3fbc4fff6

--- FlexUnit4/src/org/flexunit/runner/notification/async/XMLListener.as
+++ FlexUnit4/src/org/flexunit/runner/notification/async/XMLListener.as
@@ -162,7 +162,7 @@
 		private function createMessage( isError:Boolean, methodName:String, suite:String, type:String, message:String, stackTrace:String ):String {
 			var xmlString:String;
 			if ( isError ) {
-				xmlString = createFailureMessage( methodName, suite, type, message, stackTrace );
+				xmlString = createErrorMessage( methodName, suite, type, message, stackTrace );
 			} else {
 				xmlString = createFailureMessage( methodName, suite, type, message, stackTrace );
 			}


Minor changes in module management

Minor changes in module management

git-svn-id: 27326a786375daad9d33dc990c6f272e4c8f567c@883 fda5f131-174c-0410-8613-e0905860106b

--- org.openwms/trunk/source/org.openwms.client.flex.lib/src/main/flex/org/openwms/web/flex/client/module/ModuleLocator.as
+++ org.openwms/trunk/source/org.openwms.client.flex.lib/src/main/flex/org/openwms/web/flex/client/module/ModuleLocator.as
@@ -22,7 +22,6 @@
 {

     import flash.system.ApplicationDomain;
-    import flash.utils.getQualifiedClassName;

     import mx.collections.ArrayCollection;
     import mx.collections.XMLListCollection;
@@ -31,10 +30,8 @@
     import mx.modules.IModuleInfo;
     import mx.modules.ModuleManager;

-    import org.granite.tide.ITideModule;
     import org.granite.tide.events.TideResultEvent;
     import org.granite.tide.spring.Context;
-    import org.granite.tide.spring.Spring;
     import org.openwms.common.domain.Module;
     import org.openwms.web.flex.client.IApplicationModule;
     import org.openwms.web.flex.client.event.ApplicationEvent;
@@ -167,6 +164,11 @@
                     mInf.addEventListener(ModuleEvent.ERROR, onModuleLoaderError);
                     mInf.data = module;
                     modelLocator.unloadedModules.put(module.url, mInf);
+                    var appModule:Object = mInf.factory.create()
+                    if (appModule is IApplicationModule)
+                    {
+                    	(appModule as IApplicationModule).destroyModule();
+                    }
                     mInf.unload();
                     return;
                 }


Added PropertyChangeEvent.CHANGE calls to when the active, affiliation, and role property values change.

Alphabetized the events at the top.

--- src/org/igniterealtime/xiff/conference/Room.as
+++ src/org/igniterealtime/xiff/conference/Room.as
@@ -34,41 +34,24 @@
 	import org.igniterealtime.xiff.events.*;

 	/**
-	 * Dispatched when the room subject changes.
-	 *
-	 * @eventType org.igniterealtime.xiff.events.RoomEvent.SUBJECT_CHANGE
-	 */
-	[Event( name="subjectChange",type="org.igniterealtime.xiff.events.RoomEvent" )]
-	/**
-	 * Dispatched whenever a new message intented for all room occupants is received. The
-	 * RoomEvent class will contain an attribute data with the
-	 * group message as an instance of the Message class.
-	 *
-	 * @eventType org.igniterealtime.xiff.events.RoomEvent.GROUP_MESSAGE
-	 */
-	[Event( name="groupMessage",type="org.igniterealtime.xiff.events.RoomEvent" )]
-	/**
-	 * Dispatched whenever a new private message is received. The RoomEvent class
-	 * contains an attribute data with the private message as an instance of the
-	 * Message class.
-	 *
-	 * @eventType org.igniterealtime.xiff.events.RoomEvent.PRIVATE_MESSAGE
-	 */
-	[Event( name="privateMessage",type="org.igniterealtime.xiff.events.RoomEvent" )]
-	/**
-	 * Dispatched when you have entered the room and messages that are sent
-	 * will be displayed to other users. The room's role and affiliation will
-	 * be visible from this point forward.
-	 *
-	 * @eventType org.igniterealtime.xiff.events.RoomEvent.ROOM_JOIN
-	 */
-	[Event( name="roomJoin",type="org.igniterealtime.xiff.events.RoomEvent" )]
-	/**
-	 * Dispatched when the server acknoledges that you have the left the room.
-	 *
-	 * @eventType org.igniterealtime.xiff.events.RoomEvent.ROOM_LEAVE
-	 */
-	[Event( name="roomLeave",type="org.igniterealtime.xiff.events.RoomEvent" )]
+	 * Dispatched when the active, affiliation, or role property changes.
+	 *
+	 * @eventType org.igniterealtime.xiff.events.PropertyChangeEvent.CHANGE
+	 */
+	[Event( name="change", type="org.igniterealtime.xiff.events.PropertyChangeEvent" )]
+	/**
+	 * Dispatched when an administration action failed.
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.ADMIN_ERROR
+	 * @see	org.igniterealtime.xiff.core.XMPPConnection.error
+	 */
+	[Event( name="adminError", type="org.igniterealtime.xiff.events.RoomEvent" )]
+	/**
+	 * Dispatched when an affiliation change has completed.
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.AFFILIATION_CHANGE_COMPLETE
+	 */
+	[Event( name="affiliationChangeComplete", type="org.igniterealtime.xiff.events.RoomEvent" )]
 	/**
 	 * Dispatched when an affiliation list has been requested. The event object contains an
 	 * array of MUCItems containing the JID and affiliation properties.
@@ -78,93 +61,14 @@
 	 *
 	 * @eventType org.igniterealtime.xiff.events.RoomEvent.AFFILIATIONS
 	 */
-	[Event( name="affiliations",type="org.igniterealtime.xiff.events.RoomEvent" )]
-	/**
-	 * Dispatched when an administration action failed.
-	 *
-	 * @eventType org.igniterealtime.xiff.events.RoomEvent.ADMIN_ERROR
-	 * @see	org.igniterealtime.xiff.core.XMPPConnection.error
-	 */
-	[Event( name="adminError",type="org.igniterealtime.xiff.events.RoomEvent" )]
-	/**
-	 * Dispatched when the room requires a password and the user did not supply one (or
-	 * the password provided is incorrect).
-	 *
-	 * @eventType org.igniterealtime.xiff.events.RoomEvent.PASSWORD_ERROR
-	 */
-	[Event( name="passwordError",type="org.igniterealtime.xiff.events.RoomEvent" )]
-	/**
-	 * Dispatched when the room is members-only and the user is not on the member list.
-	 *
-	 * @eventType org.igniterealtime.xiff.events.RoomEvent.REGISTRATION_REQ_ERROR
-	 */
-	[Event( name="registrationReqError",type="org.igniterealtime.xiff.events.RoomEvent" )]
-	/**
-	 * Dispatched when the room is removed.
-	 *
-	 * @eventType org.igniterealtime.xiff.events.RoomEvent.ROOM_DESTROYED
-	 */
-	[Event( name="roomDestroyed",type="org.igniterealtime.xiff.events.RoomEvent" )]
+	[Event( name="affiliations", type="org.igniterealtime.xiff.events.RoomEvent" )]
 	/**
 	 * Dispatched if the user attempted to join the room but was not allowed to do so because
 	 * they are banned (i.e., has an affiliation of "outcast").
 	 *
 	 * @eventType org.igniterealtime.xiff.events.RoomEvent.BANNED_ERROR
 	 */
-	[Event( name="bannedError",type="org.igniterealtime.xiff.events.RoomEvent" )]
-	/**
-	 * Dispatched if the room has reached its maximum number of occupants.
-	 *
-	 * @eventType org.igniterealtime.xiff.events.RoomEvent.MAX_USERS_ERROR
-	 */
-	[Event( name="maxUsersError",type="org.igniterealtime.xiff.events.RoomEvent" )]
-	/**
-	 * Dispatched if a user attempts to enter a room while it is "locked" (i.e., before the room
-	 * creator provides an initial configuration and therefore before the room officially exists).
-	 *
-	 * @eventType org.igniterealtime.xiff.events.RoomEvent.LOCKED_ERROR
-	 */
-	[Event( name="lockedError",type="org.igniterealtime.xiff.events.RoomEvent" )]
-	/**
-	 * Dispatched whenever an occupant joins the room. The RoomEvent instance will
-	 * contain an attribute nickname with the nickname of the occupant who joined.
-	 *
-	 * @eventType org.igniterealtime.xiff.events.RoomEvent.USER_JOIN
-	 */
-	[Event( name="userJoin",type="org.igniterealtime.xiff.events.RoomEvent" )]
-	/**
-	 * Dispatched whenever an occpant leaves the room. The RoomEvent instance will
-	 * contain an attribute nickname with the nickname of the occupant who left.
-	 *
-	 * @eventType org.igniterealtime.xiff.events.RoomEvent.USER_DEPARTURE
-	 */
-	[Event( name="userDeparture",type="org.igniterealtime.xiff.events.RoomEvent" )]
-	/**
-	 * Dispatched when a user is kicked from the room.
-	 *
-	 * @eventType org.igniterealtime.xiff.events.RoomEvent.USER_KICKED
-	 */
-	[Event( name="userKicked",type="org.igniterealtime.xiff.events.RoomEvent" )]
-	/**
-	 * Dispatched when a user is banned from the room.
-	 *
-	 * @eventType org.igniterealtime.xiff.events.RoomEvent.USER_BANNED
-	 */
-	[Event( name="userBanned",type="org.igniterealtime.xiff.events.RoomEvent" )]
-	/**
-	 * Dispatched when a user's presence changes.
-	 *
-	 * @eventType org.igniterealtime.xiff.events.RoomEvent.USER_PRESENCE_CHANGE
-	 */
-	[Event( name="userPresenceChange",type="org.igniterealtime.xiff.events.RoomEvent" )]
-	/**
-	 * Dispatched when the user's preferred nickname already exists in the room.	The
-	 * RoomEvent will contain an attribute nickname with the nickname
-	 * already existing in the room.
-	 *
-	 * @eventType org.igniterealtime.xiff.events.RoomEvent.NICK_CONFLICT
-	 */
-	[Event( name="nickConflict",type="org.igniterealtime.xiff.events.RoomEvent" )]
+	[Event( name="bannedError", type="org.igniterealtime.xiff.events.RoomEvent" )]
 	/**
 	 * Dispatched when a room configuration form is required.	This can occur during the
 	 * creation of a room, or if a room configuration is requested.	The RoomEvent
@@ -184,7 +88,7 @@
 	 * @see	#configure
 	 * @eventType org.igniterealtime.xiff.events.RoomEvent.CONFIGURE_ROOM
 	 */
-	[Event( name="configureRoom",type="org.igniterealtime.xiff.events.RoomEvent" )]
+	[Event( name="configureRoom", type="org.igniterealtime.xiff.events.RoomEvent" )]
 	/**
 	 * Dispatched when a room configuration form is complete.
 	 *
@@ -202,7 +106,115 @@
 	 *
 	 * @eventType org.igniterealtime.xiff.events.RoomEvent.DECLINED
 	 */
-	[Event( name="declined",type="org.igniterealtime.xiff.events.RoomEvent" )]
+	[Event( name="declined", type="org.igniterealtime.xiff.events.RoomEvent" )]
+	/**
+	 * Dispatched whenever a new message intented for all room occupants is received. The
+	 * RoomEvent class will contain an attribute data with the
+	 * group message as an instance of the Message class.
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.GROUP_MESSAGE
+	 */
+	[Event( name="groupMessage", type="org.igniterealtime.xiff.events.RoomEvent" )]
+	/**
+	 * Dispatched if a user attempts to enter a room while it is "locked" (i.e., before the room
+	 * creator provides an initial configuration and therefore before the room officially exists).
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.LOCKED_ERROR
+	 */
+	[Event( name="lockedError", type="org.igniterealtime.xiff.events.RoomEvent" )]
+	/**
+	 * Dispatched if the room has reached its maximum number of occupants.
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.MAX_USERS_ERROR
+	 */
+	[Event( name="maxUsersError", type="org.igniterealtime.xiff.events.RoomEvent" )]
+	/**
+	 * Dispatched when the user's preferred nickname already exists in the room.	The
+	 * RoomEvent will contain an attribute nickname with the nickname
+	 * already existing in the room.
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.NICK_CONFLICT
+	 */
+	[Event( name="nickConflict", type="org.igniterealtime.xiff.events.RoomEvent" )]
+	/**
+	 * Dispatched when the room requires a password and the user did not supply one (or
+	 * the password provided is incorrect).
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.PASSWORD_ERROR
+	 */
+	[Event( name="passwordError", type="org.igniterealtime.xiff.events.RoomEvent" )]
+	/**
+	 * Dispatched whenever a new private message is received. The RoomEvent class
+	 * contains an attribute data with the private message as an instance of the
+	 * Message class.
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.PRIVATE_MESSAGE
+	 */
+	[Event( name="privateMessage", type="org.igniterealtime.xiff.events.RoomEvent" )]
+	/**
+	 * Dispatched when the room is members-only and the user is not on the member list.
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.REGISTRATION_REQ_ERROR
+	 */
+	[Event( name="registrationReqError", type="org.igniterealtime.xiff.events.RoomEvent" )]
+	/**
+	 * Dispatched when the room is removed.
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.ROOM_DESTROYED
+	 */
+	[Event( name="roomDestroyed", type="org.igniterealtime.xiff.events.RoomEvent" )]
+	/**
+	 * Dispatched when you have entered the room and messages that are sent
+	 * will be displayed to other users. The room's role and affiliation will
+	 * be visible from this point forward.
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.ROOM_JOIN
+	 */
+	[Event( name="roomJoin", type="org.igniterealtime.xiff.events.RoomEvent" )]
+	/**
+	 * Dispatched when the server acknoledges that you have the left the room.
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.ROOM_LEAVE
+	 */
+	[Event( name="roomLeave", type="org.igniterealtime.xiff.events.RoomEvent" )]
+	/**
+	 * Dispatched when the room subject changes.
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.SUBJECT_CHANGE
+	 */
+	[Event( name="subjectChange", type="org.igniterealtime.xiff.events.RoomEvent" )]
+	/**
+	 * Dispatched when a user is banned from the room.
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.USER_BANNED
+	 */
+	[Event( name="userBanned", type="org.igniterealtime.xiff.events.RoomEvent" )]
+	/**
+	 * Dispatched whenever an occpant leaves the room. The RoomEvent instance will
+	 * contain an attribute nickname with the nickname of the occupant who left.
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.USER_DEPARTURE
+	 */
+	[Event( name="userDeparture", type="org.igniterealtime.xiff.events.RoomEvent" )]
+	/**
+	 * Dispatched whenever an occupant joins the room. The RoomEvent instance will
+	 * contain an attribute nickname with the nickname of the occupant who joined.
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.USER_JOIN
+	 */
+	[Event( name="userJoin", type="org.igniterealtime.xiff.events.RoomEvent" )]
+	/**
+	 * Dispatched when a user is kicked from the room.
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.USER_KICKED
+	 */
+	[Event( name="userKicked", type="org.igniterealtime.xiff.events.RoomEvent" )]
+	/**
+	 * Dispatched when a user's presence changes.
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.USER_PRESENCE_CHANGE
+	 */
+	[Event( name="userPresenceChange", type="org.igniterealtime.xiff.events.RoomEvent" )]

 	/**
 	 * Manages incoming and outgoing data from a conference room as part of multi-user conferencing (XEP-0045).
@@ -874,6 +886,21 @@
 		private function configure_response( iq:IQ ):void
 		{
 			var event:RoomEvent = new RoomEvent( RoomEvent.CONFIGURE_ROOM_COMPLETE );
+			dispatchEvent( event );
+		}
+
+		/**
+		 * Helper to dispatch a property change event.
+		 * @param	name
+		 * @param	newValue
+		 * @param	oldValue
+		 */
+		private function dispatchChangeEvent( name:String, newValue:*, oldValue:* ):void
+		{
+			var event:PropertyChangeEvent = new PropertyChangeEvent( PropertyChangeEvent.CHANGE );
+			event.name = name;
+			event.newValue = newValue;
+			event.oldValue = oldValue;
 			dispatchEvent( event );
 		}

@@ -1148,8 +1175,9 @@
 		 */
 		private function setActive( state:Boolean ):void
 		{
+			var oldActive:Boolean = _active;
 			_active = state;
-			dispatchEvent( new Event( "activeStateUpdated" ));
+			if( _active != oldActive ) dispatchChangeEvent( "active", _active, oldActive );
 		}

 		/**
@@ -1203,10 +1231,13 @@

 			if ( isThisUser( aPresence.from.unescaped ))
 			{
+				var oldAffiliation:String = _affiliation;
 				_affiliation = item.affiliation;
-				dispatchEvent( new Event( "affiliationSet" )); //update bindings
+				if( _affiliation != oldAffiliation ) dispatchChangeEvent( "affiliation", _affiliation, oldAffiliation );
+
+				var oldRole:String = _role;
 				_role = item.role;
-				dispatchEvent( new Event( "roleSet" )); //update bindings
+				if( _role != oldRole ) dispatchChangeEvent( "role", _role, oldRole );

 				if ( !isActive && aPresence.type != Presence.TYPE_UNAVAILABLE )
 				{


Improve ResultAttribute#toResultAttributes field value handling.

--- src/widgets/supportClasses/ResultAttributes.as
+++ src/widgets/supportClasses/ResultAttributes.as
@@ -79,7 +79,8 @@

         function displayFields(fieldName:String, fieldXML:XML, field:Field):void
         {
-            value = graphic.attributes[fieldName] ? String(graphic.attributes[fieldName]) : "";
+            var fieldNameTextValue:String = graphic.attributes[fieldName];
+            value = fieldNameTextValue ? fieldNameTextValue : "";

             if (value)
             {


removed comments in scripts.

removed comments in scripts.


VOD streams now always start playback at zero.

--- HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPNetStream.as
+++ HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPNetStream.as
@@ -460,12 +460,16 @@
 		protected var _timeCache_ExpirationPeriod:Number = 5000;
 		protected var _timeCache_liveEdge:Number = 0.0;
 		protected var _timeCache_liveEdgeMinusWindowDuration:Number = NaN;
+		protected var _timeCache_streamStartAbsoluteTime:Number = NaN;

 		/**
 		 * @inheritDoc
 		 */
 		override public function get time():Number
 		{
+			// This code is optimized because it is frequently called and causes
+			// (on FF FP 17 debug) one second frame drop events when too slow.
+
 			var startTime:int = getTimer();

 			if(isNaN(_initialTime))
@@ -482,6 +486,7 @@
 				{
 					logger.debug("Repopulating time cache.");
 				}
+
 				if(indexHandler.isLiveEdgeValid)
 				{
 					_timeCache_liveEdge = indexHandler.liveEdge;
@@ -493,11 +498,18 @@
 					_timeCache_liveEdgeMinusWindowDuration = 0;
 				}

+				_timeCache_streamStartAbsoluteTime = indexHandler.streamStartAbsoluteTime;
+
 				_timeCache_LastUpdatedTimestamp = getTimer();
 			}

 			// First determine our absolute time.
 			var potentialNewTime:Number = super.time + _initialTime;
+
+			// If we are VOD, then offset time so we start at the beginning.
+			var lastMan:HLSManifestParser = indexHandler.getLastSequenceManifest();
+			if(lastMan && lastMan.streamEnds == true && _timeCache_streamStartAbsoluteTime)
+				potentialNewTime -= _timeCache_streamStartAbsoluteTime;

 			// Take into account any cached live edge offset.
 			if(_timeCache_liveEdge != Number.MAX_VALUE)


Transferred from the Adobe Open Source Subversion Repository

Revision: 5331
Author:   dloverin@adobe.com
Date:     2009-03-16T20:29:20.872892Z

Log Message:
-----------
FxApplication related API changes.

1. Rename ApplicationGlobals.application -> FlexGlobals.topLevelApplication
2. Application.application will be deprecated. FlexGlobals.topLevelApplication will be the recommend alternative.
3. Application.application will return null if the top-level application is not of type Application or a subclass of Application.
4. Change the FxApplication.backgroundColor property from type Object to uint.

QE Notes: None
Doc Notes: None
Bugs: sdk-19677
Reviewer: Ryan
tests: checkintests, Application mustella tests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ActivatorSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/BrowserManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ApplicationGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/haloclassic/src/haloclassic/ActivatorSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Alert.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/HistoryManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/ResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxRadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ActivatorSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/checkinapp/ProductDetail.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Glow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ApplicationGlobals.as" copyfrom-rev="5314" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexGlobals.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1249896 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/airframework/src/mx/core/WindowedApplication.as
+++ frameworks/projects/airframework/src/mx/core/WindowedApplication.as
@@ -514,6 +514,11 @@
  *  of a Flex AIR application -- any visual controls defined in the WindowedApplication
  *  become the content of the initial window loaded by the AIR application.

  *
+ *
A WindowedApplication is the top-level application of a Flex-based AIR application. It is not
+ *  designed to be loaded by other Flex applications. If a WindowedApplication needs to load other
+ *  applications, use the Application class as container for those applications. If other windows
+ *  are required, use the Window class as a container for those windows.
+ *
  *
Note that because
  *  the WindowedApplication only represents the visual content of a single window, and not
  *  all the windows in a multi-window application, a WindowedApplication instance only dispatches


Transferred from the Adobe Open Source Subversion Repository

Revision: 12920
Author:   dloverin@adobe.com
Date:     2009-12-14T21:31:00.894842Z

Log Message:
-----------
Fix ToolTipManager.createToolTip when called from a sub-application.

Change ToolTipManagerImpl.createToolTip to use the context object passed in to initialize its moduleFactory, which will lead it to the correct style manager.

QE notes: Please add a createToolTip test from a sub-application or module.
Doc notes: None.
Bugs: SDK-24656
Reviewer: Alex
Tests run: checkintests, Managers/ToolTipManager, PerModuleStyles
Is noteworthy for integration: no

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1261943 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as
+++ frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as
@@ -1342,7 +1342,11 @@
                                           context.systemManager as ISystemManager:
                                           FlexGlobals.topLevelApplication.systemManager as ISystemManager;

-
+        if (context is IFlexModule)
+            toolTip.moduleFactory = IFlexModule(context).moduleFactory;
+        else
+            toolTip.moduleFactory = sm;
+
         var e:DynamicEvent;
         if (hasEventListener("addChild"))
         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1274425 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/rpc/src/mx/rpc/soap/types/ApacheDocumentType.as
+++ frameworks/projects/rpc/src/mx/rpc/soap/types/ApacheDocumentType.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2007 Adobe Systems Incorporated
-//  All Rights Reserved.
+//  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
 //
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
+//      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.
 //
 ////////////////////////////////////////////////////////////////////////////////


Update XMLDataProxy.as

Update XMLDataProxy.as

fix change texture path bug.

--- src/model/XMLDataProxy.as
+++ src/model/XMLDataProxy.as
@@ -253,9 +253,13 @@
 		{
 			for each(var displayXML:XML in getDisplayXMLList())
 			{
-				var subTextureName:String = displayXML.@[ConstValues.A_NAME];
-				subTextureName = subTextureName.split("/").join("-");
-				displayXML.@[ConstValues.A_NAME] = subTextureName;
+				if(displayXML.@[ConstValues.A_TYPE] == DisplayData.IMAGE)
+				{
+					var subTextureName:String = displayXML.@[ConstValues.A_NAME];
+
+					subTextureName = subTextureName.split("/").join("-");
+					displayXML.@[ConstValues.A_NAME] = subTextureName;
+				}
 			}

 			for each(var subTextureXML:XML in getSubTextureXMLList())
@@ -682,4 +686,4 @@
 			return xml;
 		}
 	}
-}+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

Modified Paths:
--------------
2361 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1261384 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/logging/errors/InvalidFilterError.as
+++ frameworks/projects/framework/src/mx/logging/errors/InvalidFilterError.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////

 package mx.logging.errors
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-15T01:49:31.087529Z

Log Message:
-----------
The beginning of the open-source Flex SDK.

Populated the flex/sdk/trunk directory with an open-source subset of files from //depot/flex/sdk/...@191097 in the Faramir Perforce server. This changelist is a bit past the 3.0rc0 build.

The Ant scripts will not successfully build yet. They need to be adapted to the open-source subset.

Modified Paths:
--------------
2532 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1268881 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/controls/listClasses/ListBaseSeekPending.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListBaseSeekPending.as
@@ -0,0 +1,75 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.controls.listClasses
+{
+
+import mx.collections.CursorBookmark;
+
+/**
+ *  An object that stores data about a seek operation
+ *  that was interrupted by an ItemPendingError error.
+ *
+ *  @see mx.collections.errors.ItemPendingError
+ *  @see mx.controls.listClasses.ListBase#lastSeekPending
+ */
+public class ListBaseSeekPending
+{
+	include "../../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param bookmark The bookmark that was being used in the
+	 *                  seek operation.
+	 *  @param offset The offset from the bookmark that was the target of
+	 *                  the seek operation.
+	 */
+	public function ListBaseSeekPending(bookmark:CursorBookmark, offset:int)
+	{
+		super();
+
+		this.bookmark = bookmark;
+		this.offset = offset;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  bookmark
+	//----------------------------------
+
+	/**
+	 *  The bookmark that was being used in the seek operation.
+	 */
+	public var bookmark:CursorBookmark;
+
+	//----------------------------------
+	//  offset
+	//----------------------------------
+
+	/**
+	 *  The offset from the bookmark that was the target of the seek operation.
+	 */
+	public var offset:int;
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 7543
Author:   gosmith@adobe.com
Date:     2009-06-04T07:41:31.426059Z

Log Message:
-----------
Various changes to obscure Spark text styles.

The default for the 'dominantBaseline' style, as set in the global selector, is now "auto", as it is now in TLF, instead of "roman". In TLF, a value of "auto" means "ideographicCenter" if the 'locale' is Japanese (i.e., starts with "ja") or Chinese (i.e., starts with "zh"), and "roman" otherwise. SimpleText now implements this same logic.

The default for the 'firstBaselineOffset' style, as set in the global selector, is now "auto", as it is now in TLF, instead of "ascent". SimpleText does not support 'firstBaselineOffset'.

The default for the 'justificationRule' style, as set in the global selector, is now "auto" as it is now in TLF, instead of "space". In TLF, a value of "auto" means "eastAsian" if the 'locale' is Japanese or Chinese, and "space" otherwise. SimpleText now implements this same logic.

The default for the 'justificationStyle' style, as set in the global selector, is now "auto", as it is now in TLF, instead of "pushInKinsoku". In TLF, a value of "auto" means "pushInKinsoku" regardless of the locale. (I guess "auto" just sounds like a nicer default.) SimpleText now implements this same logic.

The default for the 'tabStops' style, as set in the global selector, is now null. Previously it was omitted from the global selector and the default value was therefore undefined.

The 'tracking' style has been removed. (The 'trackingLeft' and 'trackingRight' styles remain.) A 'tracking' attribute was defined in FXG 1.0 but FTE instead implemented trackingLeft and trackingRight properties. So when compiling FXG 1.0, the compiler will (soon) map 'tracking' to 'trackingRight', and 'tracking' will not be supported in MXML. SimpleText no longer pays any attention to a 'tracking' style.

The 'leadingModel' style can now be set to "ascentDescentUp", as in TLF. The default remains "auto".

The metadata for the 'backgroundAlpha' style in TextGraphicElement and RichEditableText no longer says theme="halo".

I also fixed some [Event] metadata and @eventType comments in RichEditableText.

Finally, RichEditableText now has an mx_internal createTextContainerManager() method. You can override this if you need to subclass our RichEditableTextContainerManager.

QE Notes: Some tests may need updating due to these changes.
Doc Notes: None
Bugs: SDK-21594
Reviewer: Carol

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/BasicTextLayoutFormatStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/AdvancedTextLayoutFormatStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1283026 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
@@ -56,7 +56,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="backgroundAlpha", type="Number", inherit="no", theme="halo")]
+[Style(name="backgroundAlpha", type="Number", inherit="no")]

 /**
  *  The color of the background of the entire


Removed some warnings to test if developer access works for me

git-svn-id: 27326a786375daad9d33dc990c6f272e4c8f567c@842 fda5f131-174c-0410-8613-e0905860106b

--- org.openwms/trunk/source/org.openwms.common.domain.as/src/main/flex/org/openwms/common/domain/system/usermanagement/Role.as
+++ org.openwms/trunk/source/org.openwms.common.domain.as/src/main/flex/org/openwms/common/domain/system/usermanagement/Role.as
@@ -23,5 +23,10 @@
     [Bindable]
     [RemoteClass(alias="org.openwms.common.domain.system.usermanagement.Role")]
     public class Role extends RoleBase {
+
+    	public function Role(name:String = null, description:String = null) {
+    		this._name = name;
+    		this._description = description;
+    	}
     }
 }


Incremented version number

Incremented version number

--- src/org/mangui/hls/HLS.as
+++ src/org/mangui/hls/HLS.as
@@ -74,7 +74,7 @@
     /** Class that manages the streaming process. **/
     public class HLS extends EventDispatcher {

-		static public const VERSION:String = "0.4.4.20.42";
+		static public const VERSION:String = "1.0.42";

         private var _levelLoader : LevelLoader;
         private var _altAudioLevelLoader : AltAudioLevelLoader;


fixed null pointer error

fixed null pointer error

Change-Id: Iacd406fe9c62f39497c30aad3d478489fa33f88e

--- WeaveData/src/weave/services/URLRequestUtils.as
+++ WeaveData/src/weave/services/URLRequestUtils.as
@@ -605,7 +605,7 @@
 		if (loader)
 			loader.addResponder(this);

-		WeaveAPI.ProgressIndicator.addTask(loader.asyncToken, relevantContext as ILinkableObject);
+		WeaveAPI.ProgressIndicator.addTask(loader ? loader.asyncToken : this, relevantContext as ILinkableObject);
 	}

 	private static function noOp(..._):void {} // does nothing
@@ -615,7 +615,7 @@

 	public function cancelRequest():void
 	{
-		WeaveAPI.ProgressIndicator.removeTask(loader.asyncToken);
+		WeaveAPI.ProgressIndicator.removeTask(this);
 		if (loader && !WeaveAPI.SessionManager.objectWasDisposed(this))
 			loader.removeResponder(this);
 		WeaveAPI.SessionManager.disposeObject(this);
@@ -623,14 +623,14 @@

 	override public function result(data:Object):void
 	{
-		WeaveAPI.ProgressIndicator.removeTask(loader.asyncToken);
+		WeaveAPI.ProgressIndicator.removeTask(this);
 		if (!WeaveAPI.SessionManager.objectWasDisposed(this) && !WeaveAPI.SessionManager.objectWasDisposed(relevantContext))
 			super.result(data);
 	}

 	override public function fault(data:Object):void
 	{
-		WeaveAPI.ProgressIndicator.removeTask(loader.asyncToken);
+		WeaveAPI.ProgressIndicator.removeTask(this);
 		if (!WeaveAPI.SessionManager.objectWasDisposed(this) && !WeaveAPI.SessionManager.objectWasDisposed(relevantContext))
 			super.fault(data);
 	}


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

Modified Paths:
--------------
2361 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1259458 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/core/IRepeaterClient.as
+++ frameworks/projects/framework/src/mx/core/IRepeaterClient.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////

 package mx.core
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-15T01:49:31.087529Z

Log Message:
-----------
The beginning of the open-source Flex SDK.

Populated the flex/sdk/trunk directory with an open-source subset of files from //depot/flex/sdk/...@191097 in the Faramir Perforce server. This changelist is a bit past the 3.0rc0 build.

The Ant scripts will not successfully build yet. They need to be adapted to the open-source subset.

Modified Paths:
--------------
2532 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1268676 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/controls/buttonBarClasses/ButtonBarButton.as
+++ frameworks/projects/mx/src/mx/controls/buttonBarClasses/ButtonBarButton.as
@@ -0,0 +1,98 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.controls.buttonBarClasses
+{
+
+import mx.controls.Button;
+import mx.core.UITextFormat;
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+[ExcludeClass]
+
+/**
+ *  @private
+ *  The ButtonBarButton class is for internal use.
+ */
+public class ButtonBarButton extends Button
+{
+	include "../../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+	 *  Constructor.
+     */
+    public function ButtonBarButton()
+    {
+        super();
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private var inLayoutContents:Boolean = false;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: UIComponent
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override public function determineTextFormatFromStyles():UITextFormat
+    {
+        if (inLayoutContents && selected)
+            return textField.getUITextFormat();
+        else
+            return super.determineTextFormatFromStyles();
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: Button
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override mx_internal function layoutContents(unscaledWidth:Number,
+												 unscaledHeight:Number,
+												 offset:Boolean):void
+    {
+        // Fix for bug 122684:
+        // layoutContents() internally calls measureText(), which calls
+        // determineTextFormatFromStyles() to get the UITextFormat object.
+        // For a selected button, the textField's text styles can differ from
+        // the button's text styles. So we need to return the right
+        // UITextFormat in determineTextFormatFromStyles()
+        inLayoutContents = true;
+        super.layoutContents(unscaledWidth, unscaledHeight, offset);
+        inLayoutContents = false;
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1268680 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/controls/buttonBarClasses/ButtonBarButton.as
+++ frameworks/projects/mx/src/mx/controls/buttonBarClasses/ButtonBarButton.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2006 Adobe Systems Incorporated
-//  All Rights Reserved.
+//  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
 //
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
+//      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.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

Revision: 5270
Author:   hmuller@adobe.com
Date:     2009-03-12T19:10:16.600232Z

Log Message:
-----------

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1282117 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
@@ -935,18 +935,7 @@
         setContentWidth(width);
         setContentHeight(height);
     }
-
-    /**
-     *  @private
-     *  Provisional support for notifying the layout of upcoming changes to the
-     *  layout elements.   Presently this property is only used to inform virtual
-     *  layouts of DataGroup add/remove() operations.
-     */
-    mx_internal function get contentChangeDeltas():Vector.<int>
-    {
-        return null;
-    }
-
+
     //--------------------------------------------------------------------------
     //
     //  Properties: Overriden Focus management


Transferred from the Adobe Open Source Subversion Repository

Revision: 4283
Author:   rfrishbe@adobe.com
Date:     2008-12-10T22:34:18.162845Z

Log Message:
-----------
PARB Review changes for Group and DataGroup.  The main API changes are:

- content property on Group and FxContainer renamed to mxmlContent.

- contentFactory property on FxContainer renamed to mxmlContentFactory

- New names for DataGroup methods: getRendererForItemAt(index:int):IVisualElement and getItemIndexForRenderer(renderer:IVisualElement):int.  These are now in the mxml_internal namespace (not public anymore)

- registerRenderer and unregisterRenderer are private methods (not public)

Also, I made a minor fix to ITransformable.

QE Notes: Steve's changing the mustella tests for me and will be checking in shortly.
Doc Notes: None
Bugs: SDK-18042
Reviewer: Hans
tests: checkintests, Steve ran mustella tests for all of gumbo and states

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/ITransformable.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/skins/MyScrollBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/skins/MyVScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxDefaultComplexItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/skins/CircularScrollBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxDefaultItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDefaultComplexItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/skins/CircularScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1282098 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
@@ -118,7 +118,8 @@

     /**
      *  The layout object for this container.
-     *  This object determines how the visual elements are laid out in the container.
+     *  This object is responsible for the measurement and layout of
+     *  the visual elements in the container.
      */
     public function get layout():LayoutBase
     {
@@ -126,13 +127,13 @@
     }

     /**
+     *  @private
+     *
      *  Three properties are delegated to the layout: clipContent,
      *  verticalScrollPosition, horizontalScrollPosition.
      *  If the layout is reset, we copy the properties from the old
      *  layout to the new one.   If the new layout is null, then we
-     *  temporarily store the delegated properties in _layoutProperties.
-     *
-     *  @private
+     *  temporarily store the delegated properties in _layoutProperties.
      */
     public function set layout(value:LayoutBase):void
     {
@@ -887,7 +888,7 @@
      *
      *  @param e The element that has changed.
      */
-    public function elementChanged(e:IGraphicElement):void
+    mx_internal function graphicElementChanged(e:IGraphicElement):void
     {
         // TODO!!! Optimize
         // Call super, so that we don't invalidate the layout
@@ -899,7 +900,7 @@
      *
      *  @param e The element that has changed size.
      */
-    public function elementSizeChanged(e:IGraphicElement):void
+    mx_internal function graphicElementSizeChanged(e:IGraphicElement):void
     {
         // TODO!!! Optimize
         // Call super so that we don't invalidate the layout
@@ -911,7 +912,7 @@
      *
      *  @param e The element that has layers size.
      */
-    public function elementLayerChanged(e:IGraphicElement):void
+    mx_internal function graphicElementLayerChanged(e:IGraphicElement):void
     {
         // TODO!!! Optimize
         // TODO!!! Need to recalculate the elements


Transferred from the Adobe Open Source Subversion Repository

Revision: 10876
Author:   egeorgie@adobe.com
Date:     2009-10-05T22:20:07.936303Z

Log Message:
-----------
Add support for drag-and-drop from Spark List to Spark List.

- List drop related handlers
- LayoutBase APIs
- VerticalLayout DND support

Notes:
- ListSkin is not final.
- Drag-scrolling not yet implemented.

QE notes: Only VerticalLayout works, HorizontalLayout still not implemented.
Doc notes: None
Bugs: None
Reviewer: Deepa
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/DropLocation.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1285404 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/layouts/supportClasses/DropLocation.as
+++ frameworks/projects/spark/src/spark/layouts/supportClasses/DropLocation.as
@@ -0,0 +1,63 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package spark.layouts.supportClasses
+{
+import flash.geom.Point;
+
+import mx.core.IVisualElement;
+import mx.events.DragEvent;
+
+// FIXME (egeorgie): add ASDoc reference to layoutbase calculateDragScrollDelta when implemented
+/**
+ *  This class contains information describing the drop location
+ *  in a drag and drop operation.
+ *
+ *  The DropLocation is created by the LayoutBase
+ *  class when the List calls the layout's
+ *  calculateDropLocation() method in response to a DragEvent.
+ *
+ *  The DropLocation is used by the layout for operations such as
+ *  calculating the drop indicator bounds and drag-scroll deltas.
+ *
+ *  @see spark.layouts.supportClasses.LayoutBase#calculateDropLocation
+ *  @see spark.layouts.supportClasses.LayoutBase#calculateDropIndicatorBounds
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+public class DropLocation
+{
+    /**
+     *  Constructor.
+     */
+    public function DropLocation()
+    {
+    }
+
+    /**
+     *  The DragEvent associated with this location.
+     */
+    public var dragEvent:DragEvent = null;
+
+    /**
+     *  The drop index corresponding to the event.
+     */
+    public var dropIndex:int = -1;
+
+    /**
+     *  The event point in local coordinates of the layout's target.
+     */
+    public var dropPoint:Point = null;
+}
+}