Transferred from the Adobe Open Source Subversion Repository

Revision: 18126
Author:   gruehle@adobe.com
Date:     2010-10-11T18:03:16.346900Z

Log Message:
-----------
Change name MobileTextField to StyleableTextField.

QE notes: Tests using MobileTextField by name will need updating.
Doc notes: Docs mentioning MobileTextField will need updating.
Bugs: SDK-27849
Reviewer: Ryan
Tests run: checkintests, QE cyclone
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileTextField.as" copyfrom-rev="18115" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/styles/metadata/MobileTextFieldTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/TextInputOperation.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/styles/metadata/StyleableTextFieldTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/MobileComponentsClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileIconItemRenderer.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
@@ -26,7 +26,7 @@
 import spark.components.IItemRenderer;
 import spark.components.Image;
 import spark.components.Label;
-import spark.components.supportClasses.MobileTextField;
+import spark.components.supportClasses.StyleableTextField;
 import spark.components.supportClasses.TextBase;
 import spark.core.ContentCache;
 import spark.primitives.BitmapImage;
@@ -59,7 +59,7 @@
 //--------------------------------------

 include "../styles/metadata/PaddingStyles.as"
-include "../styles/metadata/MobileTextFieldTextStyles.as"
+include "../styles/metadata/StyleableTextFieldTextStyles.as"

 /**
  *  The colors to use for the background of the items in the list.
@@ -181,11 +181,11 @@
  *  for a list-based control in the mobile theme.
  *  This is a simple item renderer with a single text component.
  *
- *
The item renderer creates a single MobileTextField control
+ *
The item renderer creates a single StyleableTextField control
  *  to display a String.
- *  The name of the MobileTextField control in the item renderer is labelDisplay.
+ *  The name of the StyleableTextField control in the item renderer is labelDisplay.
  *  Use the labelField property of the list-based control to specify
- *  a field of the data item to display in the MobileTextField control.

+ *  a field of the data item to display in the StyleableTextField control.

  *
  *
To create a custom item renderer for use on mobile devices,
  *  Adobe recommends that you
@@ -384,7 +384,7 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    protected var labelDisplay:MobileTextField;
+    protected var labelDisplay:StyleableTextField;

     /**
      *  @inheritDoc
@@ -540,7 +540,7 @@

         if (!labelDisplay)
         {
-            labelDisplay = MobileTextField(createInFontContext(MobileTextField));
+            labelDisplay = StyleableTextField(createInFontContext(StyleableTextField));
             labelDisplay.styleProvider = this;
             labelDisplay.editable = false;
             labelDisplay.selectable = false;


Actually hide seek bar edges when they are not included in layout.

--- skin-src/goplayer/StandardSkin.as
+++ skin-src/goplayer/StandardSkin.as
@@ -48,7 +48,9 @@
       playPausePart.visible = showPlayPauseButton
       leftTimeBackgroundPart.visible = showElapsedTime
       leftTimeFieldPart.visible = showElapsedTime
+      afterLeftTimePart.visible = showSeekBar
       seekBar.visible = showSeekBar
+      beforeRightTimePart.visible = showSeekBar
       rightTimeBackgroundPart.visible = showTotalTime
       rightTimeFieldPart.visible = showTotalTime
       volumePart.visible = showVolumeControl


Updating fields value using response

Updating fields value using response

--- collect-flex/collect-flex-client/src/generated/flex/org/openforis/collect/model/proxy/RecordProxy.as
+++ collect-flex/collect-flex-client/src/generated/flex/org/openforis/collect/model/proxy/RecordProxy.as
@@ -6,6 +6,7 @@
  */

 package org.openforis.collect.model.proxy {
+	import mx.collections.ArrayCollection;
 	import mx.collections.IList;

 	import org.granite.collections.IMap;
@@ -34,7 +35,13 @@

 		private function processResponse(response:UpdateResponse):void {
 			var node:NodeProxy, oldNode:NodeProxy, parent:EntityProxy;
-			if(response.deletedINodeId > 0) {
+			if(response.createdNode != null) {
+				node = response.createdNode;
+				parent = getNode(node.parentId) as EntityProxy;
+				parent.addChild(node);
+			}
+			if(response.deletedNodeId > 0) {
+				node = getNode(response.deletedNodeId);
 				parent = getNode(node.parentId) as EntityProxy;
 				parent.removeChild(node);
 			} else {
@@ -43,6 +50,13 @@
 					var a:AttributeProxy = AttributeProxy(node);
 					if(response.validationResults != null) {
 						a.validationResults = response.validationResults;
+					}
+					if(response.updatedFieldValues != null) {
+						var fieldIdxs:ArrayCollection = response.updatedFieldValues.keySet;
+						for each (var i:int in fieldIdxs) {
+							var f:FieldProxy = a.getField(i);
+							f.value = response.updatedFieldValues.get(i);
+						}
 					}
 				} else if(node is EntityProxy) {
 					var e:EntityProxy = EntityProxy(node);


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@1248569 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridListData.as
+++ frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridListData.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  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.
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

Revision: 19635
Author:   aharui@adobe.com
Date:     2011-01-07T00:25:18.039632Z

Log Message:
-----------
revert the layout changes from svn 18635.  Management feels that there isn't enough time to thoroughly test the changes.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/layoutClasses/PriorityQueue.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/core/Application.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/SkinnableContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LinearLayoutVector.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airspark/src/spark/components/Window.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/IContainerInvalidating.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/ILayoutManagerContainerClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/IStyleManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/TextFieldGridItemRendererInclude.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/core/Container.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Application.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as
@@ -13,16 +13,10 @@
 {
 import flash.geom.Point;

-import mx.core.FlexVersion;
-import mx.core.IContainerInvalidating;
-import mx.core.ILayoutElement;
 import mx.core.IUIComponent;
 import mx.core.InteractionMode;
 import mx.core.ScrollPolicy;
-import mx.core.UIComponentGlobals;
 import mx.core.mx_internal;
-import mx.managers.ILayoutManagerClient;
-import mx.managers.ILayoutManagerContainerClient;
 import mx.utils.MatrixUtil;

 import spark.components.Scroller;
@@ -327,82 +321,6 @@
     //  Overidden Methods
     //
     //--------------------------------------------------------------------------
-
-    /**
-     *  Compute the estimatedWidth and estimatedHeight on the
-     *  elements.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.0
-     *  @productversion Flex 4.5
-     */
-    override public function estimateSizesOfElements():void
-    {
-        var scroller:Scroller = getScroller();
-        if (!scroller)
-            return;
-
-        var viewport:IViewport = scroller.viewport;
-        var layoutElement:ILayoutElement = viewport as ILayoutElement;
-        if (!layoutElement)
-			return;
-
-        var cw:Number;
-        var ch:Number;
-        var oldcw:Number = layoutElement.estimatedWidth;
-        var oldch:Number = layoutElement.estimatedHeight;
-        cw = target.estimatedWidth;
-        if (isNaN(cw) && !isNaN(target.explicitWidth))
-            cw = target.explicitWidth;
-        ch = target.estimatedHeight;
-        if (isNaN(ch) && !isNaN(target.explicitHeight))
-            ch = target.explicitHeight;
-
-        const minViewportInset:Number = scroller.minViewportInset;
-        const measuredSizeIncludesScrollBars:Boolean = scroller.measuredSizeIncludesScrollBars && (scroller.getStyle("interactionMode") == InteractionMode.MOUSE);
-        const hsb:ScrollBarBase = scroller.horizontalScrollBar;
-        var showHSB:Boolean = false;
-        if (measuredSizeIncludesScrollBars)
-            switch(scroller.getStyle("horizontalScrollPolicy"))
-            {
-                case ScrollPolicy.ON:
-                    if (hsb) showHSB = true;
-                    break;
-                case ScrollPolicy.AUTO:
-                    if (hsb) showHSB = hsb.visible;
-                    break;
-            }
-
-        const vsb:ScrollBarBase = scroller.verticalScrollBar;
-        var showVSB:Boolean = false;
-        if (measuredSizeIncludesScrollBars)
-            switch(scroller.getStyle("verticalScrollPolicy"))
-            {
-                case ScrollPolicy.ON:
-                    if (vsb) showVSB = true;
-                    break;
-                case ScrollPolicy.AUTO:
-                    if (vsb) showVSB = vsb.visible;
-                    break;
-            }
-
-        ch -= (showHSB) ? hsbRequiredHeight() + minViewportInset : minViewportInset * 2;
-        cw -= (showVSB) ? vsbRequiredWidth() + minViewportInset : minViewportInset * 2;
-
-        layoutElement.setEstimatedSize(cw, ch);
-        if (layoutElement is ILayoutManagerContainerClient)
-		{
-			var sameWidth:Boolean = isNaN(cw) && isNaN(oldcw) || cw == oldcw;
-			var sameHeight:Boolean = isNaN(ch) && isNaN(oldch) || ch == oldch;
-            if (!(sameHeight && sameWidth))
-            {
-                if (layoutElement is IContainerInvalidating)
-                    IContainerInvalidating(layoutElement).invalidateEstimatedSizesOfChildren();
-                ILayoutManagerContainerClient(layoutElement).validateEstimatedSizesOfChildren();
-            }
-		}
-    }

     /**
      * @private
@@ -473,11 +391,25 @@
         {
             if (measuredSizeIncludesScrollBars)
             {
+                var contentSize:Point = getLayoutContentSize(viewport);
+
                 var viewportPreferredW:Number =  viewport.getPreferredBoundsWidth();
-                measuredW += Math.max(viewportPreferredW, (showHSB) ? hsb.getMinBoundsWidth() : 0);
+                var viewportContentW:Number = contentSize.x;
+                var viewportW:Number = viewport.getLayoutBoundsWidth();  // "current" size
+                var currentSizeNoHSB:Boolean = !isNaN(viewportW) && ((viewportW + SDT) > viewportContentW);
+                if (hAuto && !showHSB && ((viewportPreferredW + SDT) <= viewportContentW) && currentSizeNoHSB)
+                    measuredW += viewportW;
+                else
+                    measuredW += Math.max(viewportPreferredW, (showHSB) ? hsb.getMinBoundsWidth() : 0);

                 var viewportPreferredH:Number = viewport.getPreferredBoundsHeight();
-                measuredH += Math.max(viewportPreferredH, (showVSB) ? vsb.getMinBoundsHeight() : 0);
+                var viewportContentH:Number = contentSize.y;
+                var viewportH:Number = viewport.getLayoutBoundsHeight();  // "current" size
+                var currentSizeNoVSB:Boolean = !isNaN(viewportH) && ((viewportH + SDT) > viewportContentH);
+                if (vAuto && !showVSB && ((viewportPreferredH + SDT) <= viewportContentH) && currentSizeNoVSB)
+                    measuredH += viewportH;
+                else
+                    measuredH += Math.max(viewportPreferredH, (showVSB) ? vsb.getMinBoundsHeight() : 0);
             }
             else
             {
@@ -715,12 +647,6 @@

         if (viewport)
         {
-            if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_4_5)
-            {
-                estimateSizesOfElements();
-                if (viewport is ILayoutManagerClient)
-                    UIComponentGlobals.layoutManager.validateClient(ILayoutManagerClient(viewport), true);
-            }
             viewport.setLayoutBoundsSize(viewportW, viewportH);
             viewport.setLayoutBoundsPosition(minViewportInset, minViewportInset);
         }
@@ -742,47 +668,25 @@

 			vsb.setLayoutBoundsPosition(w - vsbW, 0);
         }
-
-		var viewportGroup:GroupBase;
-        if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_5)
-        {
-            // If we've added an auto scrollbar, then the measured size is likely to have been wrong.
-            // There's a risk of looping here, so we count.
-            if ((invalidationCount < 2) && (((vsbVisible != oldShowVSB) && vAuto) || ((hsbVisible != oldShowHSB) && hAuto)))
-            {
-                target.invalidateSize();
-
-                // If the viewport's layout is virtual, it's possible that its
-                // measured size changed as a consequence of laying it out,
-                // so we invalidate its size as well.
-                viewportGroup = viewport as GroupBase;
-                if (viewportGroup && viewportGroup.layout && viewportGroup.layout.useVirtualLayout)
-                    viewportGroup.invalidateSize();
-
-                invalidationCount += 1;
-            }
-            else
-                invalidationCount = 0;
-        }
-		else
-		{
-			if (((vsbVisible != oldShowVSB) && vAuto) || ((hsbVisible != oldShowHSB) && hAuto))
-			{
-				const measuredSizeIncludesScrollBars:Boolean = scroller.measuredSizeIncludesScrollBars && (scroller.getStyle("interactionMode") == InteractionMode.MOUSE);
-				if (measuredSizeIncludesScrollBars)
-				{
-					target.invalidateSize();
-
-					// If the viewport's layout is virtual, it's possible that its
-					// measured size changed as a consequence of laying it out,
-					// so we invalidate its size as well.
-					viewportGroup = viewport as GroupBase;
-					if (viewportGroup && viewportGroup.layout && viewportGroup.layout.useVirtualLayout)
-						viewportGroup.invalidateSize();
-				}
-			}
-		}
-
+
+        // If we've added an auto scrollbar, then the measured size is likely to have been wrong.
+        // There's a risk of looping here, so we count.
+        if ((invalidationCount < 2) && (((vsbVisible != oldShowVSB) && vAuto) || ((hsbVisible != oldShowHSB) && hAuto)))
+        {
+            target.invalidateSize();
+
+            // If the viewport's layout is virtual, it's possible that its
+            // measured size changed as a consequence of laying it out,
+            // so we invalidate its size as well.
+            var viewportGroup:GroupBase = viewport as GroupBase;
+            if (viewportGroup && viewportGroup.layout && viewportGroup.layout.useVirtualLayout)
+                viewportGroup.invalidateSize();
+
+            invalidationCount += 1;
+        }
+        else
+            invalidationCount = 0;
+
         target.setContentSize(w, h);
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 8721
Author:   aharui@adobe.com
Date:     2009-07-21T22:11:37.692397Z

Log Message:
-----------
Hopefully final implementation of IME support.

QE Notes: None
Doc Notes: new API in IIMESupport
Bugs: SDK-22267, SDK-18516
Reviewer: Gordon
API Change: Yes
Is noteworthy for integration: Yes, new API in IIMESupport
tests: checkintests mustella/gumbo/components/TextInput mustella/gumbo/components/TextArea

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.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/framework/src/mx/controls/List.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/spark/src/spark/primitives/RichEditableText.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/controls/DataGrid.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_textLayout/src/mx/core/UITLFTextField.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/framework/src/mx/controls/NumericStepper.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/spark/src/spark/components/NumericStepper.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
@@ -334,6 +334,24 @@
         }

         invalidateProperties();
+    }
+
+    //----------------------------------
+    //  enableIME
+    //----------------------------------
+
+    /**
+     *  A flag that indicates whether the IME should
+     *  be enabled when the component receives focus.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get enableIME():Boolean
+    {
+        return editable;
     }

     //----------------------------------


Transferred from the Adobe Open Source Subversion Repository

Revision: 12830
Author:   jon.avila@ssbbartgroup.com
Date:     2009-12-11T03:05:49.324313Z

Log Message:
-----------
Removed the SkinnableTextBaseAccImpl and thus the references to it from this component.
QE notes: none
Doc notes: none
Bugs: n/a
Reviewer: Gordon
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
@@ -153,12 +153,6 @@
  *  @productversion Flex 4
  */
 [Event(name="change", type="spark.events.TextOperationEvent")]
-
-//--------------------------------------
-//  Other metadata
-//--------------------------------------
-
-[AccessibilityClass(implementation="spark.accessibility.SkinnableTextBaseAccImpl")]

 /**
  *  The base class for skinnable components, such as the Spark TextInput
@@ -177,18 +171,6 @@

     //--------------------------------------------------------------------------
     //
-    //  Class mixins
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     *  Placeholder for mixin by ListBaseAccImpl.
-     */
-    mx_internal static var createAccessibilityImplementation:Function;
-
-    //--------------------------------------------------------------------------
-    //
     //  Class constants
     //
     //--------------------------------------------------------------------------
@@ -805,16 +787,6 @@
     /**
      *  @private
      */
-    override protected function initializeAccessibility():void
-    {
-        if (SkinnableTextBase.createAccessibilityImplementation != null)
-            SkinnableTextBase.createAccessibilityImplementation(this);
-    }
-
-
-    /**
-     *  @private
-     */
     override protected function partAdded(partName:String, instance:Object):void
     {
         super.partAdded(partName, instance);


Testing hudson ci server 4

Testing hudson ci server 4

--- src/as3spec/Printer.as
+++ src/as3spec/Printer.as
@@ -24,7 +24,7 @@
       trace("<testsuite name='AllSpecs' errors='" + counter.errors + "' failures='" + counter.failures + "' tests='" + counter.specifications + "' time='" + (counter.time/1000) + "'>");
       for(var countName:String in counter.contexts) {
         for each(var specification:Specification in counter.contexts[countName]) {
-          trace("<testcase classname='"+countName+'.'+specification.story"' name='"+specification.story+"' time='"+(specification.time/1000)+"'></testcase>");
+          trace("<testcase classname='"+countName+'.'+specification.story+"' name='"+specification.story+"' time='"+(specification.time/1000)+"'></testcase>");
         }
       }
       trace("</testsuite>");


Change 20081112-maxcarlson-t by maxcarlson@Bank.local on 2008-11-12 14:42:20 PST
    in /Users/maxcarlson/openlaszlo/trunk-clean
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Send mouseover/out events for views on top of the view the mouse went down on

Bugs Fixed: LPP-7300 - SWF9: some mouse events changed behavior

Technical Reviewer: promanik
QA Reviewer: andre.bargull@udo.edu

Details: Check the z-order of all sprites under the mouse, to make onmouseover/out consistent between swf8 and swf9.

Tests: Testcase from LPP-7300 and http://localhost:8080/trunk-clean/docs/src/developers/programs/input-devices-$8.lzx run consistently between swf8 and swf9

git-svn-id: d62bde4b5aa582fdf07c8d403e53e0399a7ed285@11751 fa20e4f9-1d0a-0410-b5f3-dc9c16b8b17c

--- WEB-INF/lps/lfc/kernel/swf9/LzSprite.as
+++ WEB-INF/lps/lfc/kernel/swf9/LzSprite.as
@@ -674,9 +674,27 @@
             // send dragin/out events if the mouse is currently down
             if (LzMouseKernel.__lastMouseDown &&
                 (eventname == 'onmouseover' || eventname == 'onmouseout')) {
-                    // only send mouseover/out if the mouse went down on this sprite
+                    // only send mouseover/out if the mouse went down on this sprite - see LPP-6677
                     if (LzMouseKernel.__lastMouseDown == this) {
                         LzMouseKernel.__sendEvent(this.owner, eventname);
+                    } else {
+                        // check to see if this sprite is in front of the sprite the mouse went down on.  See LPP-7300
+
+                        var target:* = e.target;
+                        var location:Point = new Point(target.mouseX, target.mouseY);
+                        location = target.localToGlobal(location);
+                        var sprites:Array = LFCApplication.stage.getObjectsUnderPoint(location);
+                        var sawself = false;
+                        for (var i = sprites.length; i >=0; i--) {
+                            if (sprites[i] == this) {
+                                sawself = true;
+                            } else if (sawself && sprites[i] == LzMouseKernel.__lastMouseDown) {
+                                // already saw ourselves, and we're on top of __lastMouseDown
+                                LzMouseKernel.__sendEvent(this.owner, eventname);
+                                break;
+
+                            }
+                        }
                     }

                     var dragname = eventname == 'onmouseover' ? 'onmousedragin' : 'onmousedragout';


Made a parameter name more descriptive (as well as reversing the meaning...).

git-svn-id: a1a4b28b82a3276cc491891159dd9963a0a72fae@4290 542714f4-19e9-0310-aa3c-eee0fc999fb1

--- src/as/com/threerings/util/NetUtil.as
+++ src/as/com/threerings/util/NetUtil.as
@@ -10,10 +10,10 @@
      * having to worry about SecurityErrors in various conditions.
      */
     public static function navigateToURL (
-            url :String, newWindow :Boolean = false) :void
+            url :String, preferSameWindowOrTab :Boolean = true) :void
     {
         var ureq :URLRequest = new URLRequest(url);
-        if (!newWindow) {
+        if (preferSameWindowOrTab) {
             try {
                 flash.net.navigateToURL(ureq, "_self");
                 return;


Transferred from the Adobe Open Source Subversion Repository

Revision: 3645
Author:   egreenfi@adobe.com
Date:     2008-10-15T03:19:36.801703Z

Log Message:
-----------
removed ability to set transform offsets as a matrix

TransformOffsets are applied as r/s/t deltas, not as a matrix, so it doesn't make sense to allow developers to set matrix values directly.

Also renamed matrix/matrix3D on UIC and GraphicElement to layoutMatrix/layoutMatrix3D, as these are more appropriate names, and removing them from transformOffsets gives us more freedom in their naming.

Reviewer: Glenn
checkintests: pass
QA: none

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemUIC.as</path>
<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/frameworks/projects/framework/src/mx/core/IVisualItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.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/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -34,7 +34,7 @@
 import mx.core.AdvancedLayoutFeatures;
 import mx.core.IConstraintClient;
 import mx.core.IInvalidating;
-import mx.geom.CompoundTransform;
+import mx.geom.TransformOffsets;
 import mx.core.UIComponentGlobals;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
@@ -180,28 +180,28 @@
     //--------------------------------------------------------------------------

     [Bindable("propertyChange")]
-    /**
-     * Documentation is not currently available
-     */
-    public function set offsets(value:CompoundTransform):void
-    {
-        var oldValue:CompoundTransform = layoutFeatures.offsets;
-
-        if(layoutFeatures.offsets != null)
-            layoutFeatures.offsets.removeEventListener(Event.CHANGE,transformOffsetsChangedHandler);
-        layoutFeatures.offsets = value;
-        if(layoutFeatures.offsets != null)
-            layoutFeatures.offsets.addEventListener(Event.CHANGE,transformOffsetsChangedHandler);
+	/**
+	 * Documentation is not currently available
+	 */
+ 	public function set offsets(value:TransformOffsets):void
+	{
+		var oldValue:TransformOffsets = layoutFeatures.offsets;
+
+		if(layoutFeatures.offsets != null)
+			layoutFeatures.offsets.removeEventListener(Event.CHANGE,transformOffsetsChangedHandler);
+		layoutFeatures.offsets = value;
+		if(layoutFeatures.offsets != null)
+			layoutFeatures.offsets.addEventListener(Event.CHANGE,transformOffsetsChangedHandler);
         dispatchPropertyChangeEvent("offsets", oldValue, value);
-    }
-
-    /**
-     * @private
-     */
-    public function get offsets():CompoundTransform
-    {
-        return layoutFeatures.offsets;
-    }
+	}
+
+	/**
+	 * @private
+	 */
+	public function get offsets():TransformOffsets
+	{
+		return layoutFeatures.offsets;
+	}

@@ -1463,7 +1463,7 @@
      *  The transform matrix that is used to calculate the component's layout relative to its siblings.
      *  This matrix is modified by the values of the offset property to determine its final, computed matrix.
      */
-    public function get matrix():Matrix
+    public function get layoutMatrix():Matrix
     {
         return layoutFeatures.layoutMatrix;
     }
@@ -1471,7 +1471,7 @@
     /**
      * @private
      */
-    public function set matrix(value:Matrix):void
+    public function set layoutMatrix(value:Matrix):void
     {
         layoutFeatures.layoutMatrix = value;
         invalidateTransform();
@@ -1481,7 +1481,7 @@
      *  The transform matrix that is used to calculate a component's layout relative to its siblings.
      *  This matrix is modified by the values of the offset property to determine its final, computed matrix.
      */
-    public function set matrix3D(value:Matrix3D):void
+    public function set layoutMatrix3D(value:Matrix3D):void
     {
         layoutFeatures.layoutMatrix3D = value;
         invalidateTransform();
@@ -1490,7 +1490,7 @@
     /**
      * @private
      */
-    public function get matrix3D():Matrix3D
+    public function get layoutMatrix3D():Matrix3D
     {
         return layoutFeatures.layoutMatrix3D;
     }
@@ -2110,14 +2110,14 @@
             _alpha != 1 ||
             _layer != 0);

-        if(layoutFeatures.offsets != null)
-        {
-            var o:CompoundTransform = layoutFeatures.offsets;
-            result = result || (o.scaleX != 1 || o.scaleY != 1 || o.scaleZ != 1 ||
-            o.rotationX != 0 || o.rotationY != 0 || o.rotationZ != 0 || o.z  != 0);
-
-        }
-        return result;
+		if(layoutFeatures.offsets != null)
+		{
+			var o:TransformOffsets = layoutFeatures.offsets;
+    		result = result || (o.scaleX != 1 || o.scaleY != 1 || o.scaleZ != 1 ||
+    		o.rotationX != 0 || o.rotationY != 0 || o.rotationZ != 0 || o.z  != 0);
+
+		}
+		return result;
     }

     public function get nextSiblingNeedsDisplayObject():Boolean


Fixed error 803

Fixed error 803

Added check for broken conncections so error 803 is not triggered before
error 827.

--- src/com/axis/rtspclient/RTSPClient.as
+++ src/com/axis/rtspclient/RTSPClient.as
@@ -65,6 +65,7 @@
     private var digestNC:uint = 1;

     private var bcTimer:Timer;
+    private var connectionBroken:Boolean = false;

     private var nc:NetConnection = null;

@@ -165,13 +166,15 @@
         this.ns.dispose();
         dispatchEvent(new ClientEvent(ClientEvent.STOPPED));
       } else {
-        ErrorManager.dispatchError(803);
+        if (!connectionBroken)
+          ErrorManager.dispatchError(803);
       }
     }

     private function onData(event:Event):void {
       bcTimer.reset();
       bcTimer.start();
+      connectionBroken = false;

       if (0 < data.bytesAvailable) {
         /* Determining byte have already been read. This is a continuation */
@@ -637,6 +640,7 @@
         return;
       }

+      connectionBroken = true;
       this.handle.disconnect();
       this.handle = null;
       bcTimer.stop();


Transferred from the Adobe Open Source Subversion Repository

Revision: 19305
Author:   deeptika@adobe.com
Date:     2010-12-13T12:09:45.179442Z

Log Message:
-----------
Adding support to record tabs while editing in datagrid.

QE notes:
Doc notes:
Bugs: FLEXENT-1371 (Tabs are not getting recorded in an editable DataGrid)
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkDataGridAutomationImpl.as

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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkDataGridAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkDataGridAutomationImpl.as
@@ -12,6 +12,7 @@
 {
     import flash.display.DisplayObject;
     import flash.events.Event;
+    import flash.events.FocusEvent;
     import flash.events.KeyboardEvent;
     import flash.events.MouseEvent;
     import flash.geom.Point;
@@ -102,7 +103,8 @@
             obj.grid.addEventListener(GridEvent.GRID_MOUSE_UP, gridMouseUpHandler, false, 1001, true);
             obj.addEventListener(GridEvent.SEPARATOR_MOUSE_UP, columnStretchHandler, false, 0, true);
             obj.columnHeaderGroup.addEventListener(GridEvent.GRID_CLICK, gridClickHandler, false, 0 , true);
-            obj.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler, false, 0, true);
+            obj.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler, false, 0, true);
+			obj.addEventListener(FocusEvent.KEY_FOCUS_CHANGE,keyFocusChangeHandler, false, 1000, true);
         }

@@ -723,6 +725,18 @@
                         throw new Error();
                     }
                 }
+				case "editNext":
+				{
+					if(grid.itemEditorInstance)
+					{
+						var focusEvent:FocusEvent = new FocusEvent(FocusEvent.KEY_FOCUS_CHANGE);
+						focusEvent.keyCode = Keyboard.TAB;
+						grid.itemEditorInstance.dispatchEvent(focusEvent);
+						grid.startItemEditorSession(grid.grid.caretRowIndex, grid.grid.caretColumnIndex);
+						return true;
+					}
+					return false;
+				}
                     /*case "headerShift":
                     {
                     var icEvent:IndexChangedEvent = IndexChangedEvent(interaction);
@@ -840,8 +854,8 @@
                             if (grid.itemEditorInstance && grid.editor &&
                                 (grid.editor.editorRowIndex >= 0) && (grid.editor.editorColumnIndex >= 0) &&
                                 item == grid.editor.editedItemRenderer)
-
-                                childrenList.push(grid.itemEditorInstance as IAutomationObject);
+
+							   	childrenList.push(grid.itemEditorInstance as IAutomationObject);
                             else
                                 childrenList.push(item as IAutomationObject);
                         }
@@ -858,7 +872,15 @@
         //  Event handlers
         //
         //--------------------------------------------------------------------------
-
+
+		private function keyFocusChangeHandler(event:FocusEvent):void
+		{
+			if(grid.itemEditorInstance)
+			{
+				recordAutomatableEvent(new Event("editNext"));
+			}
+		}
+
         /**
          *  @private
          */
@@ -936,7 +958,7 @@
                 event.target != event.currentTarget)
                 return;

-            if (event.keyCode == Keyboard.SPACE)
+			if (event.keyCode == Keyboard.SPACE)
             {
                 var caretRowIndex:int = grid.grid.caretRowIndex;
                 if (caretRowIndex != -1)


Removed a line from documentation which said this was still in development mode

--- src/org/openPyro/controls/List.as
+++ src/org/openPyro/controls/List.as
@@ -11,8 +11,6 @@
 	public class List extends ListBase
 	{
 		/**
-		*	IN DEVELOPMENT, PLEASE DO NOT USE YET
-		*
 		*	The optimizedList class is a List implementation that recycles itemRenderers
 		*	as it scrolls.
 		*/


115 Tests for presence of callbacks using Boolean casts to stop the compiler warnings

--- raw/src/org/yellcorp/xml/XMLTraverser.as
+++ raw/src/org/yellcorp/xml/XMLTraverser.as
@@ -32,13 +32,13 @@
                 processElement(node);
                 break;
             case XMLNodeKind.TEXT :
-                if (textHandler) textHandler(node);
+                if (Boolean(textHandler)) textHandler(node);
                 break;
             case XMLNodeKind.COMMENT :
-                if (commentHandler) commentHandler(node);
+                if (Boolean(commentHandler)) commentHandler(node);
                 break;
             case XMLNodeKind.PROCESSING_INSTRUCTION :
-                if (processingInstructionHandler)
+                if (Boolean(processingInstructionHandler))
                     processingInstructionHandler(node);
                 break;
             default :
@@ -48,12 +48,12 @@

     private function processElement(node:XML):void
     {
-        if (openElementHandler) openElementHandler(node);
+        if (Boolean(openElementHandler)) openElementHandler(node);
         for each (var child:XML in node.children())
         {
             process(child);
         }
-        if (closeElementHandler) closeElementHandler(node);
+        if (Boolean(closeElementHandler)) closeElementHandler(node);
     }
 }
 }


Added collideLine() to World for raycasting lines at various precisions and detecting collision points.

--- net/flashpunk/World.as
+++ net/flashpunk/World.as
@@ -387,6 +387,136 @@
 		}

 		/**
+		 * Returns the first Entity found that collides with the line.
+		 * @param	type		The Entity type to check for.
+		 * @param	fromX		Start x of the line.
+		 * @param	fromY		Start y of the line.
+		 * @param	toX			End x of the line.
+		 * @param	toY			End y of the line.
+		 * @param	precision
+		 * @param	p
+		 * @return
+		 */
+		public function collideLine(type:String, fromX:int, fromY:int, toX:int, toY:int, precision:uint = 1, p:Point = null):Entity
+		{
+			// If the distance is less than precision, do the short sweep.
+			if (precision < 1) precision = 1;
+			if (FP.distance(fromX, fromY, toX, toY) < precision)
+			{
+				if (p)
+				{
+					if (fromX == toX && fromY == toY)
+					{
+						p.x = toX; p.y = toY;
+						return collidePoint(type, toX, toY);
+					}
+					return collideLine(type, fromX, fromY, toX, toY, 1, p);
+				}
+				else return collidePoint(type, fromX, toY);
+			}
+
+			// Get information about the line we're about to raycast.
+			var xDelta:int = Math.abs(toX - fromX),
+				yDelta:int = Math.abs(toY - fromY),
+				xSign:Number = toX > fromX ? precision : -precision,
+				ySign:Number = toY > fromY ? precision : -precision,
+				x:Number = fromX, y:Number = fromY, e:Entity;
+
+			// Do a raycast from the start to the end point.
+			if (xDelta > yDelta)
+			{
+				ySign *= yDelta / xDelta;
+				if (xSign > 0)
+				{
+					while (x < toX)
+					{
+						if ((e = collidePoint(type, x, y)))
+						{
+							if (!p) return e;
+							if (precision < 2)
+							{
+								p.x = x - xSign; p.y = y - ySign;
+								return e;
+							}
+							return collideLine(type, x - xSign, y - ySign, toX, toY, 1, p);
+						}
+						x += xSign; y += ySign;
+					}
+				}
+				else
+				{
+					while (x > toX)
+					{
+						if ((e = collidePoint(type, x, y)))
+						{
+							if (!p) return e;
+							if (precision < 2)
+							{
+								p.x = x - xSign; p.y = y - ySign;
+								return e;
+							}
+							return collideLine(type, x - xSign, y - ySign, toX, toY, 1, p);
+						}
+						x += xSign; y += ySign;
+					}
+				}
+			}
+			else
+			{
+				xSign *= xDelta / yDelta;
+				if (ySign > 0)
+				{
+					while (y < toY)
+					{
+						if ((e = collidePoint(type, x, y)))
+						{
+							if (!p) return e;
+							if (precision < 2)
+							{
+								p.x = x - xSign; p.y = y - ySign;
+								return e;
+							}
+							return collideLine(type, x - xSign, y - ySign, toX, toY, 1, p);
+						}
+						x += xSign; y += ySign;
+					}
+				}
+				else
+				{
+					while (y > toY)
+					{
+						if ((e = collidePoint(type, x, y)))
+						{
+							if (!p) return e;
+							if (precision < 2)
+							{
+								p.x = x - xSign; p.y = y - ySign;
+								return e;
+							}
+							return collideLine(type, x - xSign, y - ySign, toX, toY, 1, p);
+						}
+						x += xSign; y += ySign;
+					}
+				}
+			}
+
+			// Check the last position.
+			if (precision > 1)
+			{
+				if (!p) return collidePoint(type, toX, toY);
+				if (collidePoint(type, toX, toY)) return collideLine(type, x - xSign, y - ySign, toX, toY, 1, p);
+			}
+
+			// No collision, return the end point.
+			if (p)
+			{
+				p.x = toX;
+				p.y = toY;
+			}
+			return null;
+		}
+
+		/**
 		 * Populates an array with all Entities that collide with the rectangle. This
 		 * function does not empty the array, that responsibility is left to the user.
 		 * @param	type		The Entity type to check for.


More output feedback.

More output feedback.

--- exporter/src/main/as/flump/export/AutomaticExporter.as
+++ exporter/src/main/as/flump/export/AutomaticExporter.as
@@ -103,10 +103,12 @@
         case "xfl":
             name = name.substr(0, name.lastIndexOf("/"));
             load = new XflLoader().load(name, file.parent);
+            println("Loading XFL: " + name + "...");
             break;
         case "fla":
             name = name.substr(0, name.lastIndexOf("."));
             load = new FlaLoader().load(name, file);
+            println("Loading FLA: " + name + "...");
             break;
         default:
             // Unsupported file type, ignore
@@ -116,6 +118,7 @@
         const status :DocStatus = new DocStatus(name, Ternary.UNKNOWN, Ternary.UNKNOWN, null);
         _statuses[_statuses.length] = status;
         load.succeeded.connect(function (lib :XflLibrary) :void {
+            println("Load completed: " + name + "...");
             status.lib = lib;
             for each (var err :ParseError in lib.getErrors()) printErr(err);
             status.updateValid(Ternary.of(lib.valid));
@@ -148,6 +151,8 @@
             exit();
             return;
         }
+
+        println("\nLoading complete...");

         if (_conf.exportDir == null) {
             exit("No export directory specified.");


Transferred from the Adobe Open Source Subversion Repository

Revision: 3827
Author:   tan@adobe.com
Date:     2008-10-22T21:51:10.133098Z

Log Message:
-----------
Link FxList example into ASDoc.

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -36,6 +36,8 @@
  *  when the full width of the list items is unlikely to fit.
  *  The user can select one or more items from the list, depending
  *  on the value of the allowMultipleSelection property.
+ *
+ *  @includeExample examples/FxListExample.mxml
  */
 public class FxList extends FxListBase
 {
@@ -267,10 +269,10 @@
             }
         }
     }
-
-	/**
-	 *  Returns true if the item is selected.
-	 */
+
+    /**
+     *  Returns true if the item is selected.
+     */
     public function isItemSelected(item:Object):Boolean
     {
         if (allowMultipleSelection)
@@ -450,76 +452,76 @@
      */
     private function list_keyDownHandler(event:KeyboardEvent):void
     {
-    	var nextInView:Number;
-    	switch (event.keyCode)
+        var nextInView:Number;
+        switch (event.keyCode)
         {
             case Keyboard.UP:
             {
-            	if (layout is VerticalLayout)
-            	{
-            		nextInView = VerticalLayout(layout).inView(selectedIndex-1);
-            		//The next item is already in full or partial view - don't scroll, just select it.
-            		if ((nextInView == 1) || (nextInView < 0))
-            			event.stopPropagation();
-            		//The last item was selected and partially in view, don't increment selection
-            		if (nextInView == 0 && (VerticalLayout(layout).firstIndexInView == selectedIndex))
-            			return;
-            		//Adjust selection
-            		if (selectedIndex > 0)
-            			selectedIndex--;
-            	}
-            	break;
+                if (layout is VerticalLayout)
+                {
+                    nextInView = VerticalLayout(layout).inView(selectedIndex-1);
+                    //The next item is already in full or partial view - don't scroll, just select it.
+                    if ((nextInView == 1) || (nextInView < 0))
+                        event.stopPropagation();
+                    //The last item was selected and partially in view, don't increment selection
+                    if (nextInView == 0 && (VerticalLayout(layout).firstIndexInView == selectedIndex))
+                        return;
+                    //Adjust selection
+                    if (selectedIndex > 0)
+                        selectedIndex--;
+                }
+                break;
             }
             case Keyboard.DOWN:
             {
-            	if (layout is VerticalLayout)
-            	{
-            		nextInView = VerticalLayout(layout).inView(selectedIndex+1);
-            		//The next item is already in full or partial view - don't scroll
-            		if ((nextInView == 1) || (nextInView < 0))
-            			event.stopPropagation();
-            		//The last item was selected and partially in view, don't increment selection
-            		if (nextInView == 0 && (VerticalLayout(layout).lastIndexInView == selectedIndex))
-            			return;
-            		//Adjust selection
-    				if (selectedIndex < (dataProvider.length - 1))
-    					selectedIndex++;
-            	}
+                if (layout is VerticalLayout)
+                {
+                    nextInView = VerticalLayout(layout).inView(selectedIndex+1);
+                    //The next item is already in full or partial view - don't scroll
+                    if ((nextInView == 1) || (nextInView < 0))
+                        event.stopPropagation();
+                    //The last item was selected and partially in view, don't increment selection
+                    if (nextInView == 0 && (VerticalLayout(layout).lastIndexInView == selectedIndex))
+                        return;
+                    //Adjust selection
+                    if (selectedIndex < (dataProvider.length - 1))
+                        selectedIndex++;
+                }
                 break;
             }
             case Keyboard.LEFT:
             {
-            	if (layout is HorizontalLayout)
-            	{
-            		nextInView = HorizontalLayout(layout).inView(selectedIndex-1);
-            		//The next item is already in full or partial view - don't scroll
-            		if ((nextInView == 1) || (nextInView < 0))
-            			event.stopPropagation();
-            		//The last item was selected and partially in view, don't increment selection
-            		if (nextInView == 0 && (HorizontalLayout(layout).firstIndexInView == selectedIndex))
-            			return;
-            		//Adjust selection
-            		if (selectedIndex > 0)
-            			selectedIndex--;
-            	}
-            	break;
+                if (layout is HorizontalLayout)
+                {
+                    nextInView = HorizontalLayout(layout).inView(selectedIndex-1);
+                    //The next item is already in full or partial view - don't scroll
+                    if ((nextInView == 1) || (nextInView < 0))
+                        event.stopPropagation();
+                    //The last item was selected and partially in view, don't increment selection
+                    if (nextInView == 0 && (HorizontalLayout(layout).firstIndexInView == selectedIndex))
+                        return;
+                    //Adjust selection
+                    if (selectedIndex > 0)
+                        selectedIndex--;
+                }
+                break;
             }
             case Keyboard.RIGHT:
             {
-            	if (layout is HorizontalLayout)
-            	{
-            		nextInView = HorizontalLayout(layout).inView(selectedIndex+1);
-            		//The next item is already in full or partial view - don't scroll
-            		if ((nextInView == 1) || (nextInView < 0))
-            			event.stopPropagation();
-            		//The last item was selected and partially in view, don't increment selection
-            		if (nextInView == 0 && (HorizontalLayout(layout).lastIndexInView == selectedIndex))
-            			return;
-            		//Adjust selection
-            		if (selectedIndex < (dataProvider.length - 1))
-            			selectedIndex++;
-            	}
-            	break;
+                if (layout is HorizontalLayout)
+                {
+                    nextInView = HorizontalLayout(layout).inView(selectedIndex+1);
+                    //The next item is already in full or partial view - don't scroll
+                    if ((nextInView == 1) || (nextInView < 0))
+                        event.stopPropagation();
+                    //The last item was selected and partially in view, don't increment selection
+                    if (nextInView == 0 && (HorizontalLayout(layout).lastIndexInView == selectedIndex))
+                        return;
+                    //Adjust selection
+                    if (selectedIndex < (dataProvider.length - 1))
+                        selectedIndex++;
+                }
+                break;
             }
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

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

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

--- frameworks/projects/spark/src/spark/primitives/Rect.as
+++ frameworks/projects/spark/src/spark/primitives/Rect.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2008 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.primitives
 {


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@1252206 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTitleWindowAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTitleWindowAutomationImpl.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 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.
 //
 ////////////////////////////////////////////////////////////////////////////////


LinkableFunction now updates when macros change.

Change-Id: Iad9c1980ea438e14d351b6f4c0a320c56dd8c10f

--- WeaveCore/src/weave/core/LinkableFunction.as
+++ WeaveCore/src/weave/core/LinkableFunction.as
@@ -24,12 +24,14 @@

 	import weave.api.core.ILinkableHashMap;
 	import weave.api.detectLinkableObjectChange;
+	import weave.api.getCallbackCollection;
+	import weave.api.getLinkableOwner;
 	import weave.api.registerLinkableChild;
 	import weave.api.reportError;
 	import weave.compiler.Compiler;
 	import weave.compiler.ICompiledObject;
 	import weave.compiler.ProxyObject;
-	import weave.compiler.StandardLib;
+	import weave.compiler.StandardLib;

 	/**
 	 * LinkableFunction allows a function to be defined by a String that can use macros defined in the static macros hash map.
@@ -54,6 +56,7 @@
 		{
 			super(StandardLib.unIndent(defaultValue));
 			macroLibraries.addImmediateCallback(this, triggerCallbacks, false, true);
+			getCallbackCollection(macros).addImmediateCallback(this, handleMacros, false, true);
 			_ignoreRuntimeErrors = ignoreRuntimeErrors;
 			_useThisScope = useThisScope;
 			_paramNames = paramNames && paramNames.concat();
@@ -66,6 +69,12 @@
 		private var _paramNames:Array = null;
 		private var _isFunctionDefinition:Boolean = false;
 		private var _triggerCount:uint = 0;
+
+		private function handleMacros():void
+		{
+			if (getLinkableOwner(this) != macros)
+				triggerCallbacks();
+		}

 		/**
 		 * This is used as a placeholder to prevent re-compiling erroneous code.


now removing error codes from error messages when debugger player is not installed.

--- WeaveCore/src/weave/utils/fixErrorMessage.as
+++ WeaveCore/src/weave/utils/fixErrorMessage.as
@@ -9,7 +9,7 @@
 	public function fixErrorMessage(error:Error):void
 	{
 		if (!Capabilities.isDebugger && error.message == "Error #" + error.errorID && FlashErrorCodes[error.errorID])
-			error.message += ": " + FlashErrorCodes[error.errorID] + ". For better error messages, install the debugger version of Flash Player.";
+			error.message = FlashErrorCodes[error.errorID] + ". For better error messages, install the debugger version of Flash Player.";
 	}
 }

@@ -157,7 +157,7 @@
 	"2028": "Local-with-filesystem SWF file cannot access Internet URL",
 	"2029": "This URLStream object does not have a stream opened",
 	"2031": "Socket Error",
-	"2032": "Stream Error",
+	"2032": "Unable to download required resource", // Stream Error
 	"2033": "Key Generation Failed",
 	"2034": "An invalid digest was supplied",
 	"2035": "URL Not Found",


fixing compiler warning

fixing compiler warning

--- WeaveJS/src/weavejs/net/WeaveAdminService.as
+++ WeaveJS/src/weavejs/net/WeaveAdminService.as
@@ -15,23 +15,19 @@

 package weavejs.net
 {
-	import weavejs.net.URLRequest;
-	import weavejs.net.RequestMethod;
-	import weavejs.util.JSByteArray;
-
-	import weavejs.util.WeavePromise;
-
 	import weavejs.api.net.IWeaveEntityManagementService;
 	import weavejs.api.net.beans.Entity;
 	import weavejs.api.net.beans.EntityHierarchyInfo;
 	import weavejs.api.net.beans.EntityMetadata;
-	import weavejs.util.JS;
-	import weavejs.util.StandardLib;
 	import weavejs.core.CallbackCollection;
 	import weavejs.core.LinkableBoolean;
 	import weavejs.net.beans.ConnectionInfo;
 	import weavejs.net.beans.DatabaseConfigInfo;
 	import weavejs.net.beans.WeaveFileInfo;
+	import weavejs.util.JS;
+	import weavejs.util.JSByteArray;
+	import weavejs.util.StandardLib;
+	import weavejs.util.WeavePromise;

 	/**
 	 * The functions in this class correspond directly to Weave servlet functions written in Java.
@@ -305,7 +301,7 @@
 			//fixErrorMessage(event.fault);
 			if (PREVENT_FAULT_ALERT.has(query))
 			{
-				PREVENT_FAULT_ALERT.delete(query);
+				PREVENT_FAULT_ALERT['delete'](query);
 				return;
 			}


Transferred from the Adobe Open Source Subversion Repository

Revision: 8031
Author:   egeorgie@adobe.com
Date:     2009-06-20T01:10:03.288554Z

Log Message:
-----------
Scrub the TODOs in the framework, convert to FIXMEs in the new convention and assigning an owner.

Doc Notes: N/A
Bugs: N/A
Reviewer: Deepa
tests: build, checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/StrokedElement.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/development/eclipse/flex/flex4test/src/layouts/WheelLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.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/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Timeline.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/VolumeBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HSlider.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/collections/ModifiedCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ErrorSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.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/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.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/flex4/src/spark/effects/supportClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectTargetFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/BitmapUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutElementHelper.as</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/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/StreamingVideoSource.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PropertyChanges.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RemoveActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/pathSegments/LineSegment.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/flex4/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<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/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.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/flex4/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.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/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as
@@ -74,7 +74,7 @@
  */
 [SkinState("disabledAndSelected")]

-// TODO EGeorgie: figure out whether we need this?
+// FIXME (egeorgie): figure out whether we need this?
 [DefaultBindingProperty(source="selected", destination="label")]

 /**


Fixed missing undo action for importing a model.

--- Bin/Data/Scripts/Editor/EditorImport.as
+++ Bin/Data/Scripts/Editor/EditorImport.as
@@ -41,6 +41,11 @@
         newNode.position = GetNewNodePosition();
         newModel.model = cache.GetResource("Model", modelName);
         ApplyMaterialList(newModel);
+
+        // Create an undo action for the create
+        CreateNodeAction action;
+        action.Define(newNode);
+        SaveEditAction(action);

         FocusNode(newNode);
     }