Hide non-relevant affirmative only boolean attributes when not empty but selected value is "false"

--- collect-client/src/main/flex/org/openforis/collect/ui/component/detail/RelevanceDisplayManager.as
+++ collect-client/src/main/flex/org/openforis/collect/ui/component/detail/RelevanceDisplayManager.as
@@ -1,90 +1,101 @@
-package org.openforis.collect.ui.component.detail
-{
-	import mx.collections.IList;
-	import mx.core.UIComponent;
-
-	import org.openforis.collect.metamodel.proxy.AttributeDefinitionProxy;
-	import org.openforis.collect.metamodel.proxy.EntityDefinitionProxy;
-	import org.openforis.collect.metamodel.proxy.NodeDefinitionProxy;
-	import org.openforis.collect.metamodel.proxy.UIOptionsProxy;
-	import org.openforis.collect.model.proxy.CodeAttributeProxy;
-	import org.openforis.collect.model.proxy.EntityProxy;
-	import org.openforis.collect.model.proxy.NodeProxy;
+package org.openforis.collect.ui.component.detail
+{
+	import mx.collections.IList;
+	import mx.core.UIComponent;
+
+	import org.openforis.collect.metamodel.proxy.AttributeDefinitionProxy;
+	import org.openforis.collect.metamodel.proxy.BooleanAttributeDefinitionProxy
+	import org.openforis.collect.metamodel.proxy.EntityDefinitionProxy;
+	import org.openforis.collect.metamodel.proxy.NodeDefinitionProxy;
+	import org.openforis.collect.metamodel.proxy.UIOptionsProxy;
+	import org.openforis.collect.model.proxy.AttributeProxy;
+	import org.openforis.collect.model.proxy.CodeAttributeProxy;
+	import org.openforis.collect.model.proxy.EntityProxy;
+	import org.openforis.collect.model.proxy.NodeProxy;
 	import org.openforis.collect.util.UIUtil;
-
-	/**
-	 *
-	 * @author S. Ricci
-	 * */
-	public class RelevanceDisplayManager {
-
-		public static const STYLE_NAME_NOT_RELEVANT:String = "notRelevant";
-
-		/**
-		 * Display of the error (stylename "error" or "warning" will be set on this component)
-		 */
-		private var _display:UIComponent;
-
-		public function RelevanceDisplayManager(display:UIComponent) {
-			this._display = display;
-		}
-
-		public function displayNodeRelevance(parentEntity:EntityProxy, defn:NodeDefinitionProxy):void {
-			if(parentEntity != null && defn != null) {
-				if ( canBeHidden(parentEntity, defn) ) {
-					_display.visible = false;
-					_display.includeInLayout = false;
-				} else {
-					_display.visible = true;
-					_display.includeInLayout = true;
-					var relevant:Boolean = parentEntity.isRelevant(defn);
-					UIUtil.toggleStyleName(_display, STYLE_NAME_NOT_RELEVANT, ! relevant);
-				}
-			}
-		}
-
-		public function reset():void {
-			_display.visible = true;
-			_display.includeInLayout = true;
-
-			UIUtil.removeStyleNames(_display, [
-				STYLE_NAME_NOT_RELEVANT
-			]);
-		}
-
-		private function canBeHidden(parentEntity:EntityProxy, childDefn:NodeDefinitionProxy):Boolean {
-			if ( childDefn.hideWhenNotRelevant ) {
-				//if nearest parent entity is table, hide fields when all cousins are not relevant and empty
-				var nearestParentMultipleEntity:EntityDefinitionProxy = childDefn.nearestParentMultipleEntity;
-
-				var nodes:IList;
-				if ( nearestParentMultipleEntity.layout == UIUtil.LAYOUT_TABLE ) {
-					nodes = parentEntity.getDescendantCousins(childDefn);
-				} else {
-					nodes = parentEntity.getChildren(childDefn);
-				}
-				//do not hide multiple entities renderer if they are relevant but no entities are defined or it will be impossible to add new entities
-				if ( childDefn is EntityDefinitionProxy && nodes.length == 0 ) {
-					var result:Boolean = ! parentEntity.isRelevant(childDefn);
-					return result;
-				} else {
-					//hide table columns when all the cells are not relevant and empty
-					var allNodesEmptyAndNotRelevant:Boolean = isAllNodesEmptyAndNotRelevant(nodes);
-					return allNodesEmptyAndNotRelevant;
-				}
-			} else {
-				return false;
-			}
-		}
-
-		private function isAllNodesEmptyAndNotRelevant(nodes:IList):Boolean {
-			for each (var node:NodeProxy in nodes) {
-				if ( node.relevant || (node.userSpecified && ! node.empty)) {
-					return false;
-				}
-			}
-			return true;
-		}
-
-	}
+
+	/**
+	 *
+	 * @author S. Ricci
+	 * */
+	public class RelevanceDisplayManager {
+
+		public static const STYLE_NAME_NOT_RELEVANT:String = "notRelevant";
+
+		/**
+		 * Display of the error (stylename "error" or "warning" will be set on this component)
+		 */
+		private var _display:UIComponent;
+
+		public function RelevanceDisplayManager(display:UIComponent) {
+			this._display = display;
+		}
+
+		public function displayNodeRelevance(parentEntity:EntityProxy, defn:NodeDefinitionProxy):void {
+			if(parentEntity != null && defn != null) {
+				if ( canBeHidden(parentEntity, defn) ) {
+					_display.visible = false;
+					_display.includeInLayout = false;
+				} else {
+					_display.visible = true;
+					_display.includeInLayout = true;
+					var relevant:Boolean = parentEntity.isRelevant(defn);
+					UIUtil.toggleStyleName(_display, STYLE_NAME_NOT_RELEVANT, ! relevant);
+				}
+			}
+		}
+
+		public function reset():void {
+			_display.visible = true;
+			_display.includeInLayout = true;
+
+			UIUtil.removeStyleNames(_display, [
+				STYLE_NAME_NOT_RELEVANT
+			]);
+		}
+
+		private function canBeHidden(parentEntity:EntityProxy, childDefn:NodeDefinitionProxy):Boolean {
+			if ( childDefn.hideWhenNotRelevant ) {
+				//if nearest parent entity is table, hide fields when all cousins are not relevant and empty
+				var nearestParentMultipleEntity:EntityDefinitionProxy = childDefn.nearestParentMultipleEntity;
+
+				var nodes:IList;
+				if ( nearestParentMultipleEntity.layout == UIUtil.LAYOUT_TABLE ) {
+					nodes = parentEntity.getDescendantCousins(childDefn);
+				} else {
+					nodes = parentEntity.getChildren(childDefn);
+				}
+				//do not hide multiple entities renderer if they are relevant but no entities are defined or it will be impossible to add new entities
+				if ( childDefn is EntityDefinitionProxy && nodes.length == 0 ) {
+					var result:Boolean = ! parentEntity.isRelevant(childDefn);
+					return result;
+				} else {
+					//hide table columns when all the cells are not relevant and empty
+					var allNodesEmptyAndNotRelevant:Boolean = isAllNodesEmptyAndNotRelevant(nodes);
+					return allNodesEmptyAndNotRelevant;
+				}
+			} else {
+				return false;
+			}
+		}
+
+		private function isAllNodesEmptyAndNotRelevant(nodes:IList):Boolean {
+			for each (var node:NodeProxy in nodes) {
+				if (node.relevant) {
+					return false;
+				} else if (node.userSpecified) {
+					if (node.definition is BooleanAttributeDefinitionProxy
+						&& BooleanAttributeDefinitionProxy(node.definition).affirmativeOnly) {
+						if (AttributeProxy(node).getField(0).value == true) {
+							return false;
+						}
+					} else if (! node.empty) {
+						return false;
+					}
+				}
+			}
+			return true;
+		}
+
+	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 12850
Author:   jimurphy@adobe.com
Date:     2009-12-11T14:57:14.623098Z

Log Message:
-----------
add 6 new DMV projects to the SDK:
automation
automation_air
automation_dmv
automation_flashflexkit
automation_spark
datavisualization

These projects are setup to build in an ant main call.  There are currently several warnings in the datavisualization project that will be cleaned up.  No checkintests exist for these projects as of yet.

I also modified the exisitng projects build files for easier management of the localization targets, bundle and fat-swc. If the projects that I updated:airframework,airspark,framework,playerglobal,rpc,and spark.  All the new projects have been implemented this same way.

QE notes: DMV folks should run through their tests
Doc notes: probably
Bugs: nope
Reviewer:
Tests run: ran the following targets: compile,checkintests,other.locales and doc
Is noteworthy for integration: no

Modified Paths:
--------------
1404 paths were modified

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

--- frameworks/projects/automation_dmv/src/mx/automation/delegates/charts/LegendItemAutomationImpl.as
+++ frameworks/projects/automation_dmv/src/mx/automation/delegates/charts/LegendItemAutomationImpl.as
@@ -0,0 +1,112 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.automation.delegates.charts
+{
+	import flash.display.DisplayObject;
+	import flash.events.Event;
+
+	import mx.automation.Automation;
+	import mx.automation.delegates.core.UIComponentAutomationImpl;
+	import mx.charts.LegendItem;
+
+	[Mixin]
+	/**
+	 *
+	 *  Defines the methods and properties required to perform instrumentation for the
+	 *  LegendItem class.
+	 *
+	 *  @see mx.charts.LegendItem
+	 *
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public class LegendItemAutomationImpl extends UIComponentAutomationImpl
+	{
+		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 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public static function init(root:DisplayObject):void
+		{
+			Automation.registerDelegateClass(LegendItem, LegendItemAutomationImpl);
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Constructor.
+		 *
+		 *  @param obj The LegendItem object to be automated.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function LegendItemAutomationImpl(obj:LegendItem)
+		{
+			super(obj);
+
+			legendItem = obj;
+		}
+
+
+		//--------------------------------------------------------------------------
+		//
+		//  Variables
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 *  storage for the owner component
+		 */
+		private var legendItem:LegendItem;
+
+		//--------------------------------------------------------------------------
+		//
+		//  Overridden properties
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 */
+		override public function get automationName():String
+		{
+			return (legendItem.label || super.automationName);
+		}
+
+	}
+
+}


fixed tabs/spaces.

fixed tabs/spaces.


Tabs to spaces

Tabs to spaces


more asdoc html format fixes

more asdoc html format fixes

--- FlexUnit4/src/org/flexunit/runner/Request.as
+++ FlexUnit4/src/org/flexunit/runner/Request.as
@@ -40,9 +40,9 @@
 	use namespace classInternal;

 	/**
-	 *
A Request is an abstract description of tests to be run.  It represents an object that
+	 * A Request is an abstract description of tests to be run.  It represents an object that
 	 * wraps tests when they are presented to the FlexUnitCore.  Requests can be
-	 * filtered and sorted to control the subset and order of tests to be executed.

+	 * filtered and sorted to control the subset and order of tests to be executed.
 	 *
 	 * The following static methods can be used to create requests:
 	 *

@@ -50,7 +50,7 @@
 	 *
#classes()

 	 *
#runner()

 	 *
#method()

-	 *

+	 *

 	 *
 	 *
The key property of the Request that the FlexUnitCore needs is the
 	 * IRunner.  The IRunner is an interface implemented by any object


making sure f8 shortcut gets initialized

--- WeaveUI/src/weave/application/VisApplication.as
+++ WeaveUI/src/weave/application/VisApplication.as
@@ -128,6 +128,8 @@
 	internal class VisApplication extends VBox implements ILinkableObject
 	{
 		MXClasses; // Referencing this allows all Flex classes to be dynamically created at runtime.
+
+		SessionStateEditor.initialize; // adds keyboard shortcut & upper-left click shortcut

 		/**
 		 * Constructor.


Clean up.

Clean up.

--- src/com/esri/viewer/utils/PortalBasemapAppender.as
+++ src/com/esri/viewer/utils/PortalBasemapAppender.as
@@ -118,7 +118,7 @@

     private function portalItem_getJSONDataResultHandler(itemData:Object, item:PortalItem):void
     {
-        createBasemapLayerObject(itemData, item);
+        createBasemapLayerObjectFromWebMapItemAndData(item, itemData);
         if (isDefaultBasemap(itemData.baseMap))
         {
             defaultBasemapTitle = itemData.baseMap.title;
@@ -126,7 +126,7 @@
         updateTotalArcGISBasemaps();
     }

-    private function createBasemapLayerObject(itemData:Object, item:PortalItem):void
+    private function createBasemapLayerObjectFromWebMapItemAndData(item:PortalItem, itemData:Object):void
     {
         if (!itemData)
         {
@@ -311,7 +311,7 @@
         {
             layerXML = createTiledLayerXML(title, iconURL, url, basemapLayerObject, false);
         }
-        else if (isAllowedType(type))
+        else if (isNonEsriType(type))
         {
             layerXML = createNonEsriLayerXML(title, iconURL, basemapLayerObject, false, type);
         }
@@ -331,7 +331,7 @@
         return layerXML;
     }

-    private function isAllowedType(type:String):Boolean
+    private function isNonEsriType(type:String):Boolean
     {
         return type == "OpenStreetMap" ||
             (isBingBasemap(type) && hasBingKey());


Re-enable the content mask.
Do not use getters/setters unless we're overridding one from a superclass.
The getters and setters hide implementation details: you never
know if a getter is doing massive amounts of computation, and it looks like
a simple field access. The nice parenthesis required for normal function
calls are a reminder to the coder that maybe they should stash that value
in a local variable if they're going to use it many times.

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

--- src/as/com/threerings/util/MediaContainer.as
+++ src/as/com/threerings/util/MediaContainer.as
@@ -152,9 +152,9 @@
         info.addEventListener(ProgressEvent.PROGRESS, loadProgress);

         // create a mask to prevent the media from drawing out of bounds
-        if (maxContentWidth < int.MAX_VALUE &&
-                maxContentHeight < int.MAX_VALUE) {
-            configureMask(maxContentWidth, maxContentHeight);
+        if (getMaxContentWidth() < int.MAX_VALUE &&
+                getMaxContentHeight() < int.MAX_VALUE) {
+            configureMask(getMaxContentWidth(), getMaxContentHeight());
         }

         // start it loading, add it as a child
@@ -266,23 +266,23 @@
     /**
      * Get the width of the content, bounded by the maximum.
      */
-    public function get contentWidth () :int
-    {
-        return Math.min(Math.abs(_w * getMediaScaleX()), maxContentWidth);
+    public function getContentWidth () :int
+    {
+        return Math.min(Math.abs(_w * getMediaScaleX()), getMaxContentWidth());
     }

     /**
      * Get the height of the content, bounded by the maximum.
      */
-    public function get contentHeight () :int
-    {
-        return Math.min(Math.abs(_h * getMediaScaleY()), maxContentHeight);
+    public function getContentHeight () :int
+    {
+        return Math.min(Math.abs(_h * getMediaScaleY()), getMaxContentHeight());
     }

     /**
      * Get the maximum allowable width for our content.
      */
-    public function get maxContentWidth () :int
+    public function getMaxContentWidth () :int
     {
         return int.MAX_VALUE;
     }
@@ -290,7 +290,7 @@
     /**
      * Get the maximum allowable height for our content.
      */
-    public function get maxContentHeight () :int
+    public function getMaxContentHeight () :int
     {
         return int.MAX_VALUE;
     }
@@ -429,21 +429,21 @@
      */
     protected function configureMask (ww :int, hh :int) :void
     {
-//        var mask :Shape;
-//        if (_media.mask != null) {
-//            mask = (_media.mask as Shape);
-//
-//        } else {
-//            mask = new Shape();
-//            // the mask must be added to the display list (which is wacky)
-//            rawChildren.addChild(mask);
-//            _media.mask = mask;
-//        }
-//
-//        mask.graphics.clear();
-//        mask.graphics.beginFill(0xFFFFFF);
-//        mask.graphics.drawRect(0, 0, ww, hh);
-//        mask.graphics.endFill();
+        var mask :Shape;
+        if (_media.mask != null) {
+            mask = (_media.mask as Shape);
+
+        } else {
+            mask = new Shape();
+            // the mask must be added to the display list (which is wacky)
+            rawChildren.addChild(mask);
+            _media.mask = mask;
+        }
+
+        mask.graphics.clear();
+        mask.graphics.beginFill(0xFFFFFF);
+        mask.graphics.drawRect(0, 0, ww, hh);
+        mask.graphics.endFill();
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 18789
Author:   clucier@adobe.com
Date:     2010-11-23T01:29:35.357224Z

Log Message:
-----------
Modest speed ups for full screen slide transitions.

QE notes:  None
Doc notes: None
Bugs: None
Reviewer: Chiedo
Tests run: Checkin
Is noteworthy for integration: No

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
@@ -320,9 +320,6 @@
         navigatorProps.contentGroupIncludeInLayout = targetNavigator.contentGroup.includeInLayout;
         targetNavigator.contentGroup.includeInLayout = false;

-        navigatorProps.contentGroupCacheAsBitmap = targetNavigator.contentGroup.cacheAsBitmap;
-        targetNavigator.contentGroup.cacheAsBitmap = true;
-
         transitionGroup = new Group();
         transitionGroup.includeInLayout=false;

@@ -354,9 +351,22 @@
             {
                 if (!(mode == SlideViewTransitionMode.UNCOVER))
                     slideTargets.push(actionBar);
+
                 navigatorProps.actionBarIncludeInLayout = actionBar.includeInLayout;
                 actionBar.includeInLayout = false;
-            }
+
+                navigatorProps.actionBarCacheAsBitmap = actionBar.cacheAsBitmap;
+                actionBar.cacheAsBitmap = true;
+            }
+        }
+
+        if (endView.contentGroup)
+        {
+            navigatorProps.endViewIncludeInLayout = endView.contentGroup.includeInLayout;
+            endView.contentGroup.includeInLayout = false;
+
+            navigatorProps.endViewCacheAsBitmap = endView.contentGroup.cacheAsBitmap;
+            endView.contentGroup.cacheAsBitmap = true;
         }

         if (cachedNavigator)
@@ -395,7 +405,7 @@
                 slideDistance = -targetNavigator.width;
                 break;
         }
-
+
         // Position the control bars prior to our transition.

         if (targetNavigator == parentNavigator)
@@ -483,14 +493,22 @@
             else if (targetNavigator is ViewNavigator)
             {
                 if (actionBar)
+                {
                     actionBar.includeInLayout = navigatorProps.actionBarIncludeInLayout;
+                    actionBar.cacheAsBitmap = navigatorProps.actionBarCacheAsBitmap;
+                }
+            }
+
+            if (endView.contentGroup)
+            {
+                endView.contentGroup.includeInLayout = navigatorProps.endViewIncludeInLayout;
+                endView.contentGroup.cacheAsBitmap = navigatorProps.endViewCacheAsBitmap;
             }

             if (transitionGroup)
                 removeComponentFromContainer(transitionGroup, targetNavigator.skin);

             targetNavigator.contentGroup.includeInLayout = navigatorProps.contentGroupIncludeInLayout;
-            targetNavigator.contentGroup.cacheAsBitmap = navigatorProps.contentGroupCacheAsBitmap;
         }

         transitionGroup = null;


Added StandardLib.logTransform().

Added StandardLib.logTransform().

--- WeaveCore/src/weave/compiler/StandardLib.as
+++ WeaveCore/src/weave/compiler/StandardLib.as
@@ -456,5 +456,16 @@
 			}
 			return 0;
 		}
