Change back to my relay, not an alternative bridge, now that hibernation is turned off on the relay.

--- swfcat.as
+++ swfcat.as
@@ -14,11 +14,10 @@

     public class swfcat extends Sprite
     {
-        /* David's bridge (nickname eRYaZuvY02FpExln) that also serves a
+        /* David's relay (nickname 3VXRyxz67OeRoqHn) that also serves a
            crossdomain policy. */
         private const DEFAULT_TOR_ADDR:Object = {
-            // host: "173.255.221.44", 3VXRyxz67OeRoqHn
-            host: "69.164.193.231",
+            host: "173.255.221.44",
             port: 9001
         };
         private const DEFAULT_FACILITATOR_ADDR:Object = {


unpackage native extensions when compiling with Animate

--- src/ASConfigC.as
+++ src/ASConfigC.as
@@ -94,6 +94,7 @@
 			if(this._animateFile)
 			{
 				this.compileAnimateFile();
+				this.prepareNativeExtensions();
 			}
 			else
 			{


OFC-395 Always show minCount instances of attrib/entity in UI; do not allow remove

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/presenter/EntityFormPresenter.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/presenter/EntityFormPresenter.as
@@ -1,158 +1,157 @@
-package org.openforis.collect.presenter
-{
-	import flash.events.Event;
-	import flash.events.FocusEvent;
-	import flash.events.MouseEvent;
-
-	import mx.binding.utils.ChangeWatcher;
-	import mx.collections.IList;
-	import mx.rpc.AsyncResponder;
-	import mx.rpc.events.ResultEvent;
-
-	import org.openforis.collect.Application;
-	import org.openforis.collect.client.ClientFactory;
-	import org.openforis.collect.event.ApplicationEvent;
-	import org.openforis.collect.model.proxy.EntityProxy;
-	import org.openforis.collect.remoting.service.UpdateRequest;
-	import org.openforis.collect.remoting.service.UpdateRequestOperation;
-	import org.openforis.collect.remoting.service.UpdateRequestOperation$Method;
-	import org.openforis.collect.ui.component.detail.EntityFormContainer;
-	import org.openforis.collect.util.AlertUtil;
-	import org.openforis.collect.util.CollectionUtil;
-	import org.openforis.collect.util.UIUtil;
-
-	import spark.events.IndexChangeEvent;
-
-	/**
-	 *
-	 * @author S. Ricci
-	 *
-	 */
-	public class EntityFormPresenter extends AbstractPresenter {
-
-		protected var _view:EntityFormContainer;
-
-		public function EntityFormPresenter(view:EntityFormContainer) {
-			_view = view;
-
-			super();
-
-			updateView();
-		}
-
-		override internal function initEventListeners():void {
-			super.initEventListeners();
-
-			ChangeWatcher.watch(_view, "parentEntity", parentEntityChangeHandler);
-
-			if(_view.entityDefinition != null && _view.entityDefinition.multiple) {
-				_view.addButton.addEventListener(MouseEvent.CLICK, addButtonClickHandler);
-				_view.addButton.addEventListener(FocusEvent.FOCUS_IN, buttonFocusInHandler);
-				_view.deleteButton.addEventListener(MouseEvent.CLICK, deleteButtonClickHandler);
-				_view.deleteButton.addEventListener(FocusEvent.FOCUS_IN, buttonFocusInHandler);
-				_view.dropDownList.addEventListener(IndexChangeEvent.CHANGE, dropDownListChangeHandler);
-			}
-		}
-
-		protected function parentEntityChangeHandler(event:Event):void {
-			updateView();
-		}
-
-		protected function updateView():void {
-			if(_view.entityDefinition != null) {
-				var entities:IList = getEntities();
-				if(_view.entityDefinition.multiple) {
-					_view.entities = entities;
-					selectEntity(null);
-					selectFirstTab();
-				} else if(CollectionUtil.isNotEmpty(entities)) {
-					_view.entity = entities.getItemAt(0) as EntityProxy;
-				}
-			}
-		}
-
-		protected function getEntities():IList {
-			var entities:IList = null;
-			if(_view.parentEntity != null && _view.entityDefinition != null) {
-				entities = _view.parentEntity.getChildren(_view.entityDefinition.name);
-				for each (var entity:EntityProxy in entities) {
-					entity.definition = _view.entityDefinition;
-					entity.updateKeyText();
+package org.openforis.collect.presenter
+{
+	import flash.events.Event;
+	import flash.events.FocusEvent;
+	import flash.events.MouseEvent;
+
+	import mx.binding.utils.ChangeWatcher;
+	import mx.collections.IList;
+	import mx.rpc.AsyncResponder;
+	import mx.rpc.events.ResultEvent;
+
+	import org.openforis.collect.Application;
+	import org.openforis.collect.client.ClientFactory;
+	import org.openforis.collect.event.ApplicationEvent;
+	import org.openforis.collect.model.proxy.EntityProxy;
+	import org.openforis.collect.remoting.service.UpdateRequest;
+	import org.openforis.collect.remoting.service.UpdateRequestOperation;
+	import org.openforis.collect.remoting.service.UpdateRequestOperation$Method;
+	import org.openforis.collect.ui.component.detail.EntityFormContainer;
+	import org.openforis.collect.util.AlertUtil;
+	import org.openforis.collect.util.CollectionUtil;
+	import org.openforis.collect.util.UIUtil;
+
+	import spark.events.IndexChangeEvent;
+
+	/**
+	 *
+	 * @author S. Ricci
+	 *
+	 */
+	public class EntityFormPresenter extends AbstractPresenter {
+
+		protected var _view:EntityFormContainer;
+
+		public function EntityFormPresenter(view:EntityFormContainer) {
+			_view = view;
+
+			super();
+
+			updateView();
+		}
+
+		override internal function initEventListeners():void {
+			super.initEventListeners();
+
+			ChangeWatcher.watch(_view, "parentEntity", parentEntityChangeHandler);
+
+			if(_view.entityDefinition != null && _view.entityDefinition.multiple) {
+				_view.addButton.addEventListener(MouseEvent.CLICK, addButtonClickHandler);
+				_view.addButton.addEventListener(FocusEvent.FOCUS_IN, buttonFocusInHandler);
+				_view.deleteButton.addEventListener(MouseEvent.CLICK, deleteButtonClickHandler);
+				_view.deleteButton.addEventListener(FocusEvent.FOCUS_IN, buttonFocusInHandler);
+				_view.dropDownList.addEventListener(IndexChangeEvent.CHANGE, dropDownListChangeHandler);
+			}
+		}
+
+		protected function parentEntityChangeHandler(event:Event):void {
+			updateView();
+		}
+
+		protected function updateView():void {
+			if(_view.entityDefinition != null) {
+				var entities:IList = getEntities();
+				if(_view.entityDefinition.multiple) {
+					_view.entities = entities;
+					selectEntity(null);
+					selectFirstTab();
+				} else if(CollectionUtil.isNotEmpty(entities)) {
+					_view.entity = entities.getItemAt(0) as EntityProxy;
 				}
-			}
-			return entities;
-		}
-
-		protected function buttonFocusInHandler(event:FocusEvent):void {
-			UIUtil.ensureElementIsVisible(event.target);
-		}
-
-		protected function addButtonClickHandler(event:MouseEvent):void {
-			var o:UpdateRequestOperation = new UpdateRequestOperation();
-			o.method = UpdateRequestOperation$Method.ADD;
-			o.parentEntityId = _view.parentEntity.id;
-			o.nodeName = _view.entityDefinition.name;
-			var req:UpdateRequest = new UpdateRequest(o);
-			ClientFactory.dataClient.updateActiveRecord(req, addResultHandler, faultHandler);
-		}
-
-		protected function deleteButtonClickHandler(event:MouseEvent):void {
-			AlertUtil.showConfirm("global.confirmDelete", [_view.entityDefinition.getLabelText()],
-				"global.confirmAlertTitle", performDeletion);
-		}
-
-		protected function performDeletion():void {
-			var o:UpdateRequestOperation = new UpdateRequestOperation();
-			o.method = UpdateRequestOperation$Method.DELETE;
-			o.parentEntityId = _view.parentEntity.id;
-			o.nodeId = _view.entity.id;
-			var req:UpdateRequest = new UpdateRequest(o);
-			ClientFactory.dataClient.updateActiveRecord(req, deleteResultHandler, faultHandler);
-		}
-
-		protected function addResultHandler(event:ResultEvent, token:Object = null):void {
-			//select the inserted entity
-			_view.callLater(function():void {
-				var entities:IList = getEntities();
-				var lastEntity:EntityProxy = entities.getItemAt(entities.length -1) as EntityProxy;
-				selectEntity(lastEntity);
-			});
-		}
-
-		protected function deleteResultHandler(event:ResultEvent, token:Object = null):void {
-			var responses:IList = IList(event.result);
-			Application.activeRecord.update(responses);
-			var appEvt:ApplicationEvent = new ApplicationEvent(ApplicationEvent.UPDATE_RESPONSE_RECEIVED);
-			appEvt.result = responses;
-			eventDispatcher.dispatchEvent(appEvt);
-		}
-
-		protected function dropDownListChangeHandler(event:IndexChangeEvent):void {
-			var entity:EntityProxy = _view.dropDownList.selectedItem as EntityProxy;
-			selectEntity(entity);
-		}
-
-		protected function selectEntity(entity:EntityProxy):void {
-			_view.dropDownList.selectedItem = entity;
-			_view.entity = entity;
-			if(entity != null) {
-				if(_view.internalContainer.visible) {
-					//internal container already visible, call programmatically the showEffect
-					_view.showFormEffect.play([_view.internalContainer]);
-				} else {
-					_view.internalContainer.visible = true;
-					selectFirstTab();
-				}
-			} else if(_view.entityDefinition == null || _view.entityDefinition.multiple) {
-				_view.internalContainer.visible = false;
-			}
-		}
-
-		protected function selectFirstTab():void {
-			_view.resetScrollbars();
-			if(_view.tabBar != null) {
-				_view.tabBar.selectedIndex = 0;
-			}
-		}
-	}
+			}
+		}
+
+		protected function getEntities():IList {
+			var entities:IList = null;
+			if(_view.parentEntity != null && _view.entityDefinition != null) {
+				entities = _view.parentEntity.getChildren(_view.entityDefinition.name);
+				for each (var entity:EntityProxy in entities) {
+					entity.definition = _view.entityDefinition;
+					entity.updateKeyText();
+				}
+			}
+			return entities;
+		}
+
+		protected function buttonFocusInHandler(event:FocusEvent):void {
+			UIUtil.ensureElementIsVisible(event.target);
+		}
+
+		protected function addButtonClickHandler(event:MouseEvent):void {
+			var o:UpdateRequestOperation = new UpdateRequestOperation();
+			o.method = UpdateRequestOperation$Method.ADD;
+			o.parentEntityId = _view.parentEntity.id;
+			o.nodeName = _view.entityDefinition.name;
+			var req:UpdateRequest = new UpdateRequest(o);
+			ClientFactory.dataClient.updateActiveRecord(req, addResultHandler, faultHandler);
+		}
+
+		protected function deleteButtonClickHandler(event:MouseEvent):void {
+			AlertUtil.showConfirm("global.confirmDelete", [_view.entityDefinition.getLabelText()],
+				"global.confirmAlertTitle", performDeletion);
+		}
+
+		protected function performDeletion():void {
+			var o:UpdateRequestOperation = new UpdateRequestOperation();
+			o.method = UpdateRequestOperation$Method.DELETE;
+			o.parentEntityId = _view.parentEntity.id;
+			o.nodeId = _view.entity.id;
+			var req:UpdateRequest = new UpdateRequest(o);
+			ClientFactory.dataClient.updateActiveRecord(req, deleteResultHandler, faultHandler);
+		}
+
+		protected function addResultHandler(event:ResultEvent, token:Object = null):void {
+			//select the inserted entity
+			_view.callLater(function():void {
+				var entities:IList = getEntities();
+				var lastEntity:EntityProxy = entities.getItemAt(entities.length -1) as EntityProxy;
+				selectEntity(lastEntity);
+			});
+		}
+
+		protected function deleteResultHandler(event:ResultEvent, token:Object = null):void {
+			var responses:IList = IList(event.result);
+			var appEvt:ApplicationEvent = new ApplicationEvent(ApplicationEvent.UPDATE_RESPONSE_RECEIVED);
+			appEvt.result = responses;
+			eventDispatcher.dispatchEvent(appEvt);
+		}
+
+		protected function dropDownListChangeHandler(event:IndexChangeEvent):void {
+			var entity:EntityProxy = _view.dropDownList.selectedItem as EntityProxy;
+			selectEntity(entity);
+		}
+
+		protected function selectEntity(entity:EntityProxy):void {
+			_view.dropDownList.selectedItem = entity;
+			_view.entity = entity;
+			if(entity != null) {
+				if(_view.internalContainer.visible) {
+					//internal container already visible, call programmatically the showEffect
+					_view.showFormEffect.play([_view.internalContainer]);
+				} else {
+					_view.internalContainer.visible = true;
+					selectFirstTab();
+				}
+			} else if(_view.entityDefinition == null || _view.entityDefinition.multiple) {
+				_view.internalContainer.visible = false;
+			}
+		}
+
+		protected function selectFirstTab():void {
+			_view.resetScrollbars();
+			if(_view.tabBar != null) {
+				_view.tabBar.selectedIndex = 0;
+			}
+		}
+	}
 }


Code clean

Code clean

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/presenter/InputFieldPresenter.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/presenter/InputFieldPresenter.as
@@ -15,7 +15,6 @@
 	import org.openforis.collect.event.InputFieldEvent;
 	import org.openforis.collect.event.NodeEvent;
 	import org.openforis.collect.metamodel.proxy.AttributeDefinitionProxy;
-	import org.openforis.collect.model.CollectRecord$Step;
 	import org.openforis.collect.model.FieldSymbol;
 	import org.openforis.collect.model.proxy.AttributeProxy;
 	import org.openforis.collect.model.proxy.EntityProxy;
@@ -346,29 +345,29 @@
 					undoLastChange();
 					break;
 				case Keyboard.DOWN:
-					setFocusOnNextAttribute();
+					setFocusOnNextSiblingEntity();
 					break;
 				case Keyboard.UP:
-					setFocusOnPreviousAttribute();
+					setFocusOnPreviousSiblingEntity();
 					break;
 				case Keyboard.PAGE_DOWN:
-					setFocusOnNextAttribute(10);
+					setFocusOnNextSiblingEntity(10);
 					break;
 				case Keyboard.PAGE_UP:
-					setFocusOnPreviousAttribute(10);
+					setFocusOnPreviousSiblingEntity(10);
 					break;
 			}
 		}

-		protected function setFocusOnNextAttribute(offset:int = 1):void {
-			setFocusOnSiblingEntityChild(offset);
-		}
-
-		protected function setFocusOnPreviousAttribute(offset:int = 1):void {
-			setFocusOnSiblingEntityChild(- offset);
-		}
-
-		protected function setFocusOnSiblingEntityChild(offset:int):void {
+		protected function setFocusOnNextSiblingEntity(offset:int = 1):void {
+			setFocusOnSiblingEntity(offset);
+		}
+
+		protected function setFocusOnPreviousSiblingEntity(offset:int = 1):void {
+			setFocusOnSiblingEntity(- offset);
+		}
+
+		protected function setFocusOnSiblingEntity(offset:int):void {
 			var attributeName:String = _view.attributeDefinition.name
 			if ( _view.attributeDefinition is AttributeDefinitionProxy && ! _view.attributeDefinition.multiple ) {
 				var entity:EntityProxy = EntityProxy(_view.parentEntity.getSibling(offset));


Removed import to charts that is no longer included in OpenPyro core.

--- examples/OpenPyroExample/src/OpenPyroExample.as
+++ examples/OpenPyroExample/src/OpenPyroExample.as
@@ -1,5 +1,4 @@
 package {
-	import org.openPyro.charts.VBarChart;
 	import org.openPyro.controls.*;
 	import org.openPyro.core.*;
 	import org.openPyro.layout.*;


Transferred from the Adobe Open Source Subversion Repository

Revision: 17520
Author:   hmuller@adobe.com
Date:     2010-08-30T20:47:16.318727Z

Log Message:
-----------
Added support for dataTips: Grid/DataGrid showDataTips, dataTipField, and dataTipFunction properties.

QE notes: Should have no affect on existing code.
Doc notes:
Bugs: SDK-27063
Reviewer: Darrell
Tests run: checkin, mustella cyclone
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridColumn.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/skins/spark/DefaultGridItemRenderer.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridItemRenderer.as
@@ -11,11 +11,16 @@

 package spark.components.supportClasses
 {
+import flash.display.DisplayObject;
 import flash.events.Event;
 import flash.geom.Point;
-
+import flash.geom.Rectangle;
+
+import mx.core.IToolTip;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
+import mx.events.ToolTipEvent;
+import mx.managers.ISystemManager;

 import spark.components.Group;
 import spark.components.IGridItemRenderer;
@@ -54,6 +59,8 @@
         super();

         setCurrentStateNeeded = true;
+
+        addEventListener(ToolTipEvent.TOOL_TIP_SHOW, toolTipShowHandler);
     }

     //--------------------------------------------------------------------------
@@ -477,6 +484,28 @@
     }

     /**
+     *  @private
+     */
+    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        super.updateDisplayList(width, height);
+
+        // If the effective value of showDataTips has changed for this column, then
+        // set the renderer's tooltTip property to a placeholder.  The real tooltip
+        // text is computed in the TOOL_TIP_SHOW handler below.
+
+        // TBD(hmuller) - this code should be common with DefaultGridItemRenderer
+
+        const showDataTips:Boolean = column.getShowDataTips();
+        const dataTip:String = toolTip;
+        if (showDataTips && !dataTip)
+            toolTip = "<dataTip>";
+        else if (!showDataTips && dataTip)
+            toolTip = null;
+    }
+
+
+    /**
      *  @inheritDoc
      */
     public function prepare(willBeRecycled:Boolean):void
@@ -488,6 +517,38 @@
      */
     public function discard(hasBeenRecycled:Boolean):void
     {
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Event Handlers
+    //
+    //--------------------------------------------------------------------------
+
+    // TBD(hmuller) - this code should be common with DefaultGridItemRenderer
+    private function toolTipShowHandler(event:ToolTipEvent):void
+    {
+        var toolTip:IToolTip = event.toolTip;
+
+        toolTip.text = column.itemToDataTip(data);  // Lazily compute the tooltip text
+
+        // Move the origin of the tooltip to the origin of this item renderer
+
+        var sm:ISystemManager = systemManager.topLevelSystemManager;
+        var sbRoot:DisplayObject = sm.getSandboxRoot();
+        var screen:Rectangle = sm.getVisibleApplicationRect(null, true);
+        var pt:Point = new Point(0, 0);
+        pt = localToGlobal(pt);
+        pt = sbRoot.globalToLocal(pt);
+
+        toolTip.move(pt.x, Math.round(pt.y + (height - toolTip.height) / 2));
+
+        var screenRight:Number = screen.x + screen.width;
+        pt.x = toolTip.x;
+        pt.y = toolTip.y;
+        pt = sbRoot.localToGlobal(pt);
+        if (pt.x + toolTip.width > screenRight)
+            toolTip.move(toolTip.x - (pt.x + toolTip.width - screenRight), toolTip.y);
     }
 }
 }


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

--- frameworks/projects/framework/src/mx/containers/utilityClasses/ConstraintRow.as
+++ frameworks/projects/framework/src/mx/containers/utilityClasses/ConstraintRow.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 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 mx.containers.utilityClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3973
Author:   rfrishbe@adobe.com
Date:     2008-10-30T20:30:13.007923Z

Log Message:
-----------
Adding IVisualContainer interface.  Group, FxContainer, and FxScroller implement this interface now.  Added owner and parent to IVisualItem.  GraphicElement and UIComponent implement this interface--work had to be done in GraphicElement to do this.  In doing so, elementHost is going to be renamed to parent.  For now, I added parent in GraphicElement and left elementHost in there; however, it is removed from IGraphicElement.  I’ve removed all references to elementHost in our code; however, I think mustella needs to be updated as do mustella tests, so I’m not going to remove elementHost until later.

Most of the changes here are name changes dealing with "elementHost" -> "parent".  If we decide that Gumbo components only support IVisualItems, we should clean up some of the code, but for now, I kept any assumptions that were in the original code (meaning we may be able to support DisplayObjects and old definitions of UIComponents/IUIComponents that aren’t IVisualItems).

I ran checkin tests, Group mustella tests, DataGroup mustella tests, FxContainer mustella tests, graphic tags tests, and all effects Mustella tests.

QE Notes: We will need to update mustella and mustella tests to use elementHost rather than parent.  We can also update mustella to use IVisualContainer rather than what it's doing now.  However, let's wait on these changes for now.  I'll send out an email when we're ready to make these changes and remove elementHost from GraphicElement.
Doc Notes: None
Bugs: -
Reviewer: Chet

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/IVisualContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/RemoveActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/RemoveAction.as</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/frameworks/projects/flex4/src/mx/effects/effectClasses/FxFadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxFade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IUIComponent.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/effects/effectClasses/FxAnimate3DInstance.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/flex4/src/mx/effects/effectClasses/FxAnimateInstance.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/projects/flex4/src/mx/graphics/IGraphicElement.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/effects/effectClasses/AddActionInstance.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/flex4/src/mx/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AddActionInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AddActionInstance.as
@@ -47,12 +47,6 @@
 	public function AddActionInstance(target:Object)
 	{
 		super(target);
-        try {
-            target.parent;
-            hasParent = true;
-        } catch (e:Error) {
-            hasParent = false;
-        }
 	}

 	//--------------------------------------------------------------------------
@@ -60,8 +54,6 @@
 	//  Properties
 	//
 	//--------------------------------------------------------------------------
-
-	private var hasParent:Boolean;

 	//----------------------------------
 	//  index
@@ -98,42 +90,39 @@

 	private function getContainer(child:*):*
 	{
-	    if (hasParent)
-	       return child.parent;
-	    else
-	       return child.elementHost;
+	   return child.parent;
 	}

     private function addChild(container:*, child:*):void
     {
-        if (hasParent && !(container is Group))
+        if (container is Group)
+           container.addItem(child);
+        else
            container.addChild(child);
-        else
-           container.addItem(child);
     }

     private function removeChild(container:*, child:*):void
     {
-        if (hasParent && !(container is Group))
+        if (container is Group)
+           container.removeItem(child);
+        else
            container.removeChild(child);
-        else
-           container.removeItem(child);
     }

     private function addChildAt(container:*, child:*, index:int):void
     {
-        if (hasParent && !(container is Group))
+        if (container is Group)
+           container.addItemAt(child, index);
+        else
            container.addChildAt(child, index);
-        else
-           container.addItemAt(child, index);
     }

     private function getChildIndex(container:*, child:*):int
     {
-        if (hasParent && !(container is Group))
+        if (container is Group)
+           return container.getItemIndex(child);
+        else
            return container.getChildIndex(child);
-        else
-           return container.getItemIndex(child);
     }

 	/**
@@ -141,13 +130,6 @@
 	 */
 	override public function play():void
 	{
-	    try {
-	        target.parent;
-	        hasParent = true;
-	    } catch (e:Error) {
-	        hasParent = false;
-	    }
-
 		// Dispatch an effectStart event from the target.
 		super.play();


Fixed package

Fixed package

--- WeaveData/src/weave/primitives/Bounds2DIndex.as
+++ WeaveData/src/weave/primitives/Bounds2DIndex.as
@@ -17,7 +17,7 @@
 along with Weave.  If not, see <http://www.gnu.org/licenses/>.
 */

-package weave.utils
+package weave.primitives
 {
 	import flash.utils.Dictionary;


??bug?tagID????3?

--- as3/com/netease/protobuf/BaseFieldDescriptor.as
+++ as3/com/netease/protobuf/BaseFieldDescriptor.as
@@ -21,7 +21,7 @@
 		}
 		protected var tag:uint
 		public final function get tagNumber():uint {
-			return tag >>> 7
+			return tag >>> 3
 		}
 		public function get type():Class {
 			throw new IllegalOperationError("Not Implemented!")


Transferred from the Adobe Open Source Subversion Repository

Revision: 19899
Author:   deeptika@adobe.com
Date:     2011-01-24T10:10:23.738979Z

Log Message:
-----------
Adding special handling for spark labels in charts

QE notes:
Doc notes:
Bugs: FLEXDMV-2552 (Axis labels have been displaced due to the use of spark labels in charts)
FLEXDMV-2551 (There is a major displacement in axis labels, when layoutDirection is set to rtl.)
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/series/BarSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/AxisRenderer.as</path>

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

--- frameworks/projects/charts/src/mx/charts/AxisRenderer.as
+++ frameworks/projects/charts/src/mx/charts/AxisRenderer.as
@@ -40,6 +40,7 @@
 import mx.core.IFlexModuleFactory;
 import mx.core.IUIComponent;
 import mx.core.IUITextField;
+import mx.core.LayoutDirection;
 import mx.core.UIComponent;
 import mx.core.UITextField;
 import mx.core.UITextFormat;
@@ -3101,7 +3102,11 @@

                 r = -_labelPlacement.rotation / Math.PI * 180;
                 labelY = baseline + labelGap;
-
+				var sparkLabelClass:Class;
+				if(ApplicationDomain.currentDomain.getDefinition("spark.components.Label"))
+				{
+					sparkLabelClass = Class(ApplicationDomain.currentDomain.getDefinition("spark.components.Label"));
+				}
                 for (i = 0; i < n; i++)
                 {
                     ldi = _labels[i];
@@ -3116,6 +3121,12 @@
 					ldi.instance.y = labelY +
 									 ldi.width * scale * s -
 									 ldi.height * alignOffset * scale * c;
+
+					if(sparkLabelClass && ldi.instance is sparkLabelClass && layoutDirection == LayoutDirection.RTL)
+					{
+						ldi.instance.x = ldi.instance.x - ldi.width;
+						ldi.instance.y = ldi.instance.y - ldi.width;
+					}
                 }

                 labelBottom = labelY + _maxRotatedLabelHeight;
@@ -3225,8 +3236,7 @@
                                          ldi.height * alignOffset * scale * s +
                                          ldi.width * scale * c;
                     }
-
-                    labelBottom = labelY + _maxRotatedLabelHeight;
+					labelBottom = labelY + _maxRotatedLabelHeight;
                 }
             }
         }
@@ -3246,6 +3256,11 @@
         var showLabelsStyle:Object = getStyle("showLabels");
         var showLabels:Boolean = showLabelsStyle != false &&
                                  showLabelsStyle != "false";
+		var sparkLabelClass:Class;
+		if(ApplicationDomain.currentDomain.getDefinition("spark.components.Label"))
+		{
+			sparkLabelClass = Class(ApplicationDomain.currentDomain.getDefinition("spark.components.Label"));
+		}

         if (showLabels == false)
         {
@@ -3263,7 +3278,11 @@
                     labelData.instance = _labelCache.instances[visCount++];
 					var label:Object = labelData.instance;// as Label;
                     label.text = labelData.text;
-
+					if(sparkLabelClass && labelData.instance is sparkLabelClass)
+					{
+						label.setStyle("paddingTop", 5);
+						label.setStyle("paddingLeft", 2);
+					}
                     labelData.instance.width = labelData.width;
                     labelData.instance.height = labelData.height;
                 }


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

--- frameworks/projects/framework/src/mx/controls/ToolTip.as
+++ frameworks/projects/framework/src/mx/controls/ToolTip.as
@@ -0,0 +1,404 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.controls
+{
+
+import flash.display.DisplayObject;
+import flash.text.TextFieldAutoSize;
+import flash.text.TextFormat;
+import mx.core.EdgeMetrics;
+import mx.core.IBorder;
+import mx.core.IFlexDisplayObject;
+import mx.core.IFlexModuleFactory;
+import mx.core.IFontContextComponent;
+import mx.core.IToolTip;
+import mx.core.IUITextField;
+import mx.core.UIComponent;
+import mx.core.UITextField;
+import mx.core.mx_internal;
+import mx.styles.ISimpleStyleClient;
+
+use namespace mx_internal;
+
+//--------------------------------------
+//  Styles
+//--------------------------------------
+
+/*
+    Note: ToolTip is affected by the following styles:
+
+    backgroundColor
+    borderColor
+    borderStyle
+    color
+    fontFamily
+    fontSize
+    fontStyle
+    fontWidth
+    paddingBottom
+    paddingLeft
+    paddingRight
+    paddingTop
+    shadowColor (when borderStyle is "toolTip")
+    textAlign
+    textDecoration
+*/
+
+include "../styles/metadata/BorderStyles.as"
+include "../styles/metadata/LeadingStyle.as"
+include "../styles/metadata/PaddingStyles.as"
+include "../styles/metadata/TextStyles.as"
+
+/**
+ *  The ToolTip control lets you provide helpful information to your users.
+ *  When a user moves the mouse pointer over a graphical component, the ToolTip
+ *  control pops up and displays text that provides information about the
+ *  component.
+ *  You can use ToolTips to guide users as they work with your application
+ *  or customize the ToolTip controls to provide additional functionality.
+ *
+ *  @see mx.managers.ToolTipManager
+ *  @see mx.styles.CSSStyleDeclaration
+ */
+public class ToolTip extends UIComponent implements IToolTip, IFontContextComponent
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class properties
+    //
+    //--------------------------------------------------------------------------
+
+    [Inspectable(category="Other")]
+
+    /**
+     *  Maximum width in pixels for new ToolTip controls.
+     */
+    public static var maxWidth:Number = 300;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     */
+    public function ToolTip()
+    {
+        super();
+
+        // InteractiveObject variables.
+        // Make the ToolTip invisible to the mouse so that it doesn't
+        // interfere with the ToolTipManager's mouse-tracking.
+        mouseEnabled = false;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  The internal object that draws the border.
+     */
+    mx_internal var border:IFlexDisplayObject;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  borderMetrics
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private function get borderMetrics():EdgeMetrics
+    {
+        if (border is IBorder)
+            return IBorder(border).borderMetrics;
+
+        return EdgeMetrics.EMPTY;
+    }
+
+    //----------------------------------
+    //  fontContext
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    public function get fontContext():IFlexModuleFactory
+    {
+        return moduleFactory;
+    }
+
+    /**
+     *  @private
+     */
+    public function set fontContext(moduleFactory:IFlexModuleFactory):void
+    {
+        this.moduleFactory = moduleFactory;
+    }
+
+    //----------------------------------
+    //  text
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the text property.
+     */
+    private var _text:String;
+
+    /**
+     *  @private
+     */
+    private var textChanged:Boolean;
+
+    /**
+     *  The text displayed by the ToolTip.
+     *
+     *  @default null
+     */
+    public function get text():String
+    {
+        return _text;
+    }
+
+    /**
+     *  @private
+     */
+    public function set text(value:String):void
+    {
+        _text = value;
+        textChanged = true;
+
+        invalidateProperties();
+        invalidateSize();
+        invalidateDisplayList();
+    }
+
+    //----------------------------------
+    //  textField
+    //----------------------------------
+
+    /**
+     *  The internal UITextField that renders the text of this ToolTip.
+     */
+    protected var textField:IUITextField;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function createChildren():void
+    {
+        super.createChildren();
+
+        // Create the border/background.
+        if (!border)
+        {
+            var borderClass:Class = getStyle("borderSkin");
+            border = new borderClass();
+            if (border is ISimpleStyleClient)
+                ISimpleStyleClient(border).styleName = this;
+            addChild(DisplayObject(border));
+        }
+
+        // Create the TextField that displays the tooltip text.
+        createTextField(-1);
+    }
+
+    /**
+     *  @private
+     */
+    override protected function commitProperties():void
+    {
+        super.commitProperties();
+
+        // if the font changed and we already created the label, we will need to
+        // destory it so it can be re-created, possibly in a different swf context.
+        if (hasFontContextChanged() && textField != null)
+        {
+            var index:int = getChildIndex(DisplayObject(textField));
+            removeTextField();
+            createTextField(index);
+            invalidateSize();
+            textChanged = true;
+        }
+
+        if (textChanged)
+        {
+            // In general, we want the ToolTip style to be applied.
+            // However, we don't want leftMargin and rightMargin
+            // of the TextField's TextFormat to be set to the
+            // paddingLeft and paddingRight of the ToolTip style.
+            // We want these styles to affect the space between the
+            // TextField and the border, but not the space within
+            // the TextField.
+            var textFormat:TextFormat = textField.getTextFormat();
+            textFormat.leftMargin = 0;
+            textFormat.rightMargin = 0;
+            textField.defaultTextFormat = textFormat;
+
+            textField.text = _text;
+            textChanged = false;
+        }
+    }
+
+    /**
+     *  @private
+     */
+    override protected function measure():void
+    {
+        super.measure();
+
+        var bm:EdgeMetrics = borderMetrics;
+
+        var leftInset:Number = bm.left + getStyle("paddingLeft");
+        var topInset:Number = bm.top + getStyle("paddingTop");
+        var rightInset:Number = bm.right + getStyle("paddingRight");
+        var bottomInset:Number = bm.bottom + getStyle("paddingBottom");
+
+        var widthSlop:Number = leftInset + rightInset;
+        var heightSlop:Number = topInset + bottomInset;
+
+        textField.wordWrap = false;
+
+        if (textField.textWidth + widthSlop > ToolTip.maxWidth)
+        {
+            textField.width = ToolTip.maxWidth - widthSlop;
+            textField.wordWrap = true;
+        }
+
+        measuredWidth = textField.width + widthSlop;
+        measuredHeight = textField.height + heightSlop;
+    }
+
+    /**
+     *  @private
+     */
+    override protected function updateDisplayList(unscaledWidth:Number,
+                                                  unscaledHeight:Number):void
+    {
+        super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+        var bm:EdgeMetrics = borderMetrics;
+
+        var leftInset:Number = bm.left + getStyle("paddingLeft");
+        var topInset:Number = bm.top + getStyle("paddingTop");
+        var rightInset:Number = bm.right + getStyle("paddingRight");
+        var bottomInset:Number = bm.bottom + getStyle("paddingBottom");
+
+        var widthSlop:Number = leftInset + rightInset;
+        var heightSlop:Number = topInset + bottomInset;
+
+        border.setActualSize(unscaledWidth, unscaledHeight);
+
+        textField.move(leftInset, topInset);
+        textField.setActualSize(unscaledWidth - widthSlop, unscaledHeight - heightSlop);
+    }
+
+    /**
+     *  @private
+     */
+    override public function styleChanged(styleProp:String):void
+    {
+        // This will take care of doing invalidateSize() if styleProp
+        // is "styleName" or a registered layout style such as "borderStyle".
+        super.styleChanged(styleProp);
+
+        // However, if the borderStyle changes from "errorTipAbove" to
+        // "errorTipBelow" or vice versa, the measured size won't change.
+        // (The pointy part of the skin simply changes from the bottom
+        // to the top or vice versa.) This means that the LayoutManager
+        // won't call updateDisplayList() because the size hasn't changed.
+        // But the TextField has to be repositioned, so we need to
+        // invalidate the layout as well as the size.
+        if (styleProp == "borderStyle" ||
+            styleProp == "styleName" ||
+            styleProp == null)
+        {
+            invalidateDisplayList();
+        }
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Creates the text field child and adds it as a child of this component.
+     *
+     *  @param childIndex The index of where to add the child.
+     *  If -1, the text field is appended to the end of the list.
+     */
+    mx_internal function createTextField(childIndex:int):void
+    {
+        if (!textField)
+        {
+            textField = IUITextField(createInFontContext(UITextField));
+
+            textField.autoSize = TextFieldAutoSize.LEFT;
+            textField.mouseEnabled = false;
+            textField.multiline = true;
+            textField.selectable = false;
+            textField.wordWrap = false;
+            textField.styleName = this;
+
+            if (childIndex == -1)
+                addChild(DisplayObject(textField));
+            else
+                addChildAt(DisplayObject(textField), childIndex);
+        }
+    }
+
+    /**
+     *  @private
+     *  Removes the text field from this component.
+     */
+    mx_internal function removeTextField():void
+    {
+        if (textField)
+        {
+            removeChild(DisplayObject(textField));
+            textField = null;
+        }
+    }
+
+
+    /**
+     *  @private
+     */
+    mx_internal function getTextField():IUITextField
+    {
+        return textField;
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 4802
Author:   egeorgie@adobe.com
Date:     2009-02-02T23:03:09.238055Z

Log Message:
-----------
Fix bug SDK-17415 Changing rotation on UIComponent triggers invalidateParentSizeAndDisplayList even in compatibility mode.

Fix: If we're in compatibility mode, simply call super.rotation and return.

QE Notes: None
Doc Notes: None
Bugs: SDK-17415
Reviewer: Ryan
tests: checkintests

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -1674,6 +1674,8 @@
      */
     override public function get rotation():Number
     {
+        if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
+            return super.rotation;
         return (_layoutFeatures == null)? super.rotation:_layoutFeatures.layoutRotationZ;
     }

@@ -1682,9 +1684,15 @@
      */
     override public function set rotation(value:Number):void
     {
+        if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
+        {
+            super.rotation = value;
+            return;
+        }
+
         if (rotation == value)
             return;
-
+
         hasDeltaIdentityTransform = false;
         if(_layoutFeatures == null)
         {


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

--- frameworks/projects/rpc/src/mx/messaging/MessageAgent.as
+++ frameworks/projects/rpc/src/mx/messaging/MessageAgent.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-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 mx.messaging
 {


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

--- frameworks/projects/rpc/src/mx/messaging/MessageAgent.as
+++ frameworks/projects/rpc/src/mx/messaging/MessageAgent.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-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 mx.messaging
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 4032
Author:   hmuller@adobe.com
Date:     2008-11-06T21:47:20.290379Z

Log Message:
-----------
Performance tweaks for GroupBase, VGroup, and HGroup.

GroupBase workaround for a FP bug
(http://frpbugapp.macromedia.com/bugapp/detail.asp?ID=239120).  Ignore
attempts to reset the DisplayObject scrollRect property to null (its
default value) if we've never set it.  Similarly, don't read the
DisplayObject scrollRect property if its value has not been set.

Changed event redisptaching in VGroup, HGroup: only add listeners
to the underlying layout, if a corresponding listener is added
to the V,HGroup.

QE Notes: Additional tests for HGroup, VGroup will be needed
Doc Notes: None
Bugs:
Reviewer: Ryan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/IViewport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/VGroup.as
+++ frameworks/projects/spark/src/spark/components/VGroup.as
@@ -43,10 +43,7 @@
 	public function VGroup():void
 	{
 		super();
-		var vl:VerticalLayout = new VerticalLayout();
-        vl.addEventListener("indexInViewChanged", redispatchHandler);
-        vl.addEventListener("propertyChange", redispatchHandler);
-        layout = vl;
+		layout = new VerticalLayout();
 	}

     private function get verticalLayout():VerticalLayout
@@ -191,6 +188,38 @@
     //  Event Handlers
     //
     //--------------------------------------------------------------------------
+
+    /**
+     * @private
+     */
+    override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
+    {
+        switch(type)
+        {
+            case "indexInViewChanged":
+            case "propertyChange":
+                if (!hasEventListener(type))
+                    verticalLayout.addEventListener(type, redispatchHandler);
+                break;
+        }
+        super.addEventListener(type, listener, useCapture, priority, useWeakReference)
+    }
+
+    /**
+     * @private
+     */
+    override public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
+    {
+        super.removeEventListener(type, listener, useCapture);
+        switch(type)
+        {
+            case "indexInViewChanged":
+            case "propertyChange":
+                if (!hasEventListener(type))
+                    verticalLayout.removeEventListener(type, redispatchHandler);
+                break;
+        }
+    }

     private function redispatchHandler(event:Event):void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 16575
Author:   clucier@adobe.com
Date:     2010-06-16T14:10:14.394565Z

Log Message:
-----------
Bug fix for image cache. We now use a more robust scheme for detecting when a request is 'complete'.

QE notes: None
Doc notes: None
Bugs: SDK-26709
Reviewer: Darrell
Tests run: Checkin
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/ContentRequest.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/ContentCache.as</path>

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

--- frameworks/projects/spark/src/spark/core/ContentCache.as
+++ frameworks/projects/spark/src/spark/core/ContentCache.as
@@ -352,6 +352,21 @@
             var urlRequest:URLRequest = source is URLRequest ?
                 source as URLRequest : new URLRequest(source as String);

+            // Cache our new LoaderInfo if applicable.
+            if (!cacheEntry && enableCaching)
+            {
+                addCacheEntry(key, loader.contentLoaderInfo);
+
+                // Mark entry as complete, we'll mark complete later
+                // once fully loaded.
+                var entry:CacheEntryNode = cachedData[key];
+                if (entry)
+                    entry.complete = false;
+            }
+
+            // Create ContentRequest instance to return to caller.
+            contentRequest = new ContentRequest(this, loader.contentLoaderInfo);
+
             if (enableQueueing)
             {
                 // Queue load request.
@@ -364,19 +379,14 @@
                 loaderContext.checkPolicyFile = true;
                 loader.load(urlRequest, loaderContext);
             }
-
-            // Create ContentRequest instance to return to caller.
-            contentRequest = new ContentRequest(this, loader.contentLoaderInfo);
-
-            // Now cache our new loader info if applicable.
-            if (!cacheEntry && enableCaching)
-                addCacheEntry(key, loader.contentLoaderInfo);
         }
         else
         {
-            // Found a valid cache entry. Return a content request proxy and
-            // promote in our MRU list.
-            contentRequest = new ContentRequest(this, cacheEntry.value as LoaderInfo, true);
+            // Found a valid cache entry. Create a ContentRequest instance.
+            contentRequest = new ContentRequest(this, cacheEntry.value as LoaderInfo,
+                true, cacheEntry.complete);
+
+            // Promote in our MRU list.
             var node:LinkedListNode = cacheEntries.remove(cacheEntry);
             cacheEntries.unshift(node);
         }
@@ -655,12 +665,20 @@
     {
         var loaderInfo:LoaderInfo = e.target as LoaderInfo;

-        if (e.type == Event.COMPLETE && loaderInfo && !loaderInfo.childAllowsParent)
-        {
-            // Detected that our loader cannot be shared or cached. Mark
-            // as such and notify and possibly active content requests.
-            addCacheEntry(loaderInfo.url, UNTRUSTED);
-            dispatchEvent(new LoaderInvalidationEvent(LoaderInvalidationEvent.INVALIDATE_LOADER, loaderInfo));
+        if (e.type == Event.COMPLETE && loaderInfo)
+        {
+            // Mark cache entry as complete.
+            var entry:CacheEntryNode = cachedData[loaderInfo.url];
+            if (entry)
+                entry.complete = true;
+
+            if (!loaderInfo.childAllowsParent)
+            {
+                // Detected that our loader cannot be shared or cached. Mark
+                // as such and notify and possibly active content requests.
+                addCacheEntry(loaderInfo.url, UNTRUSTED);
+                dispatchEvent(new LoaderInvalidationEvent(LoaderInvalidationEvent.INVALIDATE_LOADER, loaderInfo));
+            }
         }
         else if (e.type == IOErrorEvent.IO_ERROR || e.type == SecurityErrorEvent.SECURITY_ERROR)
         {
@@ -711,6 +729,16 @@
      *  @private
      */
     public var source:Object;
+
+    //----------------------------------
+    //  complete
+    //----------------------------------
+
+    /**
+     *  For loaded content denotes that entry is finished loading.
+     *  @private
+     */
+    public var complete:Boolean = true;
 }

 /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 19412
Author:   jasonsj@adobe.com
Date:     2010-12-15T23:54:30.560146Z

Log Message:
-----------
New TabbedViewNavigatorButtonBarSkin.
Fixed label alignment issues when using IconPlacement.BOTTOM.
Fixed disabled state (alpha) handling of Buttons.
Added DPI-specific styles to defaults.css using new CSS media query support.

QE notes: TabbedViewNavigatorButtonBarSkin is complete. Need to add tests for changing Button enabled state before/after icon changes.
Doc notes:
Bugs:
SDK-28715 Cannot size and position button correctly in i4 build.
Reviewer: jszeto
Tests run: checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<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/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/TabbedViewNavigatorButtonBarFirstButton_down.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/TabbedViewNavigatorButtonBarLastButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</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="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/TabbedViewNavigatorButtonBarFirstButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.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="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorButtonBarFirstButtonSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/TabbedViewNavigatorButtonBarLastButton_down.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/TabbedViewNavigatorButtonBarFirstButton_up.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/TabbedViewNavigatorButtonBarLastButton_up.fxg</path>
<path kind="dir" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/.settings</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorButtonBarSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ActionBarButtonSkinBase.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TabbedViewNavigatorButtonBarHorizontalLayout.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/TabbedViewNavigatorButtonBarFirstButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults320.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorButtonBarLastButtonSkin.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults160.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TabbedViewNavigatorButtonBarButtonSkinBase.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/TabbedViewNavigatorButtonBarLastButton_up.fxg</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/SkinnableContainerSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/SkinnableContainerSkin.as
@@ -12,16 +12,15 @@
 package spark.skins.mobile
 {
 import mx.core.IContainerInvalidating;
-import mx.core.IFactory;
 import mx.core.ILayoutElement;
 import mx.core.mx_internal;
 import mx.managers.ILayoutManagerContainerClient;
-use namespace mx_internal;

 import spark.components.Group;
 import spark.components.SkinnableContainer;
-import spark.components.View;
 import spark.skins.mobile.supportClasses.MobileSkin;
+
+use namespace mx_internal;

 /**
  *  ActionScript-based skin for SkinnableContainer.


Remove workaround for registering Portal URLs with named instances.

--- src/com/esri/viewer/managers/ConfigManager.as
+++ src/com/esri/viewer/managers/ConfigManager.as
@@ -16,8 +16,6 @@
 package com.esri.viewer.managers
 {

-import com.esri.ags.components.IdentityManager;
-import com.esri.ags.components.supportClasses.ServerInfo;
 import com.esri.ags.events.WebMapEvent;
 import com.esri.ags.geometry.Extent;
 import com.esri.ags.layers.ArcGISDynamicMapServiceLayer;
@@ -55,7 +53,6 @@
 import mx.rpc.events.FaultEvent;
 import mx.rpc.events.ResultEvent;
 import mx.rpc.http.HTTPService;
-import mx.utils.URLUtil;

 [Event(name="configLoaded", type="com.esri.viewer.AppEvent")]

@@ -600,20 +597,6 @@

             var portalURL:String = configXML.map.@portalurl[0] || configXML.map.@arcgissharingurl[0];
             var addArcGISBasemaps:Boolean = configXML.map.@addarcgisbasemaps[0] == "true";
-
-            if (portalURL)
-            {
-                //workaround for named Portal instance scenario.
-                var serverURL:String = URLUtil.getProtocol(portalURL) + "://" + URLUtil.getServerName(portalURL);
-                var tokenServiceURL:String = portalURL.replace(/\/sharing.+/, "") + "/sharing/generateToken";
-                tokenServiceURL = URLUtil.replaceProtocol(tokenServiceURL, "https");
-
-                var serverInfo:ServerInfo = new ServerInfo();
-                serverInfo.server = serverURL;
-                serverInfo.tokenServiceURL = tokenServiceURL;
-
-                IdentityManager.instance.registerServers([ serverInfo ]);
-            }

             if (webMapItemID)
             {


more ballistic stuff

more ballistic stuff

--- src/hype/extended/behavior/SimpleBallistic.as
+++ src/hype/extended/behavior/SimpleBallistic.as
@@ -2,6 +2,8 @@
 	import hype.framework.behavior.AbstractBehavior;
 	import hype.framework.behavior.IBehavior;
 	import hype.framework.core.HypeMath;
+
+	import flash.display.DisplayObject;

 	public class SimpleBallistic extends AbstractBehavior implements IBehavior {

@@ -27,8 +29,7 @@
 		}

 		public function run(target:Object):void {
-			var xPos:Number = getProperty("x");
-			var yPos:Number = getProperty("y");
+			var clip:DisplayObject = target as DisplayObject;

 			_xSpeed += _gravityX;
 			_ySpeed += _gravityY;
@@ -36,8 +37,8 @@
 			_xSpeed *= _friction;
 			_ySpeed *= _friction;

-			setProperty("x", xPos + _xSpeed);
-			setProperty("y", yPos + _ySpeed);
+			clip.x += _xSpeed;
+			clip.y += _ySpeed;
 		}
 	}
 }


Migration to Feathers 2.3.0

Migration to Feathers 2.3.0

--- src/justpinegames/Logi/ConsoleItemRenderer.as
+++ src/justpinegames/Logi/ConsoleItemRenderer.as
@@ -20,6 +20,7 @@
         private var _index:int;
         private var _owner:List;
         private var _isSelected:Boolean = false;
+        private var _factoryID:String = null;

         public function ConsoleItemRenderer(labelColor:int, labelColorHighlight:int)
         {
@@ -68,6 +69,9 @@

         public function get isSelected():Boolean { return _isSelected; }
         public function set isSelected(value:Boolean):void { _isSelected = value; }
+
+        public function get factoryID():String { return _factoryID; }
+        public function set factoryID(value:String):void { _factoryID = value; }

     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 16670
Author:   deeptika@adobe.com
Date:     2010-06-25T08:08:02.259649Z

Log Message:
-----------
Automation support for spark Form and Image.

QE notes: Yes. Need SDK-26784 to be fixed
Doc notes:
Bugs:
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkFormAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/manifest_automation_spark.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/AutomationSparkClasses.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkFormItemAutomationImpl.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkImageAutomationImpl.as</path>

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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkImageAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkImageAutomationImpl.as
@@ -0,0 +1,186 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2010 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.automation.delegates.components
+{
+	import flash.display.DisplayObject;
+	import flash.events.MouseEvent;
+	import flash.net.URLRequest;
+
+	import mx.automation.Automation;
+	import mx.automation.IAutomationManager;
+	import mx.automation.IAutomationObject;
+	import mx.core.EventPriority;
+
+	import spark.automation.delegates.components.supportClasses.SparkSkinnableComponentAutomationImpl;
+	import spark.components.Image;
+
+	[Mixin]
+	/**
+	 *
+	 *  Defines methods and properties required to perform instrumentation for the
+	 *  Image control.
+	 *
+	 *  @see spark.components.Image
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 2.5
+	 *  @productversion Flex 4.5
+	 *
+	 */
+	public class SparkImageAutomationImpl extends SparkSkinnableComponentAutomationImpl
+	{
+		include "../../../core/Version.as";
+
+		//--------------------------------------------------------------------------
+		//
+		//  Class methods
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Registers the delegate class for a component class with automation manager.
+		 *
+		 *  @param root The SystemManger of the application.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 2.5
+		 *  @productversion Flex 4.5
+		 */
+		public static function init(root:DisplayObject):void
+		{
+			Automation.registerDelegateClass(spark.components.Image, SparkImageAutomationImpl);
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Constructor.
+		 *  @param obj Image object to be automated.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 2.5
+		 *  @productversion Flex 4.5
+		 */
+		public function SparkImageAutomationImpl(obj:spark.components.Image)
+		{
+			super(obj);
+			obj.addEventListener(MouseEvent.CLICK, mouseClickHandler, false, EventPriority.DEFAULT + 1);
+		}
+
+		/**
+		 *  @private
+		 *  storage for the owner component
+		 */
+		protected function get image():Image
+		{
+			return uiComponent as Image;
+		}
+
+		//----------------------------------
+		//  recordClick
+		//----------------------------------
+		private var _recordClick:Boolean = true;
+
+		/**
+		 * @private
+		 */
+		override public function get recordClick():Boolean
+		{
+			return _recordClick;
+		}
+
+		/**
+		 *  @private
+		 */
+		override public function set recordClick(val:Boolean):void
+		{
+			/* we don't want to add/remove the event listeners multiple times
+			 We are overriding this property here because we want to
+			call our own mouseClickHandler*/
+			if (_recordClick != val)
+			{
+				_recordClick = val;
+				if (val)
+					image.addEventListener(MouseEvent.CLICK, mouseClickHandler);
+				else
+					image.removeEventListener(MouseEvent.CLICK, mouseClickHandler);
+			}
+		}
+
+		//----------------------------------
+		//  automationName
+		//----------------------------------
+
+		/**
+		 *  @private
+		 */
+		override public function get automationName():String
+		{
+			if (image.source is String)
+				return String(image.source);
+			if (image.source is URLRequest)
+				return URLRequest(image.source).url;
+
+			return super.automationName;
+		}
+
+		//----------------------------------
+		//  automationValue
+		//----------------------------------
+
+		/**
+		 *  @private
+		 */
+		override public function get automationValue():Array
+		{
+			if (image.source is String)
+				return [ String(image.source) ];
+
+			if (image.source is URLRequest)
+				return [ URLRequest(image.source).url ];
+
+			return null;
+		}
+
+		/**
+		 *  @private
+		 */
+		 /* We are using our own handler to take care of computing correct automation object.
+		    Otherwise event's target is ImageSkin. We want that to be Image. So we should
+		    use target's hostComponent.*/
+		private function mouseClickHandler(event:MouseEvent):void
+		{
+			var am:IAutomationManager = Automation.automationManager;
+			if (recordClick && am && am.recording)
+			{
+				var ao:IAutomationObject = null;
+				var o:Object = event.target.hostComponent;
+				while (o)
+				{
+					ao = o as IAutomationObject;
+					if (ao)
+						break;
+					o = o.parent;
+				}
+				if (ao == uiComponent)
+					recordAutomatableEvent(event, false);
+			}
+		}
+	}
+}


Context tests

Context tests

--- test/org/robotlegs/v2/context/impl/ContextTests.as
+++ test/org/robotlegs/v2/context/impl/ContextTests.as
@@ -7,8 +7,17 @@

 package org.robotlegs.v2.context.impl
 {
+	import flash.display.DisplayObjectContainer;
+	import flash.events.EventDispatcher;
+	import mx.core.UIComponent;
+	import org.flexunit.assertThat;
+	import org.flexunit.asserts.assertEquals;
+	import org.fluint.uiImpersonation.UIImpersonator;
+	import org.hamcrest.object.notNullValue;
+	import org.hamcrest.object.strictlyEqualTo;
 	import org.robotlegs.v2.core.api.IContext;
 	import org.robotlegs.v2.core.impl.Context;
+	import org.swiftsuspenders.Injector;

 	public class ContextTests
 	{
@@ -19,10 +28,34 @@

 		private var context:IContext;

+		private var contextView:DisplayObjectContainer;
+

 		/*============================================================================*/
 		/* Public Functions                                                           */
 		/*============================================================================*/
+
+		[Test]
+		public function a_default_dispatcher_should_be_used_if_none_provided():void
+		{
+			context.initialize();
+			assertThat(context.dispatcher, notNullValue());
+		}
+
+		[Test]
+		public function a_default_injector_should_be_used_if_none_provided():void
+		{
+			context.initialize();
+			assertThat(context.injector, notNullValue());
+		}
+
+		[Test]
+		public function applicationDomain_that_is_not_explicitly_set_is_determined_by_contextView_if_provided():void
+		{
+			context.contextView = contextView;
+			context.initialize();
+			assertEquals(contextView.loaderInfo.applicationDomain, context.applicationDomain);
+		}

 		[Test(expects='Error')]
 		public function destroy_should_throw_if_called_twice():void
@@ -38,11 +71,68 @@
 			context.initialize();
 		}

+		[Test]
+		public function injector_should_be_childInjector_if_parent_provided_and_no_injector_given():void
+		{
+			const parent:IContext = new Context();
+			parent.initialize();
+			context.parent = parent;
+			context.initialize();
+			assertThat(context.injector.parentInjector, strictlyEqualTo(parent.injector));
+		}

-		[Before]
+		[Test]
+		public function provided_dispatcher_should_be_used():void
+		{
+			const providedDispatcher:EventDispatcher = new EventDispatcher();
+			context.dispatcher = providedDispatcher;
+			context.initialize();
+			assertThat(context.dispatcher, strictlyEqualTo(providedDispatcher));
+		}
+
+		[Test]
+		public function provided_injector_should_be_used():void
+		{
+			const providedInjector:Injector = new Injector();
+			context.injector = providedInjector;
+			context.initialize();
+			assertThat(context.injector, strictlyEqualTo(providedInjector));
+		}
+
+		[Before(ui)]
 		public function setUp():void
 		{
 			context = new Context();
+			contextView = new UIComponent();
+			UIImpersonator.addChild(contextView);
+		}
+
+		[Test(expects='Error')]
+		public function setting_contextView_should_throw_if_context_already_initialized():void
+		{
+			context.initialize();
+			context.contextView = contextView;
+		}
+
+		[Test(expects='Error')]
+		public function setting_dispatcher_should_throw_if_context_already_initialized():void
+		{
+			context.initialize();
+			context.dispatcher = new EventDispatcher();
+		}
+
+		[Test(expects='Error')]
+		public function setting_injector_should_throw_if_context_already_initialized():void
+		{
+			context.initialize();
+			context.injector = new Injector();
+		}
+
+		[Test(expects='Error')]
+		public function setting_parent_should_throw_if_context_already_initialized():void
+		{
+			context.initialize();
+			context.parent = new Context();
 		}

 		[After]


Transferred from the Adobe Open Source Subversion Repository

Revision: 12952
Author:   cframpto@adobe.com
Date:     2009-12-15T14:38:06.277941Z

Log Message:
-----------
Remove two FIXMEs and fix a comment.

QE notes:
Doc notes:
Bugs:
Reviewer:
Tests run:
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>

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

--- frameworks/projects/mx/src/mx/core/Container.as
+++ frameworks/projects/mx/src/mx/core/Container.as
@@ -5582,8 +5582,6 @@
     {
         // If a text field currently has focus, it is handling all arrow keys.
         // We shouldn't also scroll this Container.
-        // FIXME (cframpto): replace with universal scrolling scheme that provides same
-        // experience as browser.
         var focusObj:Object = getFocus();
         if ((focusObj is TextField) ||
             (richEditableTextClass && focusObj is richEditableTextClass))


added oldX/oldY for TraceCanvas.as

added oldX/oldY for TraceCanvas.as

--- AS3/int/com/touchlib/TUIO.as
+++ AS3/int/com/touchlib/TUIO.as
@@ -251,6 +251,8 @@
 								tuioobj.spr.y = y;
 								tuioobj.x = x;
 								tuioobj.y = y;
+								tuioobj.oldX = tuioobj.x;
+								tuioobj.oldY = tuioobj.y;
 								tuioobj.dX = X;
 								tuioobj.dY = Y;

@@ -318,6 +320,8 @@
 								tuioobj.spr.y = y;
 								tuioobj.x = x;
 								tuioobj.y = y;
+								tuioobj.oldX = tuioobj.x;
+								tuioobj.oldY = tuioobj.y;
 								tuioobj.width = wd;
 								tuioobj.height = ht;
 								tuioobj.area = wd * ht;


Transferred from the Adobe Open Source Subversion Repository

Revision: 7163
Author:   aharui@adobe.com
Date:     2009-05-21T02:19:55.813792Z

Log Message:
-----------
Initial checkin of frame 1 cleanup.  In an RSL linkage, more classes will now come from the RSL because they are no longer needed in frame 1, and the size of the application SWF will be smaller.

QE Notes: None
Doc Notes: Maybe.  All new classes should be undocumented, but it might be worth checking that and any changes to interfaces
Bugs:
Reviewer: darrell
tests: checkintests mustella/MarshallPlan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/ActiveWindowManager.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses</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/events/RSLEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/MarshalPopUpData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IEmbeddedFontRegistry.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/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/EventProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextFormat.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/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.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/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFontRegistry.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/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFont.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/modules/compiler/src/java/flex2/tools/PreLink.java</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/preloaders/Preloader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ResourceModuleRSLItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISWFBridgeProvider.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/FocusManagerMarshalMixin.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/resources/ResourceManager.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IMarshalSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/EventListenerRequest.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/ToolTipManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/mustella/MustellaResultsParser.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Alert.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/ChildManager.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/MarshallPlan.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/managers/SystemManagerGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/SWFBridgeGroup.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/airframework/src/spark/components/Window.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/managers/ISystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/DragManagerMarshalMixin.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/MenuBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/Request.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/styles/CSSStyleDeclaration.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/events/FlexEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IActiveWindowManager.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/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/PopUpManagerMarshalMixin.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/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/messaging/config/LoaderConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IFocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/DownloadProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManagerChildManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/CursorManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISWFBridgeGroup.as</path>

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

--- frameworks/projects/framework/src/mx/core/IEmbeddedFontRegistry.as
+++ frameworks/projects/framework/src/mx/core/IEmbeddedFontRegistry.as
@@ -65,7 +65,10 @@
 	 *
The moduleFactory is used to resolve the case
      *  where multiple fonts are registered with the same attributes.

      *
-     *  @param font Describes attributes of the font to register.
+     *  @param fontName FontFamily of the font
+     *  @param bold true for bold fontWeight
+     *  @param italic true for italic fontStyle
+     *  @param object The Object using this font
 	 *
 	 *  @param defaultModuleFactory Used to resolve conflicts in the case
 	 *  where the same font is registered for multiple module factories.
@@ -83,7 +86,8 @@
      *  @productversion Flex 3
      */
 	function getAssociatedModuleFactory(
-					font:EmbeddedFont,
+					fontName:String, bold:Boolean, italic:Boolean,
+					object:Object,
 					defaultModuleFactory:IFlexModuleFactory):IFlexModuleFactory;

     /**
@@ -101,6 +105,14 @@
      *  @productversion Flex 3
      */
 	function getFonts():Array;
+
+    /**
+     *  Gets a string pattern based on the font attributes
+	 *
+     *  @return String describing font
+     */
+	function getFontStyle(bold:Boolean, italic:Boolean):String
+
 }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 7967
Author:   gosmith@adobe.com
Date:     2009-06-18T19:44:16.674676Z

Log Message:
-----------
PARB changes to TextGraphicElement/SimpleText/RichText and to text styles in general.

TextGraphicElement:

The 'truncation' property has been renamed to 'maxDisplayedLines'.

The isTruncated() method has become an 'isTruncated' read-only property.

RichText:

Since a TextFlow object is the fundamental representation for rich test in TLF, the RichText component now has a public textFlow:TextFlow property which you can get or set. To turn TLF markup -- in either String or XML form -- into a TextFlow, use the static importFromString() and importFromXML() methods in the TextFlowUtil class. These are bindable methods so that if the markup parameter changes they will re-evaluate. To turn the TextFlow back into markup, use TextFLowUtil.export(...) to produce XML.

The 'content' property is now intended only for use by the MXML compiler. It is set-only and only supports being set to what MXML markup produces: a String (which will be treated as the text of an implicit span in an implicit paragraph), a FlowElement, or an Array of Strings and FlowElements.

The 'text', 'textFlow', and 'content' properties are interacting properties. For example, you can set 'textFlow' and then get the 'text', and vice versa. In fact, you can now do this immediately, without waiting for the component to undergo a LayoutManager pass. Of these three properties, the last one set in ActionScript wins; if more than one is set in MXML the results are undefined since MXML does not guarantee the order in which properties are set. Setting any of them to null is equivalent to setting the 'text' to the empty String, which is the initial state of the component.

Styles:

The 'lineBreak' style is now non-inheriting, since in TLF it doesn't inherit from FlowElement to FlowElement.

The text styles are now divided into five buckets:

BasicInheritingTextStyles.as
BasicNonInheritingTextStyles.as
AdvancedInheritingTextStyles.as
AdvancedNonInheritingTextStyles.as
SelectionFormatTextStyles.as

Skinnable components like TextInput and TextArea no longer declare any on the noninheriting text styles, because the RichTextElement in the skin doesn't inherit them. You must set them directly on the RichTextElement in the component's skin, either with ActionScript or by reskinning.

The styleInitialized() method has been added to the IAdvancedStyleClient interface.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Carol

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/BasicTextLayoutFormatStyles.as" copyfrom-rev="7910" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/SparkChromeWindowedApplicationSkin.mxml</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/airframework/src/spark/skins/spark/WindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/DefaultButtonSkin.mxml</path>
<path kind="file" action="D">/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/NumericStepper.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/framework/src/mx/styles/StyleProxy.as</path>
<path kind="file" action="D">/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/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/TextFlowUtil.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/AdvancedNonInheritingTextStyles.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/wireframe/src/spark/skins/wireframe/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonBarMiddleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ButtonBarMiddleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableTextBase.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/airframework/src/spark/skins/spark/windowChrome/TitleBarSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/NonInheritingTextLayoutFormatStyles.as" copyfrom-rev="7910" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/BasicNonInheritingTextStyles.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/flex4/src/spark/skins/spark/CheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/CheckBoxSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/NonInheritingTextLayoutFormatStyles.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/skins/spark/RadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IAdvancedStyleClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/RadioButtonSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/AdvancedTextLayoutFormatStyles.as" copyfrom-rev="7910" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/AdvancedInheritingTextStyles.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/airframework/src/spark/skins/spark/windowChrome/MacTitleBarSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -146,9 +146,10 @@
 //  Styles
 //--------------------------------------

-include "../styles/metadata/AdvancedTextLayoutFormatStyles.as"
-include "../styles/metadata/BasicTextLayoutFormatStyles.as"
-include "../styles/metadata/NonInheritingTextLayoutFormatStyles.as"
+include "../styles/metadata/BasicInheritingTextStyles.as"
+include "../styles/metadata/BasicNonInheritingTextStyles.as"
+include "../styles/metadata/AdvancedInheritingTextStyles.as"
+include "../styles/metadata/AdvancedNonInheritingTextStyles.as"
 include "../styles/metadata/SelectionFormatTextStyles.as"

 /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 15709
Author:   cframpto@adobe.com
Date:     2010-04-26T19:56:29.123544Z

Log Message:
-----------
Merge rev 15707 from 4.x to trunk.  Pair of RichEditableText autoSize bugs.

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -2610,33 +2610,30 @@
             }

             _textContainerManager.updateContainer();
-
-            widthConstraint = NaN;
-            heightConstraint = NaN;
-        }
-
-        /**
-         *  @private
+        }
+
+        /**
+         *  @private
+         *  This is called by the layout manager the first time this
+         *  component is measured, or later if its size changes. This
+         *  is not always called before updateDisplayList().  For example,
+         *  for recycled item renderers this is not called if the measured
+         *  size doesn't change.
+         *
+         *  width and height are NaN unless there are constraints on them.
          */
         override public function setLayoutBoundsSize(
                                     width:Number, height:Number,
                                     postLayoutTransform:Boolean = true):void
         {
-            // width and height are NaN unless there are constraints on them.
             // Save these so when we are auto-sizing we know which dimensions
             // are constrained.  Without this it is not possible to differentiate
             // between a measured width/height that is the same as the
             // constrained width/height to know whether that dimension can
-            // be sized or must be fixed at the constrained value.
-            if (autoSize)
-            {
-                if (!isNaN(width))
-                    widthConstraint = width;
-
-                if (!isNaN(height))
-                    heightConstraint = height;
-            }
-
+            // be sized or must be fixed at the constrained value.
+            widthConstraint = isNaN(width) ? NaN : width;
+            heightConstraint = isNaN(height) ? NaN : height;
+
             super.setLayoutBoundsSize(width, height, postLayoutTransform);
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 8117
Author:   mhorn@adobe.com
Date:     2009-06-23T20:49:01.125157Z

Log Message:
-----------
asdoc updates

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RichEditableText.as

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -916,7 +916,7 @@
     /**
      *  Specifies whether the user is allowed to edit the text in this control.
      *
-     *  @default true;
+     *  @default true
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -1201,7 +1201,7 @@
      *  Specifies whether the text can be selected.
      *  Making the text selectable lets you copy text from the control.
      *
-     *  @default true;
+     *  @default true
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -2503,7 +2503,7 @@
     }

     /**
-     *  Sets the selection range.  If either position is negative, it will
+     *  Sets the selection range. If either position is negative, it will
      *  deselect the text range.
      *
      *  @langversion 3.0