+
+		/**
+		 * This will perform a log transformation on a normalized value to produce another normalized value.
+		 * @param normValue A number between 0 and 1.
+		 * @param factor The log factor to use.
+		 * @return A number between 0 and 1.
+		 */
+		public static function logTransform(normValue:Number, factor:Number = 1024):Number
+		{
+			return Math.log(1 + normValue * factor) / Math.log(1 + factor);
+		}
 	}
 }


LinkableWatcher: Setting target now clears path, and new path always triggers callbacks.

--- WeaveCore/src/weave/core/LinkableWatcher.as
+++ WeaveCore/src/weave/core/LinkableWatcher.as
@@ -21,6 +21,7 @@
 {
 	import flash.utils.Dictionary;

+	import weave.api.core.ICallbackCollection;
 	import weave.api.core.IDisposableObject;
 	import weave.api.core.ILinkableDynamicObject;
 	import weave.api.core.ILinkableHashMap;
@@ -64,17 +65,26 @@

 		/**
 		 * This is the linkable object currently being watched.
+		 * Setting this will unset the targetPath.
 		 */
 		public function get target():ILinkableObject
 		{
 			return _foundTarget ? _target : null;
 		}
-
-		/**
-		 * This sets the new target to which should be watched.
+		public function set target(newTarget:ILinkableObject):void
+		{
+			var cc:ICallbackCollection = WeaveAPI.SessionManager.getCallbackCollection(this);
+			cc.delayCallbacks();
+			targetPath = null;
+			internalSetTarget(newTarget);
+			cc.resumeCallbacks();
+		}
+
+		/**
+		 * This sets the new target to be watched without resetting targetPath.
 		 * Callbacks will be triggered immediately if the new target is different from the old one.
 		 */
-		public function set target(newTarget:ILinkableObject):void
+		protected function internalSetTarget(newTarget:ILinkableObject):void
 		{
 			if (_foundTarget && _typeRestriction)
 				newTarget = newTarget as _typeRestriction as ILinkableObject;
@@ -147,7 +157,7 @@

 		/**
 		 * This will set a path which should be watched for new targets.
-		 * Callbacks will be triggered immediately if the path points to a new target.
+		 * Callbacks will be triggered immediately if the path changes or points to a new target.
 		 */
 		public function set targetPath(path:Array):void
 		{
@@ -156,9 +166,15 @@
 				path = null;
 			if (StandardLib.compare(_targetPath, path) != 0)
 			{
+				var cc:ICallbackCollection = WeaveAPI.SessionManager.getCallbackCollection(this);
+				cc.delayCallbacks();
+
 				resetPathDependencies();
 				_targetPath = path;
 				handlePath();
+				cc.triggerCallbacks();
+
+				cc.resumeCallbacks();
 			}
 		}

@@ -167,7 +183,7 @@
 			if (!_targetPath)
 			{
 				_foundTarget = true;
-				target = null;
+				internalSetTarget(null);
 				return;
 			}

@@ -202,20 +218,20 @@
 						if (_target != null)
 						{
 							// path dependency code will detect changes to this node
-							target = null;
+							internalSetTarget(null);
 							// must trigger here because _foundtarget is false
 							sm.getCallbackCollection(this).triggerCallbacks();
 						}
 					}
 					else
-						target = node;
+						internalSetTarget(node);
 					return;
 				}
 			}

 			// we found a desired target if there is no type restriction or the object fits the restriction
 			_foundTarget = !_typeRestriction || node is _typeRestriction;
-			target = node;
+			internalSetTarget(node);
 		}

 		/**
@@ -287,18 +303,25 @@
 		/*
 			// JavaScript test code for path dependency case
 			var lhm = weave.path('lhm').remove().request('LinkableHashMap');
+
 			var a = lhm.push('a').request('LinkableDynamicObject').state(lhm.getPath('b', null));
+
+			a.addCallback(function () {
+			if (a.getType(null))
+			console.log('a.getState(null): ', JSON.stringify(a.getState(null)));
+			else
+			console.log('a has no internal object');
+			}, false, true);
+
 			var b = lhm.push('b').request('LinkableDynamicObject').state(lhm.getPath('c'));
+
+			// a has no internal object
+
 			var c = lhm.push('c').request('LinkableDynamicObject').request(null, 'LinkableString').state(null, 'c value');

-			a.addCallback(function(){
-				if (a.getType(null))
-					console.log('a.getState(null): ', JSON.stringify(a.getState(null)));
-				else
-					console.log('a has no internal object');
-			}, true, true);
-
-			// a.getState(null): [{"className":"weave.core::LinkableString","sessionState":"c value","objectName":null}]
+			// a.getState(null): []
+			// a.getState(null): [{"className":"weave.core::LinkableString","objectName":null,"sessionState":null}]
+			// a.getState(null): [{"className":"weave.core::LinkableString","objectName":null,"sessionState":"c value"}]

 			b.remove(null);


Transferred from the Adobe Open Source Subversion Repository

Revision: 2320
Author:   jimurphy@adobe.com
Date:     2008-07-01T14:31:44.815846Z

Log Message:
-----------
Merged 3.0.x revisions [2297,2306,2312] -> trunk

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/formatters/DateFormatter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>

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

--- frameworks/projects/framework/src/mx/formatters/DateFormatter.as
+++ frameworks/projects/framework/src/mx/formatters/DateFormatter.as
@@ -108,6 +108,11 @@
         var count:int = 0;
         var len:int = str.length;

+        // Strip out the Timezone. It is not used by the DateFormatter
+        var timezoneRegEx:RegExp = /(GMT|UTC)-\d\d\d\d/ig;
+
+        str = str.replace(timezoneRegEx, "");
+
         while (count < len)
         {
             letter = str.charAt(count);


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/automation/src/mx/automation/delegates/containers/TabNavigatorAutomationImpl.as
+++ frameworks/projects/automation/src/mx/automation/delegates/containers/TabNavigatorAutomationImpl.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 Adobe Systems Incorporated
-//  All Rights Reserved.
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
 //
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

Revision: 20775
Author:   smgilson@adobe.com
Date:     2011-03-10T20:03:40.415513Z

Log Message:
-----------
merge 20770 - ASDoc updates

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkPopUpAnchorAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/gridClasses/SparkGridItemRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DataGridSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/DataGridSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mobiletheme/src/spark/skins/mobile/TransparentActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/tabularData/SparkDataGridTabularData.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/events/SparkValueChangeAutomationEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mobiletheme/src/spark/skins/mobile/TransparentNavigationButtonSkin.as</path>
<path kind="dir" action="M">/private/flex/sdk/trunk</path>

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

--- frameworks/projects/automation_spark/src/spark/automation/events/SparkValueChangeAutomationEvent.as
+++ frameworks/projects/automation_spark/src/spark/automation/events/SparkValueChangeAutomationEvent.as
@@ -15,6 +15,8 @@
     import flash.events.Event;

     /**
+     *  The SparkValueChangeAutomationEvent class represents event objects
+     *  that are dispatched when the value in a control changes.
      *
      *  @langversion 3.0
      *  @playerversion Flash 9
@@ -27,16 +29,53 @@
         include "../../core/Version.as";

-       /**
-        *
-        *  @langversion 3.0
-        *  @playerversion Flash 9
-        *  @playerversion AIR 1.5
-        *  @productversion Flex 4
-        */
+        /**
+         *  The SparkValueChangeAutomationEvent.CHANGE constant defines the value of the
+         *  type property of the event object for an event that is
+         *  dispatched when a value changes.
+         *
+         *
The properties of the event object have the following values.
+         *  Not all properties are meaningful for all kinds of events.
+         *  See the detailed property descriptions for more information.

+         *

+         *
Property	Value

+         *
bubbles	false

+         *
cancelable	false

+         *
currentTarget	The Object that defines the
+         *       event listener that handles the event. For example, if you use
+         *       myButton.addEventListener() to register an event listener,
+         *       myButton is the value of the currentTarget.

+         *
target	The Object that dispatched the event;
+         *       it is not always the Object listening for the event.
+         *       Use the currentTarget property to always access the
+         *       Object listening for the event.

+         *
triggerEvent	The event, such as a
+         *             mouse or keyboard event, that triggered the action.

+         *
type	SparkValueChangeAutomationEvent.CHANGE

+         *
value	The new value.

+         *

+         *
+         *  @eventType change
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
         public static const CHANGE:String = "change";

        /**
+        *  Constructor.
+        *
+        *  @param type The event type; indicates the action that caused the event.
+        *
+        *  @param bubbles Specifies whether the event can bubble
+        *  up the display list hierarchy.
+        *
+        *  @param cancelable Specifies whether the behavior
+        *  associated with the event can be prevented.
+        *
+        *  @param value The new value.
         *
         *  @langversion 3.0
         *  @playerversion Flash 9
@@ -62,7 +101,7 @@
         //----------------------------------

         /**
-         *  Indicates the new value
+         *  The new value.
          *
          *  @langversion 3.0
          *  @playerversion Flash 9


Some more refactoring.

Some more refactoring.

--- flash-src/src/net/gimite/websocket/WebSocket.as
+++ flash-src/src/net/gimite/websocket/WebSocket.as
@@ -154,70 +154,15 @@
     }
   }

-  private function parseFrame():WebSocketFrame {
-
-    var frame:WebSocketFrame = new WebSocketFrame();
-    var hlength:uint = 0;
-    var plength:uint = 0;
-
-    hlength = 2;
-    if (buffer.length < hlength) {
-      return null;
-    }
-
-    frame.opcode  = buffer[0] & 0x0f;
-    frame.fin     = (buffer[0] & 0x80) != 0;
-    plength = buffer[1] & 0x7f;
-
-    if (plength == 126) {
-
-      hlength = 4;
-      if (buffer.length < hlength) {
-        return null;
-      }
-      buffer.endian = Endian.BIG_ENDIAN;
-      buffer.position = 2;
-      plength = buffer.readUnsignedShort();
-
-    } else if (plength == 127) {
-
-      hlength = 10;
-      if (buffer.length < hlength) {
-        return null;
-      }
-      buffer.endian = Endian.BIG_ENDIAN;
-      buffer.position = 2;
-      // Protocol allows 64-bit length, but we only handle 32-bit
-      var big:uint = buffer.readUnsignedInt(); // Skip high 32-bits
-      plength = buffer.readUnsignedInt(); // Low 32-bits
-      if (big != 0) {
-        fatal("Frame length exceeds 4294967295. Bailing out!");
-        return null;
-      }
-
-    }
-
-    if (buffer.length < hlength + plength) {
-      return null;
-    }
-
-    frame.length = hlength + plength;
-    frame.payload = new ByteArray();
-    buffer.position = hlength;
-    buffer.readBytes(frame.payload, 0, plength);
-    return frame;
-
-  }
-
   public function close(isError:Boolean = false):void {
     logger.log("close");
     try {
       if (readyState == OPEN && !isError) {
         // TODO: send code and reason
-        socket.writeByte(0x80 | 0x08);  // FIN + close opcode
-        socket.writeByte(0x80 | 0x00);  // Masked + no payload
-        socket.writeUnsignedInt(0x00);  // Mask
-        socket.flush();
+        var frame:WebSocketFrame = new WebSocketFrame();
+        frame.opcode = OPCODE_CLOSE;
+        frame.payload = new ByteArray();
+        sendFrame(frame);
       }
       socket.close();
     } catch (ex:Error) { }
@@ -454,6 +399,61 @@

   }

+  private function parseFrame():WebSocketFrame {
+
+    var frame:WebSocketFrame = new WebSocketFrame();
+    var hlength:uint = 0;
+    var plength:uint = 0;
+
+    hlength = 2;
+    if (buffer.length < hlength) {
+      return null;
+    }
+
+    frame.opcode  = buffer[0] & 0x0f;
+    frame.fin     = (buffer[0] & 0x80) != 0;
+    plength = buffer[1] & 0x7f;
+
+    if (plength == 126) {
+
+      hlength = 4;
+      if (buffer.length < hlength) {
+        return null;
+      }
+      buffer.endian = Endian.BIG_ENDIAN;
+      buffer.position = 2;
+      plength = buffer.readUnsignedShort();
+
+    } else if (plength == 127) {
+
+      hlength = 10;
+      if (buffer.length < hlength) {
+        return null;
+      }
+      buffer.endian = Endian.BIG_ENDIAN;
+      buffer.position = 2;
+      // Protocol allows 64-bit length, but we only handle 32-bit
+      var big:uint = buffer.readUnsignedInt(); // Skip high 32-bits
+      plength = buffer.readUnsignedInt(); // Low 32-bits
+      if (big != 0) {
+        fatal("Frame length exceeds 4294967295. Bailing out!");
+        return null;
+      }
+
+    }
+
+    if (buffer.length < hlength + plength) {
+      return null;
+    }
+
+    frame.length = hlength + plength;
+    frame.payload = new ByteArray();
+    buffer.position = hlength;
+    buffer.readBytes(frame.payload, 0, plength);
+    return frame;
+
+  }
+
   private function removeBufferBefore(pos:int):void {
     if (pos == 0) return;
     var nextBuffer:ByteArray = new ByteArray();


Added type description cache. Passes initial performance tests

--- src/asfac/src/com/thedevstop/asfac/AsFactory.as
+++ src/asfac/src/com/thedevstop/asfac/AsFactory.as
@@ -12,6 +12,7 @@
 	public class AsFactory
 	{
 		private var _registrations:Dictionary;
+		private var _descriptions:Dictionary;

 		/**
 		 * Constructs a new AsFactory
@@ -19,6 +20,7 @@
 		public function AsFactory()
 		{
 			_registrations = new Dictionary();
+			_descriptions = new Dictionary();
 		}

 		/**
@@ -115,7 +117,13 @@
 				throw new IllegalOperationError("Type cannot be null when resolving.");

 			var parameters:Array = [];
-			var description:XML = describeType(type);
+			var description:XML;
+
+			if (_descriptions[type] !== undefined)
+				description = _descriptions[type];
+			else
+				description = _descriptions[type] = describeType(type);
+
 			var constructor:XMLList = description.factory.constructor;

 			if (constructor.length() === 0)


TextField: fontName parameter remplaced by the font list of Flash.(Font Name)

--- srceditor/com/benoitfreslon/layoutmanager/BFButton.as
+++ srceditor/com/benoitfreslon/layoutmanager/BFButton.as
@@ -38,7 +38,7 @@
 		[Inspectable( name="fontColor",type="Color",defaultValue="0x000000" )]
 		public var fontColor : uint = 0x000000;

-		[Inspectable( name="fontName",type="String",defaultValue="Verdana" )]
+		[Inspectable( name="fontName",type="Font Name",defaultValue="Verdana" )]
 		public var fontName : String = "Verdana";

 		[Inspectable( name="fontSize",type="Number",defaultValue="12" )]


fix indents and spaces

fix indents and spaces

--- src/org/mangui/osmf/plugins/traits/HLSPlayTrait.as
+++ src/org/mangui/osmf/plugins/traits/HLSPlayTrait.as
@@ -3,7 +3,7 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  package org.mangui.osmf.plugins.traits {
     import org.mangui.hls.HLS;
-	import org.mangui.hls.constant.HLSPlayStates;
+    import org.mangui.hls.constant.HLSPlayStates;
     import org.mangui.hls.event.HLSEvent;
     import org.osmf.traits.PlayState;
     import org.osmf.traits.PlayTrait;
@@ -25,7 +25,7 @@
             }
             super();
             _hls = hls;
-			_hls.addEventListener(HLSEvent.PLAYBACK_STATE, _stateChangedHandler);
+            _hls.addEventListener(HLSEvent.PLAYBACK_STATE, _stateChangedHandler);
             _hls.addEventListener(HLSEvent.PLAYBACK_COMPLETE, _playbackComplete);
         }

@@ -34,7 +34,7 @@
             CONFIG::LOGGING {
             Log.debug("HLSPlayTrait:dispose");
             }
-			_hls.removeEventListener(HLSEvent.PLAYBACK_STATE, _stateChangedHandler);
+            _hls.removeEventListener(HLSEvent.PLAYBACK_STATE, _stateChangedHandler);
             _hls.removeEventListener(HLSEvent.PLAYBACK_COMPLETE, _playbackComplete);
             super.dispose();
         }
@@ -71,17 +71,13 @@
         }

         /** state changed handler **/
-        private function _stateChangedHandler(event:HLSEvent):void
-        {
-            switch (event.state)
-            {
+        private function _stateChangedHandler(event:HLSEvent):void {
+            switch (event.state) {
                 case HLSPlayStates.PLAYING:
-                CONFIG::LOGGING
-                {
+                CONFIG::LOGGING {
                     Log.debug("HLSPlayTrait:_stateChangedHandler:setBuffering(true)");
                 }
-                    if (!streamStarted)
-                    {
+                    if (!streamStarted) {
                         streamStarted = true;
                         play();
                     }
@@ -94,4 +90,4 @@
             stop();
         }
     }
-}
+}


http://www.igniterealtime.org/issues/browse/XIFF-60 A part which I seemed to missed. Patches delivered my Mark Walters.

--- src/org/igniterealtime/xiff/events/RoomEvent.as
+++ src/org/igniterealtime/xiff/events/RoomEvent.as
@@ -68,6 +68,8 @@
 		public static const USER_JOIN:String = "userJoin";

 		public static const USER_KICKED:String = "userKicked";
+
+		public static const USER_PRESENCE_CHANGE:String = "userPresenceChange";

 		private var _data:*;


138 Added caseSensitive argument to delimiterJoinArray

--- raw/src/org/yellcorp/string/StringUtil.as
+++ raw/src/org/yellcorp/string/StringUtil.as
@@ -141,7 +141,7 @@
     }

-    public static function delimiterJoinArray(values:Array, delimeter:String):String
+    public static function delimiterJoinArray(values:Array, delimeter:String, caseSensitive:Boolean = true):String
     {
         var filterValues:Array = new Array(values.length);
         var value:String;
@@ -154,11 +154,11 @@
             value = values[i];
             if (i > 0)
             {
-                value = stripStart(value, delimeter);
+                value = stripStart(value, delimeter, caseSensitive);
             }
             if (i < lastValue)
             {
-                value = stripEnd(value, delimeter);
+                value = stripEnd(value, delimeter, caseSensitive);
             }
             filterValues[i] = value;
         }


motionTweenRotate fix, possibly.

motionTweenRotate fix, possibly.

--- exporter/src/main/as/flump/xfl/XflLayer.as
+++ exporter/src/main/as/flump/xfl/XflLayer.as
@@ -47,18 +47,18 @@

             // If a direction is specified, take it into account
             if (motionTweenRotate != "none") {
-                var direction :Number = (motionTweenRotate == "clockwise" ? -1 : 1);
+                var direction :Number = (motionTweenRotate == "clockwise" ? 1 : -1);
                 // negative scales affect rotation direction
                 direction *= sign(nextKf.scaleX) * sign(nextKf.scaleY);

                 while (direction < 0 && kf.skewX < nextKf.skewX) {
-                    nextKf.skewX += -Math.PI * 2;
+                    nextKf.skewX -= Math.PI * 2;
                 }
                 while (direction > 0 && kf.skewX > nextKf.skewX) {
                     nextKf.skewX += Math.PI * 2;
                 }
                 while (direction < 0 && kf.skewY < nextKf.skewY) {
-                    nextKf.skewY += -Math.PI * 2;
+                    nextKf.skewY -= Math.PI * 2;
                 }
                 while (direction > 0 && kf.skewY > nextKf.skewY) {
                     nextKf.skewY += Math.PI * 2;


Added IS_NULL and IS_NOT_NULL to FilterTerm

--- as3/xobjas3/src/com/rpath/xobj/FilterTerm.as
+++ as3/xobjas3/src/com/rpath/xobj/FilterTerm.as
@@ -47,6 +47,9 @@
     public static const EQUAL:String = "EQUAL";
     public static const NOT_EQUAL:String = "NOT_EQUAL";

+    public static const IS_NULL:String = "IS_NULL";
+    public static const IS_NOT_NULL:String = "IS_NOT_NULL";
+
     public static const LESS_THAN:String = "LESS_THAN";
     public static const LESS_THAN_OR_EQUAL:String = "LESS_THAN_OR_EQUAL";
     public static const GREATER_THAN:String = "GREATER_THAN";


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/automation/src/mx/automation/codec/KeyModifierPropertyCodec.as
+++ frameworks/projects/automation/src/mx/automation/codec/KeyModifierPropertyCodec.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 Adobe Systems Incorporated
-//  All Rights Reserved.
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
 //
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


Show coordinates of the objects, too

Show coordinates of the objects, too

--- common/actionscript/org/concord/sparks/util/Debug.as
+++ common/actionscript/org/concord/sparks/util/Debug.as
@@ -15,7 +15,7 @@
          */
         public static function traceDisplayList(container:DisplayObjectContainer, indentString:String = ""):void {
             var child:DisplayObject;
-            trace(indentString + container, container.name);
+            trace(indentString + container, container.name, 'x=' + container.x + ' y=' + container.y);
             for (var i:uint=0; i < container.numChildren; i++) {
                 child = container.getChildAt(i);
                 if (container.getChildAt(i) is DisplayObjectContainer) {


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

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

 package mx.charts.chartClasses


Transferred from the Adobe Open Source Subversion Repository

Revision: 22608
Author:   smgilson@adobe.com
Date:     2011-09-16T17:19:03.985309Z

Log Message:
-----------
- Add ViewMenu example, add image to ViewMenu.as

- fix typos in ASDoc comments

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

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/ViewMenuExampleHome.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/ViewMenuExample.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ViewMenuItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/BusyIndicator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ViewMenu.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/Callout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ToggleSwitch.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/View.as
+++ frameworks/projects/mobilecomponents/src/spark/components/View.as
@@ -128,7 +128,7 @@
  *  Users navigate the views of the application by using the touch screen,
  *  components built into the application, and the input controls of the mobile device.

  *
- *
The following images shows a View container with a List control:

+ *
The following image shows a View container with a List control:

  *
  *

  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 5101
Author:   gauravj@adobe.com
Date:     2009-02-27T05:22:45.887116Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
663 paths were modified

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

--- frameworks/projects/mx/src/mx/controls/menuClasses/MenuBarItem.as
+++ frameworks/projects/mx/src/mx/controls/menuClasses/MenuBarItem.as
@@ -58,6 +58,11 @@
  *  @see mx.controls.Menu
  *  @see mx.controls.menuClasses.IMenuBarItemRenderer
  *  @see mx.controls.menuClasses.MenuItemRenderer
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */

 public class MenuBarItem extends UIComponent implements IMenuBarItemRenderer, IFontContextComponent
@@ -84,6 +89,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function MenuBarItem()
     {
@@ -103,6 +113,11 @@

     /**
      *  The skin defining the border and background for this MenuBarItem.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     mx_internal var currentSkin:IFlexDisplayObject;

@@ -112,6 +127,11 @@

     /**
      *  The IFlexDisplayObject that displays the icon in this MenuBarItem.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected var icon:IFlexDisplayObject;

@@ -121,16 +141,31 @@

     /**
      *  The UITextField that displays the text in this MenuBarItem.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected var label:IUITextField;

     /**
      *  The default skin's style name
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     mx_internal var skinName:String = "itemSkin";

     /**
      *  Flags used to save information about the skin and icon styles
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private var defaultSkinUsesStates:Boolean = false;
     private var checkedDefaultSkin:Boolean = false;
@@ -204,6 +239,11 @@
      *  All item renderers must implement the IDataRenderer interface.
      *
      *  @see mx.core.IDataRenderer
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get data():Object
     {
@@ -258,6 +298,11 @@
      *  @copy mx.controls.menuClasses.IMenuBarItemRenderer#menuBar
      *
      *  @see mx.controls.menuClasses.IMenuBarItemRenderer#menuBar
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get menuBar():MenuBar
     {
@@ -289,6 +334,11 @@
      *  @copy mx.controls.menuClasses.IMenuBarItemRenderer#menuBarItemIndex
      *
      *  @see mx.controls.menuClasses.IMenuBarItemRenderer#menuBarItemIndex
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get menuBarItemIndex():int
     {
@@ -320,6 +370,11 @@
      *  @copy mx.controls.menuClasses.IMenuBarItemRenderer#menuBarItemState
      *
      *  @see mx.controls.menuClasses.IMenuBarItemRenderer#menuBarItemState
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get menuBarItemState():String
     {
@@ -356,6 +411,11 @@
 	 *  when this MenuBarItem is selected.
 	 *
 	 *  @default "undefined"
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function get dataProvider():Object
 	{


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/mx/src/mx/events/CalendarLayoutChangeEvent.as
+++ frameworks/projects/mx/src/mx/events/CalendarLayoutChangeEvent.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2006 Adobe Systems Incorporated
-//  All Rights Reserved.
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
 //
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

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

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

 package mx.skins.halo
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5181
Author:   dsubrama@adobe.com
Date:     2009-03-05T22:40:12.746581Z

Log Message:
-----------
List work:

-Introduction of two new interfaces that formalize communication between a component and its renderers: IItemRenderer, IItemRendererOwner
-Removed ISelectableRenderer from use by ButtonBar. ButtonBar now works with the above-mentioned interfaces.
-Added labelField/labelFunction to ListBase - usable by List and ButtonBar.
-Introduced new utility class, LabelUtils, which returns the correct text for a data item's renderer given a labelField and labelFunction.
-Removed data-binding from FxDefaultItemRenderer - the new interfaces determine how a component stuffs the right text into the renderer's optional part, labelElement.

Checkintests: Pass
Mustella: ButtonBar and List tests pass
Reviewer: Ryan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDefaultItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/ItemRenderer.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/ISelectableRenderer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/utils/LabelUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/IItemRendererOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/ButtonBarButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButtonBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/IItemRenderer.as</path>

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

--- frameworks/projects/spark/src/spark/components/ButtonBarButton.as
+++ frameworks/projects/spark/src/spark/components/ButtonBarButton.as
@@ -14,8 +14,7 @@
 import flash.events.MouseEvent;

 import mx.components.FxButton;
-import mx.core.IDataRenderer;
-import mx.core.ISelectableRenderer;
+import mx.components.IItemRenderer;
 import mx.core.mx_internal;

 /**
@@ -23,7 +22,7 @@
  *  and proxies the label property with the data
  *  property. Used in the default skin for the ButtonBar.
  */
-public class ButtonBarButton extends FxToggleButton implements IDataRenderer, ISelectableRenderer
+public class ButtonBarButton extends FxToggleButton implements IItemRenderer
 {
     /**
      *  Constructor.


Transferred from the Adobe Open Source Subversion Repository

Revision: 19851
Author:   mcho@adobe.com
Date:     2011-01-20T23:07:11.305461Z

Log Message:
-----------
More precise text alignment for mobile components

QE notes: Components with tend to be narrower and shorter for the View Menu.  Must update baselines that use x, y, width, height.
Doc notes: None
Bugs:
Reviewer: Ryan, Jason Szeto, Jason SJ, Glenn
Tests run:
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewMenuItemSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TabbedViewNavigatorButtonBarButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as
@@ -500,10 +500,6 @@
         {
             return IFlexDisplayObject(element).measuredWidth;
         }
-        else if (element is StyleableTextField)
-        {
-            return StyleableTextField(element).measuredTextSize.x;
-        }
         else
         {
             return element.width;
@@ -542,11 +538,7 @@
         {
             return IFlexDisplayObject(element).measuredHeight;
         }
-        else if (element is StyleableTextField)
-        {
-            return StyleableTextField(element).measuredTextSize.y;
-        }
-        else
+		else
         {
             return element.height;
         }


Remove final from Camera.

Remove final from Camera.

--- src/aerys/minko/scene/node/Camera.as
+++ src/aerys/minko/scene/node/Camera.as
@@ -14,7 +14,7 @@
 	 * @author Jean-Marc Le Roux
 	 *
 	 */
-	public final class Camera extends AbstractSceneNode implements IDataProvider
+	public class Camera extends AbstractSceneNode implements IDataProvider
 	{
 		public static const DEFAULT_FOV			: Number	= Math.PI * .25;
 		public static const DEFAULT_ZNEAR		: Number	= .1;


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

--- frameworks/projects/framework/src/mx/effects/Blur.as
+++ frameworks/projects/framework/src/mx/effects/Blur.as
@@ -0,0 +1,168 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.effects
+{
+
+import mx.effects.effectClasses.BlurInstance;
+
+/**
+ *  The Blur effect lets you apply a blur visual effect to a component.
+ *  A Blur effect softens the details of an image.
+ *  You can produce blurs that range from a softly unfocused look to a Gaussian
+ *  blur, a hazy appearance like viewing an image through semi-opaque glass.
+ *
+ *
The Blur effect uses the Flash BlurFilter class
+ *  as part of its implementation.
+ *  For more information, see flash.filters.BlurFilter.

+ *
+ *
If you apply a Blur effect to a component, you cannot apply a BlurFilter
+ *  or a second Blur effect to the component.

+ *
+ *  @mxml
+ *
+ *
The <mx:Blur> tag
+ *  inherits all of the tag attributes of its superclass,
+ *  and adds the following tag attributes:

+ *
+ *

+ *  <mx:Blur
+ *    id="ID"
+ *    blurXFrom="val"
+ *    blurXTo="val"
+ *    blurYFrom="val"
+ *    blurYTo="val"
+ *  />
+ *

+ *
+ *  @see flash.filters.BlurFilter
+ *  @see mx.effects.effectClasses.BlurInstance
+ *
+ *  @includeExample examples/BlurEffectExample.mxml
+ */
+public class Blur extends TweenEffect
+{
+    include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private static var AFFECTED_PROPERTIES:Array = [ "filters" ];
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param target The Object to animate with this effect.
+	 */
+	public function Blur(target:Object = null)
+	{
+		super(target);
+
+		instanceClass = BlurInstance;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  blurXFrom
+	//----------------------------------
+
+	[Inspectable(category="General", defaultValue="NaN")]
+
+	/**
+	 *  The starting amount of horizontal blur.
+	 *  Valid values are from 0.0 to 255.0.
+	 */
+	public var blurXFrom:Number;
+
+	//----------------------------------
+	//  blurXTo
+	//----------------------------------
+
+	[Inspectable(category="General", defaultValue="NaN")]
+
+	/**
+	 *  The ending amount of horizontal blur.
+	 *  Valid values are from 0.0 to 255.0.
+	 */
+	public var blurXTo:Number;
+
+	//----------------------------------
+	//  blurYFrom
+	//----------------------------------
+
+	[Inspectable(category="General", defaultValue="NaN")]
+
+	/**
+	 *  The starting amount of vertical blur.
+	 *  Valid values are from 0.0 to 255.0.
+	 */
+	public var blurYFrom:Number;
+
+	//----------------------------------
+	//  blurYTo
+	//----------------------------------
+
+	[Inspectable(category="General", defaultValue="NaN")]
+
+	/**
+	 *  The ending amount of vertical blur.
+	 *  Valid values are from 0.0 to 255.0.
+	 */
+	public var blurYTo:Number;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	override public function getAffectedProperties():Array /* of String */
+	{
+		return AFFECTED_PROPERTIES;
+	}
+
+	/**
+	 *  @private
+	 */
+	override protected function initInstance(instance:IEffectInstance):void
+	{
+		super.initInstance(instance);
+
+		var blurInstance:BlurInstance = BlurInstance(instance);
+
+		blurInstance.blurXFrom = blurXFrom;
+		blurInstance.blurXTo = blurXTo;
+		blurInstance.blurYFrom = blurYFrom;
+		blurInstance.blurYTo = blurYTo;
+	}
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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


Some method documentation.

Some method documentation.

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

--- src/as/com/threerings/io/ObjectInputStream.as
+++ src/as/com/threerings/io/ObjectInputStream.as
@@ -205,6 +205,10 @@
         return _source.readByte();
     }

+    /**
+     * Read bytes into the byte array. If length is not specified, then
+     * enough bytes to fill the array (from the offset) are read.
+     */
     public function readBytes (bytes :ByteArray, offset :uint = 0,
             length :int = -1) :void
         //throws IOError


added stopPropagation function to EventCallbackCollection

--- WeaveJS/src/weavejs/core/EventCallbackCollection.as
+++ WeaveJS/src/weavejs/core/EventCallbackCollection.as
@@ -17,14 +17,16 @@
 {
 	public class EventCallbackCollection/*/<T>/*/ extends CallbackCollection
 	{
-		public function EventCallbackCollection()
+		public function EventCallbackCollection(stopPropagation:/*/(event:T)=>void/*/Function = null)
 		{
 			// specify the preCallback function in super() so data will be set before each callback.
-			super(_setEvent);
+			super(_setEvent);
+			this._stopPropagation = stopPropagation;
 		}

 		// This variable is set before each callback runs
 		private var _event:Object = null;
+		private var _stopPropagation:Function = null;

 		private function _setEvent(event:Object = null):void
 		{
@@ -49,6 +51,15 @@
 			var prevEvent:Object = _event;
 			_runCallbacksImmediately(event);
 			_setEvent(prevEvent);
+		}
+
+		/**
+		 * calls the stopPropagation function which was passed to the constructor.
+		 */
+		public function stopPropagation():void
+		{
+			if (_stopPropagation != null)
+				_stopPropagation(event);
 		}
 	}
 }


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

--- frameworks/projects/mx/src/mx/skins/halo/ButtonSkin.as
+++ frameworks/projects/mx/src/mx/skins/halo/ButtonSkin.as
@@ -0,0 +1,327 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.skins.halo
+{
+
+import flash.display.GradientType;
+import mx.core.IButton;
+import mx.core.UIComponent;
+import mx.skins.Border;
+import mx.styles.StyleManager;
+import mx.utils.ColorUtil;
+
+/**
+ *  The skin for all the states of a Button.
+ */
+public class ButtonSkin extends Border
+{
+	include "../../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private static var cache:Object = {};
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Several colors used for drawing are calculated from the base colors
+	 *  of the component (themeColor, borderColor and fillColors).
+	 *  Since these calculations can be a bit expensive,
+	 *  we calculate once per color set and cache the results.
+	 */
+	private static function calcDerivedStyles(themeColor:uint,
+											  fillColor0:uint,
+											  fillColor1:uint):Object
+	{
+		var key:String = HaloColors.getCacheKey(themeColor,
+												fillColor0, fillColor1);
+
+		if (!cache[key])
+		{
+			var o:Object = cache[key] = {};
+
+			// Cross-component styles.
+			HaloColors.addHaloColors(o, themeColor, fillColor0, fillColor1);
+		}
+
+		return cache[key];
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 */
+	public function ButtonSkin()
+	{
+		super();
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  measuredWidth
+	//----------------------------------
+
+	/**
+	 *  @private
+	 */
+	override public function get measuredWidth():Number
+	{
+		return UIComponent.DEFAULT_MEASURED_MIN_WIDTH;
+	}
+
+	//----------------------------------
+	//  measuredHeight
+	//----------------------------------
+
+	/**
+	 *  @private
+	 */
+	override public function get measuredHeight():Number
+	{
+		return UIComponent.DEFAULT_MEASURED_MIN_HEIGHT;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	override protected function updateDisplayList(w:Number, h:Number):void
+	{
+		super.updateDisplayList(w, h);
+
+		// User-defined styles.
+		var borderColor:uint = getStyle("borderColor");
+		var cornerRadius:Number = getStyle("cornerRadius");
+		var fillAlphas:Array = getStyle("fillAlphas");
+		var fillColors:Array = getStyle("fillColors");
+		StyleManager.getColorNames(fillColors);
+		var highlightAlphas:Array = getStyle("highlightAlphas");
+		var themeColor:uint = getStyle("themeColor");
+
+		// Derivative styles.
+		var derStyles:Object = calcDerivedStyles(themeColor, fillColors[0],
+												 fillColors[1]);
+
+		var borderColorDrk1:Number =
+			ColorUtil.adjustBrightness2(borderColor, -50);
+
+		var themeColorDrk1:Number =
+			ColorUtil.adjustBrightness2(themeColor, -25);
+
+		var emph:Boolean = false;
+
+		if (parent is IButton)
+			emph = IButton(parent).emphasized;
+
+		var cr:Number = Math.max(0, cornerRadius);
+		var cr1:Number = Math.max(0, cornerRadius - 1);
+		var cr2:Number = Math.max(0, cornerRadius - 2);
+
+		var tmp:Number;
+
+		graphics.clear();
+
+		switch (name)
+		{
+			case "selectedUpSkin":
+			case "selectedOverSkin":
+			{
+				// button border/edge
+				drawRoundRect(
+					0, 0, w, h, cr,
+					[ themeColor, themeColorDrk1 ], 1,
+					verticalGradientMatrix(0, 0, w, h ));
+
+				// button fill
+				drawRoundRect(
+					1, 1, w - 2, h - 2, cr1,
+					[ fillColors[1], fillColors[1] ], 1,
+					verticalGradientMatrix(0, 0, w - 2, h - 2));
+
+				break;
+			}
+
+			case "upSkin":
+			{
+   				var upFillColors:Array = [ fillColors[0], fillColors[1] ];
+
+				var upFillAlphas:Array = [ fillAlphas[0], fillAlphas[1] ];
+
+				if (emph)
+				{
+					// button border/edge
+					drawRoundRect(
+						0, 0, w, h, cr,
+						[ themeColor, themeColorDrk1 ], 1,
+						verticalGradientMatrix(0, 0, w, h ),
+						GradientType.LINEAR, null,
+						{ x: 2, y: 2, w: w - 4, h: h - 4, r: cornerRadius - 2 });
+
+					// button fill
+					drawRoundRect(
+						2, 2, w - 4, h - 4, cr2,
+						upFillColors, upFillAlphas,
+						verticalGradientMatrix(2, 2, w - 2, h - 2));
+
+					// top highlight
+					drawRoundRect(
+						2, 2, w - 4, (h - 4) / 2,
+						{ tl: cr2, tr: cr2, bl: 0, br: 0 },
+						[ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
+						verticalGradientMatrix(1, 1, w - 2, (h - 2) / 2));
+				}
+				else
+				{
+					// button border/edge
+					drawRoundRect(
+						0, 0, w, h, cr,
+						[ borderColor, borderColorDrk1 ], 1,
+						verticalGradientMatrix(0, 0, w, h ),
+						GradientType.LINEAR, null,
+						{ x: 1, y: 1, w: w - 2, h: h - 2, r: cornerRadius - 1 });
+
+					// button fill
+					drawRoundRect(
+						1, 1, w - 2, h - 2, cr1,
+						upFillColors, upFillAlphas,
+						verticalGradientMatrix(1, 1, w - 2, h - 2));
+
+					// top highlight
+					drawRoundRect(
+						1, 1, w - 2, (h - 2) / 2,
+						{ tl: cr1, tr: cr1, bl: 0, br: 0 },
+						[ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
+						verticalGradientMatrix(1, 1, w - 2, (h - 2) / 2));
+				}
+				break;
+			}
+
+			case "overSkin":
+			{
+				var overFillColors:Array;
+				if (fillColors.length > 2)
+					overFillColors = [ fillColors[2], fillColors[3] ];
+				else
+					overFillColors = [ fillColors[0], fillColors[1] ];
+
+				var overFillAlphas:Array;
+				if (fillAlphas.length > 2)
+					overFillAlphas = [ fillAlphas[2], fillAlphas[3] ];
+  				else
+					overFillAlphas = [ fillAlphas[0], fillAlphas[1] ];
+
+				// button border/edge
+				drawRoundRect(
+					0, 0, w, h, cr,
+					[ themeColor, themeColorDrk1 ], 1,
+					verticalGradientMatrix(0, 0, w, h),
+					GradientType.LINEAR, null,
+					{ x: 1, y: 1, w: w - 2, h: h - 2, r: cornerRadius - 1 });
+
+				// button fill
+				drawRoundRect(
+					1, 1, w - 2, h - 2, cr1,
+					overFillColors, overFillAlphas,
+					verticalGradientMatrix(1, 1, w - 2, h - 2));
+
+				// top highlight
+				drawRoundRect(
+					1, 1, w - 2, (h - 2) / 2,
+					{ tl: cr1, tr: cr1, bl: 0, br: 0 },
+					[ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
+					verticalGradientMatrix(1, 1, w - 2, (h - 2) / 2));
+
+				break;
+			}
+
+			case "downSkin":
+			case "selectedDownSkin":
+			{
+				// button border/edge
+				drawRoundRect(
+					0, 0, w, h, cr,
+					[ themeColor, themeColorDrk1 ], 1,
+					verticalGradientMatrix(0, 0, w, h ));
+
+				// button fill
+				drawRoundRect(
+					1, 1, w - 2, h - 2, cr1,
+					[ derStyles.fillColorPress1, derStyles.fillColorPress2], 1,
+					verticalGradientMatrix(1, 1, w - 2, h - 2));
+
+				// top highlight
+				drawRoundRect(
+					2, 2, w - 4, (h - 4) / 2,
+					{ tl: cr2, tr: cr2, bl: 0, br: 0 },
+					[ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
+					verticalGradientMatrix(1, 1, w - 2, (h - 2) / 2));
+
+				break;
+			}
+
+			case "disabledSkin":
+			case "selectedDisabledSkin":
+			{
+   				var disFillColors:Array = [ fillColors[0], fillColors[1] ];
+
+				var disFillAlphas:Array =
+					[ Math.max( 0, fillAlphas[0] - 0.15),
+					  Math.max( 0, fillAlphas[1] - 0.15) ];
+
+				// button border/edge
+				drawRoundRect(
+					0, 0, w, h, cr,
+					[ borderColor, borderColorDrk1 ], 0.5,
+					verticalGradientMatrix(0, 0, w, h ),
+					GradientType.LINEAR, null,
+					{ x: 1, y: 1, w: w - 2, h: h - 2, r: cornerRadius - 1 });
+
+				// button fill
+				drawRoundRect(
+					1, 1, w - 2, h - 2, cr1,
+					disFillColors, disFillAlphas,
+					verticalGradientMatrix(1, 1, w - 2, h - 2));
+
+				break;
+			}
+		}
+	}
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 12460
Author:   smgilson@adobe.com
Date:     2009-12-03T19:33:29.234833Z

Log Message:
-----------
asdoc localization update

QE notes: -
Doc notes: -
Bugs: -
Reviewer: -
Tests run: - checkintests
Is noteworthy for integration: No

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

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -123,10 +123,10 @@
  *  Must be of type IFlexDisplayObject.
  *
  *
If the class implements the ILayoutManagerClient interface,
- *  then the instance will be validated by the DragManager.

+ *  then the instance is validated by the DragManager.

  *
  *
If the class implements the IVisualElement interface,
- *  then the instance's owner property will be set to the List
+ *  then the instance's owner property is set to the List
  *  that initiates the drag.

  *
  *
The AIR DragManager takes a snapshot of the instance, while
@@ -204,7 +204,7 @@

 /**
  *  The List control displays a vertical list of items.
- *  Its functionality is very similar to that of the SELECT
+ *  Its functionality is similar to that of the SELECT
  *  form element in HTML.
  *  If there are more items than can be displayed at once, it
  *  can display a vertical scroll bar so the user can access
@@ -508,7 +508,7 @@
     private var _allowMultipleSelection:Boolean = false;

     /**
-     *  If true multiple selections is enabled.
+     *  If true multiple selection is enabled.
      *  When switched at run time, the current selection
      *  is cleared.
      *
@@ -763,7 +763,7 @@
     [Bindable("change")]

     /**
-     *  An Vector of Objects representing the currently selected data items.
+     *  A Vector of Objects representing the currently selected data items.
      *  If multiple selection is disabled by setting allowMultipleSelection
      *  to false, and this property is set, the data item
      *  corresponding to the first item in the Vector is selected.
@@ -1601,7 +1601,7 @@

     /**
      *  Creates and instance of the dropIndicator class that is used to
-     *  display the visuals of the drop location during a drag and dorp
+     *  display the visuals of the drop location during a drag and drop
      *  operation. The instance is set in the layout's
      *  dropIndicator property.
      *
@@ -2324,12 +2324,12 @@
     /**
      *  Adjusts the selection based on what keystroke or
      *  keystroke combinations were encountered. The keystroke
-     *  is sent down to the layout and its up to the layout's
+     *  is sent down to the layout and it is up to the layout's
      *  getNavigationDestinationIndex() method to determine
      *  what the index to navigate to based on the item that
      *  is currently in focus. Once the index is determined,
      *  single selection, caret item and if necessary, multiple
-     *  selection are fixed up to reflect the newly selected
+     *  selections are updated to reflect the newly selected
      *  item.
      *
      *  @param event The Keyboard Event encountered


Transferred from the Adobe Open Source Subversion Repository

Revision: 10943
Author:   egeorgie@adobe.com
Date:     2009-10-08T22:46:27.680372Z

Log Message:
-----------
Fix to dragging from List with multiple-selection

- The fix is to postpone the selection commit until we make sure the user has not started a drag gesture.
- Exclude the dragEnabled, dropEnabled, dragMoveEnabled properties for DropDownList

QE notes: None
Doc notes: None
Bugs: None
Reviewer: Deepa
Tests run: checkintests, mustella List, DropDownList
Is noteworthy for integration: No

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

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -258,6 +258,17 @@
      */
     private var mouseDownIndex:int = -1;

+    /**
+     *  @private
+     *  When dragging is enabled with multiple selection, the selection is not
+     *  comitted immediately on mouse down, but we wait to see whether the user
+     *  intended to start a drag gesture instead. In that case we postpone
+     *  comitting the selection until mouse up.
+     */
+    private var pendingSelectionOnMouseUp:Boolean = false;
+    private var pendingSelectionShiftKey:Boolean;
+    private var pendingSelectionCtrlKey:Boolean;
+
     //--------------------------------------------------------------------------
     //
     //  Skin Parts
@@ -967,11 +978,10 @@
      *  Taking into account which modifier keys were clicked, the new
      *  selectedIndices interval is calculated.
      */
-    private function calculateSelectedIndicesInterval(renderer:IVisualElement, shiftKey:Boolean, ctrlKey:Boolean):Vector.<int>
+    private function calculateSelectedIndicesInterval(index:int, shiftKey:Boolean, ctrlKey:Boolean):Vector.<int>
     {
         var i:int;
         var interval:Vector.<int> = new Vector.<int>();
-        var index:Number = dataGroup.getElementIndex(renderer);

         if (!shiftKey)
         {
@@ -1219,14 +1229,12 @@
      */
     protected function item_mouseDownHandler(event:MouseEvent):void
     {
-        // Handle the fixup of selection
-        var newIndex:Number;
-
+        // Handle the fixup of selection
+        var newIndex:Number = dataGroup.getElementIndex(event.currentTarget as IVisualElement);
+
         if (!allowMultipleSelection)
         {
             // Single selection case, set the selectedIndex
-            newIndex = dataGroup.getElementIndex(event.currentTarget as IVisualElement);
-
             var currentRenderer:IItemRenderer;
             if (caretIndex >= 0)
             {
@@ -1244,21 +1252,26 @@
         }
         else
         {
-            // Multiple selection is handled by the helper method below
-            selectedIndices = calculateSelectedIndicesInterval(event.currentTarget as IVisualElement, event.shiftKey, event.ctrlKey);
+            // Don't commit the selection immediately, but wait to see if the user
+            // is actually dragging. If they don't drag, then commit the selection
+            if (dragEnabled && isItemIndexSelected(newIndex))
+            {
+                pendingSelectionOnMouseUp = true;
+                pendingSelectionShiftKey = event.shiftKey;
+                pendingSelectionCtrlKey = event.ctrlKey;
+            }
+            else
+            {
+                selectedIndices = calculateSelectedIndicesInterval(newIndex, event.shiftKey, event.ctrlKey);
+            }
         }

         // Handle any drag gestures that may have been started
-        var renderer:IItemRenderer = event.currentTarget as IItemRenderer;
-        if (!renderer || !dragEnabled)
+        if (!dragEnabled)
             return;

         mouseDownPoint = event.target.localToGlobal(new Point(event.localX, event.localY));
-
-        // Find the index of the item we're down on, this is the drag focus item.
-        // FIXME (egeorgie): When we start selecting/updating caret on mouse down, reuse the caret item,
-        // instead of calculating the index.
-        mouseDownIndex = dataGroup.getElementIndex(renderer);
+        mouseDownIndex = newIndex;

         // Listen for MOUSE_MOVE on both the list and the sandboxRoot.
         // The user may have cliked on the item renderer close
@@ -1318,6 +1331,13 @@

     private function removeMouseHandlersForDragStart():void
     {
+        // If dragging failed, but we had a pending selection, commit it here
+        if (pendingSelectionOnMouseUp && !DragManager.isDragging)
+        {
+            selectedIndices = calculateSelectedIndicesInterval(mouseDownIndex, pendingSelectionShiftKey, pendingSelectionCtrlKey);
+            pendingSelectionOnMouseUp = false;
+        }
+
         mouseDownPoint = null;
         mouseDownIndex = -1;


M Improve dotty writer. It now features  * Dummy nodes to identify outputposition, outputcolor and kill nodes  * Variadic extract nodes (they were not implemented)  * Parameter sizes

--- src/aerys/minko/render/shader/compiler/graph/visitors/WriteDot.as
+++ src/aerys/minko/render/shader/compiler/graph/visitors/WriteDot.as
@@ -1,5 +1,6 @@
 package aerys.minko.render.shader.compiler.graph.visitors
 {
+	import aerys.minko.render.shader.compiler.graph.ShaderGraph;
 	import aerys.minko.render.shader.compiler.graph.nodes.INode;
 	import aerys.minko.render.shader.compiler.graph.nodes.leaf.Attribute;
 	import aerys.minko.render.shader.compiler.graph.nodes.leaf.BindableConstant;
@@ -10,6 +11,7 @@
 	import aerys.minko.render.shader.compiler.graph.nodes.vertex.Instruction;
 	import aerys.minko.render.shader.compiler.graph.nodes.vertex.Interpolate;
 	import aerys.minko.render.shader.compiler.graph.nodes.vertex.Overwriter;
+	import aerys.minko.render.shader.compiler.graph.nodes.vertex.VariadicExtract;
 	import aerys.minko.render.shader.compiler.register.Components;

 	import flash.utils.Dictionary;
@@ -38,6 +40,37 @@
 			super(true);
 		}

+		override public function process(shaderGraph : ShaderGraph) : void
+		{
+			_shaderGraph = shaderGraph;
+
+			var outputPosition	: Object = { id: 'outputPosition' };
+			var outputColor		: Object = { id: 'outputColor' };
+			var kills			: Object = { id: 'kills' };
+
+			start();
+
+			appendNode(outputPosition, 'orange', 'Output Position');
+			appendNode(outputColor, 'orange', 'Output Color');
+
+			if (_shaderGraph.kills.length != 0)
+				appendNode(kills, 'orange', 'Kills');
+
+			visit(_shaderGraph.position, true);
+			appendLink(outputPosition, _shaderGraph.position);
+
+			visit(_shaderGraph.color, false);
+			appendLink(outputColor, _shaderGraph.color);
+
+			for each (var kill : INode in _shaderGraph.kills)
+			{
+				visit(kill, false);
+				appendLink(kills, kill);
+			}
+
+			finish();
+		}
+
 		override protected function start() : void
 		{
 			_nodes		= "";
@@ -117,13 +150,13 @@
 		override protected function visitConstant(constant			: Constant,
 												  isVertexShader	: Boolean) : void
 		{
-			appendNode(constant, 'plum1', 'Constant', constant.value.join(',\\n'));
+			appendNode(constant, 'plum1', 'Constant (' + constant.size + ')', constant.value.join(',\\n'));
 		}

 		override protected function visitBindableConstant(bindableConstant	: BindableConstant,
 														  isVertexShader	: Boolean) : void
 		{
-			appendNode(bindableConstant, 'palegreen1', 'Parameter', bindableConstant.bindingName);
+			appendNode(bindableConstant, 'palegreen1', 'Parameter (' + bindableConstant.size + ')', bindableConstant.bindingName);

 			var subGraph : INode = _shaderGraph.computableConstants[bindableConstant.bindingName] as INode;

@@ -144,6 +177,18 @@
 														 isVertexShader		: Boolean) : void
 		{
 			appendNode(bindableSampler, 'darkolivegreen3', 'BindableSampler', bindableSampler.bindingName);
+		}
+
+		override protected function visitVariadicExtract(variadicExtract	: VariadicExtract,
+														 isVertexShader		: Boolean) : void
+		{
+			appendNode(variadicExtract, 'cadetblue1', 'VariadicExtract');
+
+			visit(variadicExtract.index, isVertexShader);
+			appendLink(variadicExtract, variadicExtract.index);
+
+			visit(variadicExtract.constant, isVertexShader);
+			appendLink(variadicExtract, variadicExtract.constant);
 		}

 		private function appendNode(node		: Object,


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

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

 package mx.controls.advancedDataGridClasses
 {