more code for compiling statements

more code for compiling statements

--- WeaveCore/src/weave/compiler/Compiler.as
+++ WeaveCore/src/weave/compiler/Compiler.as
@@ -90,10 +90,33 @@
 			ST_IF, ST_FOR, ST_FOR_EACH, ST_WHILE, ST_SWITCH, ST_CATCH
 		];

-		private static const _PARAMS:String = 'PARAMS'; // must be enclosed in ()
-		private static const _STMT:String = 'STMT'; // may contain multiple statements enclosed in {}
-		private static const _EXPR:String = 'EXPR'; // may only contain one expression, optionally enclosed in (), no statements
-		// longer patterns appear earlier so they will match before shorter patterns when checked in order
+		/**
+		 * must be enclosed in () with expressions separated by ;
+		 * Used in conjunction with _validStatementPatterns.
+		 */
+		private static const _PARAMS:String = 'PARAMS';
+
+		/**
+		 * MUST be a {} code block.
+		 * Used in conjunction with _validStatementPatterns.
+		 */
+		private static const _BLOCK:String = 'BLOCK';
+
+		/**
+		 * may contain either a single statement or a {} code block.
+		 * Used in conjunction with _validStatementPatterns.
+		 */
+		private static const _STMT:String = 'STMT';
+
+		/**
+		 * may only contain one expression, optionally enclosed in (), no statements.
+		 * Used in conjunction with _validStatementPatterns.
+		 */
+		private static const _EXPR:String = 'EXPR';
+
+		/**
+		 * longer patterns appear earlier so they will match before shorter patterns when checked in order
+		 */
 		private static const _validStatementPatterns:Array = [
 			[ST_IF, _PARAMS, _STMT, ST_ELSE, _STMT],
 			[ST_IF, _PARAMS, _STMT],
@@ -101,9 +124,9 @@
 			[ST_FOR, _PARAMS, _STMT],
 			[ST_DO, _STMT, ST_WHILE, _PARAMS],
 			[ST_WHILE, _PARAMS, _STMT],
-			[ST_TRY, _STMT, ST_CATCH, _PARAMS, _STMT, ST_FINALLY, _STMT],
-			[ST_TRY, _STMT, ST_FINALLY, _STMT],
-			[ST_TRY, _STMT, ST_CATCH, _PARAMS, _STMT],
+			[ST_TRY, _BLOCK, ST_CATCH, _PARAMS, _BLOCK, ST_FINALLY, _BLOCK],
+			[ST_TRY, _BLOCK, ST_FINALLY, _BLOCK],
+			[ST_TRY, _BLOCK, ST_CATCH, _PARAMS, _BLOCK],
 			[ST_BREAK],
 			[ST_CONTINUE],
 			[ST_RETURN, _EXPR],
@@ -589,11 +612,12 @@

 			var i:int;
 			var token:String;
+			var str:String;

 			// first step: compile quoted Strings and Numbers
 			for (i = 0; i < tokens.length; i++)
 			{
-				var str:String = tokens[i] as String;
+				str = tokens[i] as String;
 				if (!str)
 					continue;

@@ -771,7 +795,7 @@
 					return compileOperator(';', compileArray(tokens, ';'));

 				// decompile each token for the error message
-				var str:String = '';
+				str = '';
 				for each (var tok:* in tokens)
 					str += (str ? ' ' : '') + (tok as String || decompileObject(tok));
 				throw new Error("Unexpected semicolon: " + str);
@@ -1149,49 +1173,60 @@
 		private function compileStatements(tokens:Array, startIndex:int = 0):void
 		{
 			return;
-			// TODO: use _validStatementPatterns
-			//TODO: if first token is a statement, then use _validStatementPatterns.  any leftover tokens means there is an error
-			// determine types of all tokens, then array compare on items in _validStatementParams.
-
-
-			var i:int;
-			var j:int;
-			var stmt:String;
+			//TOOD
+
+
+			var stmt:String = tokens[startIndex];
+			if (!statements.hasOwnProperty(stmt))
+				return;

 			if (startIndex == 0)
-			{
-				// verify that everything except statements have been compiled and that statements have the correct number of parameters
-				for (i = 0; i < tokens.length; i++)
-				{
-					if (tokens[i] is ICompiledObject)
-					{
-						// ok
-					}
-					else if (statements.hasOwnProperty(tokens[i]))
-					{
-						assertValidStatementParams(tokens, i);
-					}
-					else
-						throw new Error("Unexpected token: " + tokens[i]);
-				}
-			}
-
-			i = findNextStatement(tokens, startIndex);
-
-			// stop when there are no statements
-			if (i >= tokens.length)
-				return;
-
-			stmt = tokens[i];
-			if (statements[stmt]) // requires params.  Example:  if () {}
-			{
-				compileStatements(tokens, i + 2);
-			}
-			else // no params.  Example:  else {}
-			{
-				compileStatements(tokens, i + 1);
-			}
-
+				assertValidStatementParams(tokens);
+
+			// find a matching statement pattern
+			nextPattern: for each (var pattern:Array in _validStatementPatterns)
+			{
+				for (var i:int = 0; i < pattern.length; i++)
+				{
+					var type:String = pattern[i];
+					var token:Object = tokens[startIndex + i];
+					var cfc:CompiledFunctionCall = token as CompiledFunctionCall;
+
+					if (statements.hasOwnProperty(type) && token != type)
+						continue nextPattern;
+
+					if (type == _PARAMS)
+						continue; // params have already been verified
+
+					if (type == _EXPR) // non-statement
+					{
+						if (statements.hasOwnProperty(token))
+							throw new Error('Unexpected "' + token + '"');
+						if (cfc && cfc.evaluatedMethod == operators[';'])
+							throwInvalidSyntax(stmt);
+					}
+
+					if (type == _STMT)
+					{
+						compileStatements(tokens, startIndex + i);
+					}
+
+					if (type == _BLOCK)
+					{
+						if (!cfc || cfc.evaluatedMethod != operators[';'])
+							throwInvalidSyntax(stmt);
+					}
+				}
+
+				// found matching pattern
+				//TODO: compile
+			}
+
+			// no matching pattern found
+			throwInvalidSyntax(stmt);
+		}
+
+		/*
 			// now everything to the right of the current statement and its params have been taken care of.

 			var cfc:CompiledFunctionCall;
@@ -1236,40 +1271,44 @@
 					return;
 			}
 		}
-
-		private function assertValidStatementParams(tokens:Array, index:int):void
-		{
-			var statement:String = tokens[index] as String;
-			if (statements[statement]) // requires parameters?
-			{
-				// statement parameters must be wrapped in operator ';' call
-				var params:CompiledFunctionCall = tokens[index + 1] as CompiledFunctionCall;
-				if (!params || params.evaluatedMethod != operators[';'])
-					throwInvalidSyntax(statement);
-
-				var cpl:int = params.compiledParams.length;
-				if (statement == ST_FOR || statement == ST_FOR_EACH)
-				{
-					// 'for' and 'for each' require either 3 or 1 statement params
-					if (cpl != 3 && cpl != 1)
+		*/
+
+		private function assertValidStatementParams(tokens:Array):void
+		{
+			for (var index:int = 0; index < tokens.length; index++)
+			{
+				var statement:String = tokens[index] as String;
+				if (statements[statement]) // requires parameters?
+				{
+					// statement parameters must be wrapped in operator ';' call
+					var params:CompiledFunctionCall = tokens[index + 1] as CompiledFunctionCall;
+					if (!params || params.evaluatedMethod != operators[';'])
 						throwInvalidSyntax(statement);

-					if (cpl == 1)
-					{
-						// if 'for' or 'for each' has only one param, it must be the 'in' operator
-						var cfc:CompiledFunctionCall = params.compiledParams[0] as CompiledFunctionCall;
-						if (!cfc || cfc.evaluatedMethod != operators['in'])
+					var cpl:int = params.compiledParams.length;
+					if (statement == ST_FOR || statement == ST_FOR_EACH)
+					{
+						// 'for' and 'for each' require either 3 or 1 statement params
+						if (cpl != 3 && cpl != 1)
 							throwInvalidSyntax(statement);

-						// the 'in' operator must have a variable or property reference as its first parameter
-						cfc = cfc.compiledParams[0];
-						if (cfc.compiledParams != null || cfc.evaluatedMethod != operators['.']) // not a variable and not a property
-							throwInvalidSyntax(statement);
-					}
-				}
-				else if (cpl != 1)
-				{
-					throwInvalidSyntax(statement);
+						if (cpl == 1)
+						{
+							// if 'for' or 'for each' has only one param, it must be the 'in' operator
+							var cfc:CompiledFunctionCall = params.compiledParams[0] as CompiledFunctionCall;
+							if (!cfc || cfc.evaluatedMethod != operators['in'])
+								throwInvalidSyntax(statement);
+
+							// the 'in' operator must have a variable or property reference as its first parameter
+							cfc = cfc.compiledParams[0];
+							if (cfc.compiledParams != null || cfc.evaluatedMethod != operators['.']) // not a variable and not a property
+								throwInvalidSyntax(statement);
+						}
+					}
+					else if (cpl != 1)
+					{
+						throwInvalidSyntax(statement);
+					}
 				}
 			}
 		}
@@ -1725,21 +1764,9 @@
 					catch (e:Error)
 					{
 						if (ignoreRuntimeErrors)
-						{
 							result = undefined;
-						}
 						else
-						{
-							/*
-							if (compiledParams && call.evaluatedMethod == null)
-							{
-								while (call.compiledMethod is CompiledFunctionCall && call.evaluatedMethod == null)
-									call = call.compiledMethod as CompiledFunctionCall;
-								throw new Error("Undefined method: " + call.evaluatedMethod || (call.compiledMethod as CompiledConstant).value);
-							}
-							*/
 							throw e;
-						}
 					}
 					// remove this call from the stack
 					stack.pop();


We don't need lightId anymore to create a depth shader.

--- src/aerys/minko/render/material/phong/VarianceShadowMapShader.as
+++ src/aerys/minko/render/material/phong/VarianceShadowMapShader.as
@@ -58,10 +58,9 @@
 			_depthShaderPart = new LinearDepthShaderPart(this);
 		}

-
 		override protected function getVertexPosition() : SFloat
 		{
-			createDepthShaderPart(_lightId);
+			createDepthShaderPart();

 			return _depthShaderPart.getVertexPosition(_lightId, _vertexAnimationPart.getAnimatedVertexPosition(), _face);
 		}
@@ -73,7 +72,7 @@
 		{
 			if (_depthShaderPart == null)
 			{
-				createDepthShaderPart(_lightId);
+				createDepthShaderPart();
 			}

 			var depth	: SFloat	= _depthShaderPart.getPixelColor(_lightId);


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

--- frameworks/projects/automation_dmv/src/mx/automation/delegates/charts/PlotSeriesAutomationImpl.as
+++ frameworks/projects/automation_dmv/src/mx/automation/delegates/charts/PlotSeriesAutomationImpl.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.
 //
 ////////////////////////////////////////////////////////////////////////////////


Update instructions on pause screen.

Update instructions on pause screen.

--- src/MorningStroll.as
+++ src/MorningStroll.as
@@ -34,14 +34,17 @@

       var pauseTitle:TextField = new Text(0, 0, FlxG.width,
         "Paused", Text.H1).getTextField();
-      var quitText:TextField = new Text(0, 0, FlxG.width,
-        "Press Q to quit").getTextField();
+      var instructions:TextField = new Text(0, 0, FlxG.width, [
+        "Arrow keys to move",
+        "Press Q to quit",
+        "Press 0, -, + for volume"
+      ].join("\n\n")).getTextField();

       pauseTitle.y = Text.BASELINE * 6;
-      quitText.y = pauseTitle.y + Text.BASELINE * 2;
+      instructions.y = pauseTitle.y + Text.BASELINE * 2;

       this._focus.addChild(pauseTitle);
-      this._focus.addChild(quitText);
+      this._focus.addChild(instructions);

       addChild(this._focus);


example

example

--- src/com/kemsky/Stream.as
+++ src/com/kemsky/Stream.as
@@ -974,6 +974,15 @@
          * @return A new Dictionary from the current stream using specified property values as keys.
          * @example
          *

+         *     var item1:Object = {id: 1, key: "key1"};
+         *     var item2:Object = {id: 2, key: "key1"};
+         *     var item3:Object = {id: 3, key: "key2"};
+         *     var s:Stream = $(item1, item2, item3);
+         *     var d:Dictionary = s.dictionary("key");
+         *     trace(d["key1"]);
+         *     //Stream{item1, item2}
+         *     trace(d["key2"]);
+         *     //Stream{item3}
          *

          */
         public function dictionary(property:String, weak:Boolean = false):Dictionary
@@ -997,6 +1006,21 @@
          * @return A new Dictionary or custom class created from factory which contains groups.
          * @example
          *

+         *     public class Groups
+         *     {
+         *        public var key1:Stream;
+         *        public var key2:Stream;
+         *     }
+         *
+         *     var item1:Object = {id: 1, key: "key1"};
+         *     var item2:Object = {id: 2, key: "key1"};
+         *     var item3:Object = {id: 3, key: "key2"};
+         *     var s:Stream = $(item1, item2, item3);
+         *     var d:Groups = s.group("key", Groups);
+         *     trace(d.key1);
+         *     //Stream{item1, item2}
+         *     trace(d.key2);
+         *     //Stream{item3}
          *

          */
         public function group(callback:Function, factory:Class = null):*
@@ -1022,6 +1046,15 @@
          * @return A new Object from current Stream using specified property as keys
          * @example
          *

+         *     var item1:Object = {id: 1, key: "key1"};
+         *     var item2:Object = {id: 2, key: "key1"};
+         *     var item3:Object = {id: 3, key: "key2"};
+         *     var s:Stream = $(item1, item2, item3);
+         *     var d:Object = s.object("key");
+         *     trace(d["key1"]);
+         *     //Stream{item1, item2}
+         *     trace(d["key2"]);
+         *     //Stream{item3}
          *

          */
         public function object(property:String):Object
@@ -1044,6 +1077,10 @@
          * @return A shallow copy of the current stream if deep is false; otherwise creates deep copy.
          * @example
          *

+         *     var s:Stream = $(1, 2);
+         *     var c:Stream = s.clone();
+         *     trace(c);
+         *     //Stream{1, 2}
          *

          */
         public function clone(deep:Boolean = false):Stream
@@ -1089,6 +1126,10 @@
          * @return A new reversed stream.
          * @example
          *

+         *     var s:Stream = $(1, 2);
+         *     var c:Stream = s.reverse();
+         *     trace(c);
+         *     //Stream{2, 1}
          *

          */
         public function reverse():Stream
@@ -1107,6 +1148,11 @@
          * @return  A new stream that contains the items from this stream followed by items from the parameters.
          * @example
          *

+         *     var a:Stream = $(1, 2);
+         *     var b:Stream = $(3);
+         *     var s:Stream = a.concat(b);
+         *     trace(s);
+         *     //Stream{1, 2, 3}
          *

          */
         public function concat(...rest):Stream
@@ -1147,6 +1193,10 @@
          * @return The first item (of any data type) in an stream.
          * @example
          *

+         *     var s:Stream = $(1, 2, 3);
+         *     s.shift();
+         *     trace(s);
+         *     //Stream{2, 3}
          *

          */
         public function shift():*
@@ -1162,6 +1212,10 @@
          * @return An integer representing the new length of the stream.
          * @example
          *

+         *     var s:Stream = $(1, 2, 3);
+         *     s.unshift(0);
+         *     trace(s);
+         *     //Stream{0, 1, 2, 3}
          *

          */
         public function unshift(...rest):uint


Revert "Adjusted low water threshold to more realistic value."

--- HLSPlugin/src/com/kaltura/hls/m2ts/M2TSFileHandler.as
+++ HLSPlugin/src/com/kaltura/hls/m2ts/M2TSFileHandler.as
@@ -371,7 +371,7 @@
 				}

-				if(timestamp < flvLowWater - 750 && !alwaysPass)
+				if(timestamp < flvLowWater - 100 && !alwaysPass)
 				{
 					trace("SKIPPING TOO LOW FLV TS @ " + timestamp);
 					return;


set velocity to zero in 'stand'-states enter function.

--- assets/scripts/character_states/stand.as
+++ assets/scripts/character_states/stand.as
@@ -1,5 +1,7 @@
 void enter(entity_impl& out owner) {
     owner.get_animation_component().play_ani("stand");
+    owner.get_character_physics_component().velocity(0);
+    owner.get_character_physics_component().angular_velocity(0);
 }

 void update(float delta_time, entity_impl& out owner) {
@@ -7,5 +9,5 @@
 }

 void leave(entity_impl& out owner) {
-
+
 }


Fixed bug where 100% stacked bars having 0 height wouldn't be rendered
correctly.
Simplified value label positioning code.

Change-Id: Ibe0a3fe86a7c017003cc7fe09ed23d95e2564113

--- WeaveUI/src/weave/visualization/plotters/CompoundBarChartPlotter.as
+++ WeaveUI/src/weave/visualization/plotters/CompoundBarChartPlotter.as
@@ -296,9 +296,6 @@
 					totalHeight = totalHeight + h;
 				}

-				var tempPositiveValueLabelPos:Number = 0;
-				var tempNegativeValueLabelPos:Number = 0;
-				var stackValueLabelPos:Number = 0;
 				// loop over height columns, incrementing y coordinates
 				for (var i:int = 0; i < _heightColumns.length; i++)
 				{
@@ -321,14 +318,14 @@
 					if (height >= 0)
 					{
 						//normalizing to 100% stack
-						if (_groupingMode == PERCENT_STACK)
+						if (_groupingMode == PERCENT_STACK && totalHeight)
 							yMax = yMin + (100 / totalHeight * height);
 						else
 							yMax = yMin + height;
 					}
 					else
 					{
-						if (_groupingMode == PERCENT_STACK)
+						if (_groupingMode == PERCENT_STACK && totalHeight)
 							yNegativeMax = yNegativeMin + (100 / totalHeight * height);
 						else
 							yNegativeMax = yNegativeMin + height;
@@ -499,16 +496,7 @@
 						//////////////////////////
 						// END draw graphics
 						//////////////////////////
-					}
-
-					if (_groupingMode != GROUP)
-					{
-						// the next bar starts on top of this bar
-						if (height >= 0)
-							yMin = yMax;
-						else
-							yNegativeMin = yNegativeMax;
-					}
+					}
 					//------------------------------------
 					// END code to draw one bar segment
 					//------------------------------------
@@ -521,25 +509,16 @@
 						_bitmapText.text = heightColumn.getValueFromKey(recordKey, String);

 						var valueLabelPos:Number = valueLabelDataCoordinate.value;
-						if(!(valueLabelPos <= Infinity)) // alternative to isNaN
-						{
+						if (!isFinite(valueLabelPos))
 							valueLabelPos = (height >= 0) ? yMax : yNegativeMax;
-						}

 						// For stack and percent stack bar charts, draw value label in the middle of each segment
 						if (_heightColumns.length > 1 && _groupingMode != GROUP)
 						{
 							if (height >= 0)
-							{
-								stackValueLabelPos = tempPositiveValueLabelPos + (valueLabelPos - tempPositiveValueLabelPos) / 2;
-								tempPositiveValueLabelPos = valueLabelPos;
-							}
+								valueLabelPos = (yMin + yMax) / 2;
 							else
-							{
-								stackValueLabelPos = tempNegativeValueLabelPos + (valueLabelPos - tempNegativeValueLabelPos) / 2;
-								tempNegativeValueLabelPos = valueLabelPos;
-							}
-							valueLabelPos = stackValueLabelPos;
+								valueLabelPos = (yNegativeMin + yNegativeMax) / 2;
 						}

 						if (!_horizontalMode)
@@ -622,7 +601,17 @@
 					}
 					//------------------------------------
 					// END code to draw one label using labelColumn
-					//------------------------------------
+					//------------------------------------
+
+					// update min values for next loop iteration
+					if (_groupingMode != GROUP)
+					{
+						// the next bar starts on top of this bar
+						if (height >= 0)
+							yMin = yMax;
+						else
+							yNegativeMin = yNegativeMax;
+					}
 				}
 				//------------------------------------
 				// END code to draw one compound bar
@@ -688,18 +677,18 @@

 			tempRange.setRange(0, 0); // bar starts at zero

-			var allMissing:Boolean = true;
-
-			for (var i:int = 0; i < _heightColumns.length; i++)
+
+			if (_groupingMode == PERCENT_STACK)
 			{
-				var column:IAttributeColumn = _heightColumns[i] as IAttributeColumn;
-				if (_groupingMode == PERCENT_STACK)
+				tempRange.begin = 0;
+				tempRange.end = 100;
+			}
+			else
+			{
+				var allMissing:Boolean = true;
+				for (var i:int = 0; i < _heightColumns.length; i++)
 				{
-					tempRange.begin = 0;
-					tempRange.end = 100;
-				}
-				else
-				{
+					var column:IAttributeColumn = _heightColumns[i] as IAttributeColumn;
 					var height:Number = column.getValueFromKey(recordKey, Number);
 					// if height is missing, use mean value
 					if (isNaN(height))
@@ -735,13 +724,13 @@
 							tempRange.begin += height;
 					}
 				}
+
+				if (allMissing)
+					tempRange.setRange(0, 0); // bar starts at zero
+
+				if (tempRange.end == 0)
+					tempRange.setRange(tempRange.end, tempRange.begin);
 			}
-
-			if (allMissing)
-				tempRange.setRange(0, 0); // bar starts at zero
-
-			if (tempRange.end == 0)
-				tempRange.setRange(tempRange.end, tempRange.begin);

 			if (horizontalMode.value) // x range
 				bounds.setXRange(tempRange.begin, tempRange.end);


clean up

clean up

--- Arguments/src/Controller/logic/NotAllSyllogism.as
+++ Arguments/src/Controller/logic/NotAllSyllogism.as
@@ -113,85 +113,5 @@
 				reasonModels[i].statement.addDependentStatement(inferenceModel.statements[i+1]);
 			}
 		}
-
-
-		/*
-		override public function get dbType():String
-		{
-			return _dbType;
-		}
-
-		override public function getLanguageType(dbString:String):String{
-			return _langTypes[0];
-		}
-
-		override public function createLinks():void
-		{
-			if(inference.claim.inference != null && !inference.claim.statementNegated)
-			{
-				Alert.show("Error: Statement cannot be positive");
-			}
-
-
-			if(inference.claim.multiStatement)
-			{
-				inference.claim.multiStatement = false;
-			}
-
-			for(var i:int=0; i < inference.reasons.length; i++)
-			{
-				if(inference.reasons[i].multiStatement)
-				{
-					inference.reasons[i].multiStatement = false;
-				}
-			}
-
-
-			if(inference.claim.userEntered == false && inference.claim.inference == null && inference.claim.rules.length < 2)
-			{
-				inference.claim.input1.text = "P";
-				inference.claim.makeUnEditable();
-				inference.reasons[0].input1.text = "Q";
-				inference.reasons[0].makeUnEditable();
-			}
-
-			if(!inference.claim.statementNegated)
-			{
-				inference.claim.statementNegated = true;
-			}
-
-
-			for(i=0; i < inference.reasons.length; i++)
-			{
-				if(inference.reasons[i].statementNegated)
-				{
-					inference.reasons[i].statementNegated = false;
-				}
-			}
-			inference.implies = false;
-
-			super.createLinks();
-
-
-		}
-
-		override public function correctUsage():String {
-			var output:String = "";
-			var reasonStr:String;
-			var i:int;
-
-			output += "It cannot be the case, at the same time, that ";
-			for(i=0;i<inference.reasons.length;i++)
-			{
-					output += inference.reasons[i].stmt + " and that ";
-					//inference.inputs[i+1].text = inference.reasons[i].stmt;
-					//inference.inputs[i+1].forwardUpdate();
-			}
-			output += inference.claim.positiveStmt;
-			//inference.inputs[0].text = inference.claim.positiveStmt;
-			//inference.inputs[0].forwardUpdate();
-			return output;
-		}
-		*/
 	}
 }


Improving internal YAML serlialization

Improving internal YAML serlialization

--- src/Modi/YAMLSerializator.as
+++ src/Modi/YAMLSerializator.as
@@ -2,6 +2,7 @@
 {
 	import flash.geom.Rectangle;
 	import flash.geom.Point;
+	import flash.utils.Dictionary;
 	import org.as3yaml.YAML;

 	public class YAMLSerializator implements ISerializator
@@ -11,13 +12,11 @@
 		private const SERIALIZATOR_STATE_MAP:String = "SERIALIZATOR_STATE_MAP";

 		private var _stack:Array;
-		private var _data:Object;

 		public function YAMLSerializator()
 		{
 			_stack = new Array();
-			_data = {};
-			_stack.push({data: _data, context: SERIALIZATOR_STATE_OBJECT});
+			_stack.push({data: {}, context: SERIALIZATOR_STATE_OBJECT});
 		}

 		private function stackTop():*
@@ -114,7 +113,7 @@

 		public function serializeData():*
 		{
-			var yamlData:String = YAML.encode(_data);
+			var yamlData:String = YAML.encode(stackTop());
 			return yamlData;
 		}


conversation links and scripts loading reversed

--- flexEditor/src/org/arisgames/editor/view/ItemEditorCharacterView.as
+++ flexEditor/src/org/arisgames/editor/view/ItemEditorCharacterView.as
@@ -261,8 +261,8 @@
 				var c:Conversation = new Conversation();
 				c.conversationId = obj.result.data.list.getItemAt(j).conversation_id;
 				c.nodeId = obj.result.data.list.getItemAt(j).node_id;
-				c.linkText = obj.result.data.list.getItemAt(j).text;
-				c.scriptText = obj.result.data.list.getItemAt(j).conversation_text;
+				c.linkText = obj.result.data.list.getItemAt(j).conversation_text;
+				c.scriptText = obj.result.data.list.getItemAt(j).text;
 				conversations.addItem(c);
 			}
 			trace("Loaded '" + conversations.length + "' Conversation(s).");


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 5190
Author:   hmuller@adobe.com
Date:     2009-03-06T14:55:28.277220Z

Log Message:
-----------
Initial support for mirroring: added mirror and dir properties to IVisualElement, mirroring logic to UIComponent, GraphicElement, UIMovieClip.  Mirroring in mx.core.SpriteVisualElement is just a stub.  Support for the mirror bit and the mirror transform is in mx.core.AdvancedLayoutFeatures.

QE Notes: Mustella tests pass
Doc Notes: None
Bugs:
Reviewer: Ryan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as
+++ frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as
@@ -508,6 +508,63 @@
 		invalidate();
 	}

+    //----------------------------------
+    //  layoutWidth
+    //----------------------------------
+
+    private var _layoutWidth:Number;
+
+    /**
+     *  @default 0
+     */
+    public function get layoutWidth():Number
+    {
+        return _layoutWidth;
+    }
+
+    /**
+     *  @private
+     */
+    public function set layoutWidth(value:Number):void
+    {
+        if (value == _layoutWidth)
+            return;
+        _layoutWidth = value;
+        invalidate();
+    }
+
+    //----------------------------------
+    //  mirror
+    //----------------------------------
+
+    private var _mirror:Boolean;
+
+    /**
+     *  If true the X axis is scaled by -1 and the x coordinate of the origin
+     *  is translated by the component's width.
+     *
+     *  The net effect of this "mirror" transform is to flip the direction
+     *  that the X axis increases in without changing the layout element's
+     *  location relative to the parent's origin.
+     *
+     *  @default false
+     */
+    public function get mirror():Boolean
+    {
+        return _mirror;
+    }
+
+    /**
+     *  @private
+     */
+    public function set mirror(value:Boolean):void
+    {
+        if (value == _mirror)
+            return;
+        _mirror = value;
+        invalidate();
+    }
+
 	//------------------------------------------------------------------------------

 	/**
@@ -539,7 +596,7 @@
 		if(_flags & COMPUTED_MATRIX_VALID)
 			return _computedMatrix;

-		if(offsets == null)
+		if(!offsets && !mirror)
 		{
 			return layout.matrix;
 		}
@@ -549,12 +606,32 @@
 			m = _computedMatrix = new Matrix();
 		else
 			m.identity();
-
-			build2DMatrix(m,layout.transformX,layout.transformY,
-						  layout.scaleX * offsets.scaleX,layout.scaleY * offsets.scaleY,
-						  layout.rotationZ + offsets.rotationZ,
-						  layout.x + offsets.x,layout.y + offsets.y);
-
+
+        var tx:Number = layout.transformX;
+        var ty:Number = layout.transformY;
+        var sx:Number = layout.scaleX;
+        var sy:Number = layout.scaleY;
+        var rz:Number = layout.rotationZ;
+        var x:Number = layout.x;
+        var y:Number = layout.y;
+
+        if (mirror)
+        {
+            sx *= -1;
+            x += layoutWidth;
+        }
+
+        if (offsets)
+        {
+            sx *= offsets.scaleX;
+            sy *= offsets.scaleY;
+            rz += offsets.rotationZ;
+            x += offsets.x;
+            y += offsets.y;
+        }
+
+        build2DMatrix(m, tx, ty, sx, sy, rz, x, y);
+
 		_flags |= COMPUTED_MATRIX_VALID;
 		return m;
 	}
@@ -573,7 +650,7 @@
 			return _computedMatrix3D;

-		if(offsets == null)
+		if(!offsets && !mirror)
 		{
 			return layout.matrix3D;
 		}
@@ -583,13 +660,41 @@
 			m = _computedMatrix3D = new Matrix3D();
 		else
 			m.identity();
-
-
-		build3DMatrix(m,layout.transformX,layout.transformY,layout.transformZ,
-				  layout.scaleX*offsets.scaleX,layout.scaleY*offsets.scaleY,layout.scaleZ*offsets.scaleZ,
-				  layout.rotationX+offsets.rotationX,layout.rotationY+offsets.rotationY,layout.rotationZ+offsets.rotationZ,
-				  layout.x+offsets.x,layout.y+offsets.y,layout.z+offsets.z);
-
+
+        var tx:Number = layout.transformX;
+        var ty:Number = layout.transformY;
+        var tz:Number = layout.transformZ;
+        var sx:Number = layout.scaleX;
+        var sy:Number = layout.scaleY;
+        var sz:Number = layout.scaleZ;
+        var rx:Number = layout.rotationX;
+        var ry:Number = layout.rotationY;
+        var rz:Number = layout.rotationZ;
+        var x:Number = layout.x;
+        var y:Number = layout.y;
+        var z:Number = layout.z;
+
+        if (mirror)
+        {
+            sx *= -1;
+            x += layoutWidth;
+        }
+
+        if (offsets)
+        {
+            sx *= offsets.scaleX;
+            sy *= offsets.scaleY;
+            sz *= offsets.scaleZ;
+            rx += offsets.rotationX;
+            ry += offsets.rotationY;
+            rz += offsets.rotationZ;
+            x += offsets.x;
+            y += offsets.y;
+            z += offsets.z;
+        }
+
+		build3DMatrix(m, tx, ty, tz, sx, sy, sz, rx, ry, rz, x, y, z);
+
 		_flags |= COMPUTED_MATRIX3D_VALID;
 		return m;
 	}


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

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


Invoke constructChildren in Sprite builtin's constructor

Makes the racing game work with the new playerglobals

--- src/flash/display/Sprite.as
+++ src/flash/display/Sprite.as
@@ -20,7 +20,9 @@

 [native(cls='SpriteClass')]
 public class Sprite extends DisplayObjectContainer {
-  public function Sprite() {}
+  public function Sprite() {
+    constructChildren();
+  }
   public native function get graphics():Graphics;
   public native function get buttonMode():Boolean;
   public native function set buttonMode(value:Boolean):void;
@@ -36,5 +38,6 @@
   public native function startTouchDrag(touchPointID:int, lockCenter:Boolean = false,
                                         bounds:Rectangle = null):void;
   public native function stopTouchDrag(touchPointID:int):void;
+  private native function constructChildren(): void;
 }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 20690
Author:   mhorn@adobe.com
Date:     2011-03-08T20:26:51.755036Z

Log Message:
-----------
ASDoc updates

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/Legend.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/PieChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/PlotChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/series/items/LineSeriesSegment.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/series/ColumnSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/CandlestickChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/HLOCChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/chartClasses/InstanceCache.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/series/BarSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/chartClasses/Series.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/LineChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/chartClasses/ChartBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/BubbleChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/effects/SeriesZoom.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianDataCanvas.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/ColumnChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/DateTimeAxis.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/chartClasses/PolarDataCanvas.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/BarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/AreaChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/chartClasses/ChartElement.as</path>

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


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

--- frameworks/projects/mx/src/mx/controls/RadioButton.as
+++ frameworks/projects/mx/src/mx/controls/RadioButton.as
@@ -0,0 +1,716 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2003-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.controls
+{
+
+import flash.events.Event;
+import flash.events.KeyboardEvent;
+import flash.events.MouseEvent;
+import flash.ui.Keyboard;
+import mx.core.IFlexDisplayObject;
+import mx.core.mx_internal;
+import mx.events.FlexEvent;
+import mx.core.FlexVersion;
+import mx.events.ItemClickEvent;
+import mx.managers.IFocusManager;
+import mx.managers.IFocusManagerGroup;
+
+use namespace mx_internal;
+
+//--------------------------------------
+//  Styles
+//--------------------------------------
+
+include "../styles/metadata/IconColorStyles.as"
+
+//--------------------------------------
+//  Excluded APIs
+//--------------------------------------
+
+[Exclude(name="emphasized", kind="property")]
+[Exclude(name="toggle", kind="property")]
+
+//--------------------------------------
+//  Other metadata
+//--------------------------------------
+
+[AccessibilityClass(implementation="mx.accessibility.RadioButtonAccImpl")]
+
+[DefaultBindingProperty(source="selected", destination="selected")]
+
+[DefaultTriggerEvent("click")]
+
+[IconFile("RadioButton.png")]
+
+/**
+ *  The RadioButton control lets the user make a single choice
+ *  within a set of mutually exclusive choices.
+ *  A RadioButton group is composed of two or more RadioButton controls
+ *  with the same groupName property.
+ *  The RadioButton group can refer to a group created by the
+ *  <mx:RadioButtonGroup> tag.
+ *  The user selects only one member of the group at a time.
+ *  Selecting an unselected group member deselects the currently selected
+ *  RadioButton control within that group.
+ *
+ *
The RadioButton control has the following default characteristics:

+ *

+ *

+ *           Characteristic
+ *           Description
+ *

+ *

+ *           Default size
+ *           Wide enough to display the text label of the control
+ *

+ *

+ *           Minimum size
+ *           0 pixels
+ *

+ *

+ *           Maximum size
+ *           Undefined
+ *

+ *

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

+ *
+ *

+ *  <mx:RadioButton
+ *    Properties
+ *    groupName=""
+ *    labelPlacement="right|left|top|bottom"
+ *
+ *    Styles
+ *    disabledIconColor="0x999999"
+ *    iconColor="0x2B333C"
+ *  />
+ *

+ *
+ *  @includeExample examples/RadioButtonExample.mxml
+ *
+ *  @see mx.controls.RadioButtonGroup
+ */
+public class RadioButton extends Button implements IFocusManagerGroup
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class mixins
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Placeholder for mixin by RadioButtonAccImpl.
+     */
+    mx_internal static var createAccessibilityImplementation:Function;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     */
+    public function RadioButton()
+    {
+        super();
+
+        // Button variables.
+        _labelPlacement = "";
+        _toggle = true;
+
+        groupName = "radioGroup";
+
+        addEventListener(FlexEvent.ADD, addHandler);
+
+        // Old padding logic variables
+        centerContent = false;
+        extraSpacing = 8;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Default inital index value
+     */
+    mx_internal var indexNumber:int = 0;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  emphasized
+    //----------------------------------
+
+    [Inspectable(environment="none")]
+
+    /**
+     *  @private
+     *  A RadioButton doesn't have an emphasized state, so _emphasized
+     *  is set false in the constructor and can't be changed via this setter.
+     */
+    override public function get emphasized():Boolean
+    {
+        return false;
+    }
+
+    //----------------------------------
+    //  labelPlacement
+    //----------------------------------
+
+    [Bindable("labelPlacementChanged")]
+    [Inspectable(category="General", enumeration="left,right,top,bottom", defaultValue="right")]
+
+    /**
+     *  Position of the label relative to the RadioButton icon.
+     *  Valid values in MXML are "right", "left",
+     *  "bottom", and "top".
+     *
+     *
In ActionScript, you use the following constants
+     *  to set this property:
+     *  ButtonLabelPlacement.RIGHT,
+     *  ButtonLabelPlacement.LEFT,
+     *  ButtonLabelPlacement.BOTTOM, and
+     *  ButtonLabelPlacement.TOP.

+     *
+     *  @default ButtonLabelPlacement.RIGHT
+     */
+    override public function get labelPlacement():String
+    {
+        var value:String = ButtonLabelPlacement.RIGHT;
+
+        if (_labelPlacement != "")
+            value = _labelPlacement;
+        else if (_group && _group.labelPlacement != "")
+            value = _group.labelPlacement;
+
+        return value;
+    }
+
+    //----------------------------------
+    //  toggle
+    //----------------------------------
+
+    [Inspectable(environment="none")]
+
+    /**
+     *  @private
+     *  A RadioButton is always toggleable by definition, so toggle is set
+     *  true in the constructor and can't be changed for a RadioButton.
+     */
+
+    override public function get toggle():Boolean
+    {
+        return super.toggle;
+    }
+
+    /**
+     *  @private
+     */
+    override public function set toggle(value:Boolean):void
+    {
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  group
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the group property.
+     */
+    private var _group:RadioButtonGroup;
+
+    /**
+     *  The RadioButtonGroup object to which this RadioButton belongs.
+     *
+     *  @default "undefined"
+     */
+    public function get group():RadioButtonGroup
+    {
+        // Debugger asks too soon.
+        if (!document)
+            return _group;
+
+        if (!_group)
+        {
+            if (groupName && groupName != "")
+            {
+                var g:RadioButtonGroup;
+                try
+                {
+                    g = RadioButtonGroup(document[groupName]);
+                }
+                catch(e:Error)
+                {
+                    // UIComponent has a special automaticRadioButtonGroups slot.
+                    if (document.automaticRadioButtonGroups &&
+                        document.automaticRadioButtonGroups[groupName])
+                    {
+                        g = RadioButtonGroup(
+                                document.automaticRadioButtonGroups[groupName]);
+                    }
+                }
+
+                if (!g)
+                {
+                    g = new RadioButtonGroup(IFlexDisplayObject(document));
+
+                    if (!document.automaticRadioButtonGroups)
+                        document.automaticRadioButtonGroups = {};
+                    document.automaticRadioButtonGroups[groupName] = g;
+
+                }
+                else if (!(g is RadioButtonGroup))
+                {
+                    return null;
+                }
+
+                _group = g;
+            }
+        }
+
+        return _group;
+    }
+
+    /**
+     *  @private
+     */
+    public function set group(value:RadioButtonGroup):void
+    {
+        _group = value;
+    }
+
+    //----------------------------------
+    //  groupName
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for groupName property.
+     */
+    mx_internal var _groupName:String;
+
+    /**
+     *  @private
+     */
+    private var groupChanged:Boolean = false;
+
+    [Bindable("groupNameChanged")]
+    [Inspectable(category="General", defaultValue="radioGroup")]
+
+    /**
+     *  Specifies the name of the group to which this RadioButton control belongs, or
+     *  specifies the value of the id property of a RadioButtonGroup control
+     *  if this RadioButton is part of a group defined by a RadioButtonGroup control.
+     *
+     *  @default "undefined"
+     */
+    public function get groupName():String
+    {
+        return _groupName;
+    }
+
+    /**
+     *  @private
+     */
+    public function set groupName(value:String):void
+    {
+        // A groupName must be non-empty string.
+        if (!value || value == "")
+            return;
+
+        deleteGroup(); // Delete the old group
+
+        _groupName = value;
+
+        groupChanged = true;
+
+        invalidateProperties();
+        invalidateDisplayList();
+
+        dispatchEvent(new Event("groupNameChanged"));
+    }
+
+    //----------------------------------
+    //  value
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for value property.
+     */
+    private var _value:Object;
+
+    [Bindable("valueChanged")]
+    [Inspectable(category="General", defaultValue="")]
+
+    /**
+     *  Optional user-defined value
+     *  that is associated with a RadioButton control.
+     *
+     *  @default null
+     */
+    public function get value():Object
+    {
+        return _value;
+    }
+
+    /**
+     *  @private
+     */
+    public function set value(value:Object):void
+    {
+        _value = value;
+
+        dispatchEvent(new Event("valueChanged"));
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: UIComponent
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function initializeAccessibility():void
+    {
+        if (RadioButton.createAccessibilityImplementation != null)
+            RadioButton.createAccessibilityImplementation(this);
+    }
+
+    /**
+     *  @private
+     *  Update properties before measurement/layout.
+     */
+    override protected function commitProperties():void
+    {
+        super.commitProperties();
+
+        if (groupChanged)
+        {
+            addToGroup();
+
+            groupChanged = false;
+        }
+    }
+
+    /**
+     *  @private
+     */
+    override protected function measure():void
+    {
+        super.measure();
+
+		if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)
+        {
+	        var textHeight:Number = measureText(label).height;
+	        var iconHeight:Number = currentIcon ? currentIcon.height : 0;
+
+	        var h:Number;
+
+	        if (labelPlacement == ButtonLabelPlacement.LEFT ||
+	            labelPlacement == ButtonLabelPlacement.RIGHT)
+	        {
+	            h = Math.max(textHeight, iconHeight);
+	        }
+	        else
+	        {
+	            h = textHeight + iconHeight;
+
+	            var verticalGap:Number = getStyle("verticalGap");
+	            if (iconHeight != 0 && !isNaN(verticalGap))
+	                h += verticalGap;
+	        }
+
+	        measuredMinHeight = measuredHeight = Math.max(h, 18);
+	    }
+    }
+
+    /**
+     *  @private
+     */
+    override protected function updateDisplayList(unscaledWidth:Number,
+                                                  unscaledHeight:Number):void
+    {
+        super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+        if (groupChanged)
+        {
+            addToGroup();
+
+            groupChanged = false;
+        }
+        if (_group && _selected && _group.selection != this)
+            group.setSelection(this, false);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Create radio button group if it does not exist
+     *  and add the instance to the group.
+     */
+    private function addToGroup():Object
+    {
+        var g:RadioButtonGroup = group; // Trigger getting the group
+        if (g)
+            g.addInstance(this);
+        return g;
+    }
+
+    /**
+     *  @private
+     */
+    mx_internal function deleteGroup():void
+    {
+        try
+        {
+            if (document[groupName])
+                delete document[groupName];
+        }
+        catch(e:Error)
+        {
+            try
+            {
+                if (document.automaticRadioButtonGroups[groupName])
+                    delete document.automaticRadioButtonGroups[groupName];
+            }
+            catch(e1:Error)
+            {
+            }
+        }
+    }
+
+    /**
+     *  @private
+     *  Set next radio button in the group.
+     */
+    private function setPrev(moveSelection:Boolean = true):void
+    {
+        var g:RadioButtonGroup = group;
+
+        var fm:IFocusManager = focusManager;
+        if (fm)
+            fm.showFocusIndicator = true;
+
+        for (var i:int = 1; i <= indexNumber; i++)
+        {
+            var radioButton:RadioButton = g.getRadioButtonAt(indexNumber - i);
+            if (radioButton && radioButton.enabled)
+            {
+                if (moveSelection)
+                    g.setSelection(radioButton);
+                radioButton.setFocus();
+                return;
+            }
+        }
+
+        if (moveSelection && g.getRadioButtonAt(indexNumber) != g.selection)
+            g.setSelection(this);
+
+        this.drawFocus(true);
+    }
+
+    /**
+     *  @private
+     *  Set the previous radio button in the group.
+     */
+    private function setNext(moveSelection:Boolean = true):void
+    {
+        var g:RadioButtonGroup = group;
+
+        var fm:IFocusManager = focusManager;
+        if (fm)
+            fm.showFocusIndicator = true;
+
+        for (var i:int = indexNumber + 1; i < g.numRadioButtons; i++)
+        {
+            var radioButton:RadioButton = g.getRadioButtonAt(i);
+            if (radioButton && radioButton.enabled)
+            {
+                if (moveSelection)
+                    g.setSelection(radioButton);
+                radioButton.setFocus();
+                return;
+            }
+        }
+
+        if (moveSelection && g.getRadioButtonAt(indexNumber) != g.selection)
+            g.setSelection(this);
+        this.drawFocus(true);
+    }
+
+    /**
+     *  @private
+     */
+    private function setThis():void
+    {
+        if (!_group)
+            addToGroup();
+
+        var g:RadioButtonGroup = group;
+        if (g.selection != this)
+            g.setSelection(this);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden event handlers: UIComponent
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Support the use of keyboard within the group.
+     */
+    override protected function keyDownHandler(event:KeyboardEvent):void
+    {
+        switch (event.keyCode)
+        {
+            case Keyboard.DOWN:
+            {
+                setNext(!event.ctrlKey);
+                event.stopPropagation();
+                break;
+            }
+
+            case Keyboard.UP:
+            {
+                setPrev(!event.ctrlKey);
+                event.stopPropagation();
+                break;
+            }
+
+            case Keyboard.LEFT:
+            {
+                setPrev(!event.ctrlKey);
+                event.stopPropagation();
+                break;
+            }
+
+            case Keyboard.RIGHT:
+            {
+                setNext(!event.ctrlKey);
+                event.stopPropagation();
+                break;
+            }
+
+            case Keyboard.SPACE:
+            {
+                setThis();
+                //disable toggling behavior for the RadioButton when
+                //dealing with the spacebar since selection is maintained
+                //by the group instead
+                _toggle = false;
+                //fall through, no break
+            }
+
+            default:
+            {
+                super.keyDownHandler(event);
+                break;
+            }
+        }
+    }
+
+    /**
+     *  @private
+     *  Support the use of keyboard within the group.
+     */
+    override protected function keyUpHandler(event:KeyboardEvent):void
+    {
+        super.keyUpHandler(event);
+
+        if (event.keyCode == Keyboard.SPACE && !_toggle)
+        {
+            //we disabled _toggle for SPACE because we don't want to allow
+            //de-selection, but now it needs to be re-enabled
+            _toggle = true;
+        }
+    }
+
+    /**
+     *  @private
+     *  When we are added, make sure we are part of our group.
+     */
+    private function addHandler(event:FlexEvent):void
+    {
+        if (!_group && initialized)
+            addToGroup();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden event handlers: Button
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Set radio button to selected and dispatch that there has been a change.
+     */
+    override protected function clickHandler(event:MouseEvent):void
+    {
+        if (!enabled || selected)
+            return; // prevent a selected button from dispatching "click"
+
+        if (!_group)
+            addToGroup();
+
+        // Must call super.clickHandler() before setting
+        // the group's selection.
+        super.clickHandler(event);
+
+        group.setSelection(this);
+
+        // Dispatch an itemClick event from the RadioButtonGroup.
+        var itemClickEvent:ItemClickEvent =
+            new ItemClickEvent(ItemClickEvent.ITEM_CLICK);
+        itemClickEvent.label = label;
+        itemClickEvent.index = indexNumber;
+        itemClickEvent.relatedObject = this;
+        itemClickEvent.item = value;
+        group.dispatchEvent(itemClickEvent);
+    }
+}
+
+}


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

--- frameworks/projects/rpc/src/mx/rpc/soap/SOAPHeader.as
+++ frameworks/projects/rpc/src/mx/rpc/soap/SOAPHeader.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.rpc.soap
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 14697
Author:   jszeto@adobe.com
Date:     2010-03-11T03:23:44.029825Z

Log Message:
-----------
Merge revision 14696 from 4.x to trunk

Temporary FTETextField Fix

http://bugs.adobe.com/jira/browse/SDK-25669 - FTETextField relies on the render event

Temporary fix is to also listen for the ENTER_FRAME event when invalidating. A longer term solution will be investigated later.

QE notes: n/a
Doc notes: n/a
Bugs: SDK-25669
Reviewer: Alex
Tests run: checkintests
Is noteworthy for integration: yes

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

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

--- frameworks/projects/spark/src/mx/core/FTETextField.as
+++ frameworks/projects/spark/src/mx/core/FTETextField.as
@@ -2512,6 +2512,7 @@
 			stage.invalidate();

 		addEventListener(Event.RENDER, renderHandler);
+        addEventListener(Event.ENTER_FRAME, renderHandler);
 	}

 	/**
@@ -3207,6 +3208,7 @@
 		validateNow();

 		removeEventListener(Event.RENDER, renderHandler);
+        removeEventListener(Event.ENTER_FRAME, renderHandler);
 	}

 	/**


Fixed the lazy eventMap bug, which bit Actor as well.

--- src/org/robotlegs/mvcs/Actor.as
+++ src/org/robotlegs/mvcs/Actor.as
@@ -41,7 +41,7 @@

 		protected function get eventMap():IEventMap
 		{
-			return _eventMap || new EventMap(eventDispatcher);
+			return _eventMap || (_eventMap = new EventMap(eventDispatcher));
 		}

 		/**
@@ -54,4 +54,4 @@
 			eventDispatcher.dispatchEvent(event);
 		}
 	}
-}+}


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

--- frameworks/projects/mx/src/mx/accessibility/TitleWindowAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/TitleWindowAccImpl.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2004-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.accessibility
 {


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 13262
Author:   gosmith@adobe.com
Date:     2010-01-04T21:58:57.279700Z

Log Message:
-----------
Fixed a copy-and-paste problem that Jon Avila found in a comment in PanelAccImpl, where it was referring to TitleWindow instead of to Panel.

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

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/PanelAccImpl.as

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

--- frameworks/projects/spark/src/spark/accessibility/PanelAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/PanelAccImpl.as
@@ -155,10 +155,10 @@
     mx_internal static function createAccessibilityImplementation(
                                 component:UIComponent):void
     {
-		// The TitleWindowAccImpl is attached
-		// not to the TitleWindow but to a special child Sprite.
-		// If it were attached to the TitleWindow itself,
-		// the AccessibilityImplementations of the TitleWindow's
+		// The PanelAccImpl is attached
+		// not to the Panel but to a special child Sprite.
+		// If it were attached to the Panel itself,
+		// the AccessibilityImplementations of the Panel's
 		// children would be ignored.
 		var accImpl:PanelAccImpl = new PanelAccImpl(component);
 		accImpl.attach();


now ignoring unsupported aggregation method metadata

--- WeaveData/src/weave/data/AttributeColumns/StringColumn.as
+++ WeaveData/src/weave/data/AttributeColumns/StringColumn.as
@@ -253,6 +253,7 @@

 			switch (aggregation)
 			{
+				default:
 				case Aggregation.SAME:
 					var first:String = strings[0];
 					for each (var value:String in strings)
@@ -265,9 +266,6 @@

 				case Aggregation.LAST:
 					return strings[strings.length - 1];
-
-				default:
-					return undefined;
 			}
 		}


Fixed bug where id would not get added to hierarchy attribute nodes.
Attribute nodes now get added in the correct order.

Change-Id: I9994544c0b8da00bd350fd14d7355b85fa8502e6

--- WeaveData/src/weave/data/DataSources/WeaveDataSource.as
+++ WeaveData/src/weave/data/DataSources/WeaveDataSource.as
@@ -27,31 +27,32 @@
 	import mx.utils.ObjectUtil;

 	import weave.api.WeaveAPI;
+	import weave.api.disposeObjects;
+	import weave.api.newLinkableChild;
+	import weave.api.objectWasDisposed;
+	import weave.api.reportError;
 	import weave.api.data.ColumnMetadata;
 	import weave.api.data.DataTypes;
 	import weave.api.data.IAttributeColumn;
 	import weave.api.data.IColumnReference;
 	import weave.api.data.IDataRowSource;
 	import weave.api.data.IQualifiedKey;
-	import weave.api.disposeObjects;
-	import weave.api.newLinkableChild;
-	import weave.api.objectWasDisposed;
-	import weave.api.reportError;
 	import weave.api.services.IWeaveGeometryTileService;
 	import weave.core.LinkableString;
+	import weave.data.QKeyManager;
 	import weave.data.AttributeColumns.NumberColumn;
 	import weave.data.AttributeColumns.ProxyColumn;
 	import weave.data.AttributeColumns.SecondaryKeyNumColumn;
 	import weave.data.AttributeColumns.StreamedGeometryColumn;
 	import weave.data.AttributeColumns.StringColumn;
 	import weave.data.ColumnReferences.HierarchyColumnReference;
-	import weave.data.QKeyManager;
 	import weave.services.WeaveDataServlet;
 	import weave.services.addAsyncResponder;
 	import weave.services.beans.AttributeColumnData;
 	import weave.services.beans.EntityType;
 	import weave.utils.ColumnUtils;
 	import weave.utils.HierarchyUtils;
+	import weave.utils.VectorUtils;

 	/**
 	 * WeaveDataSource is an interface for retrieving columns from Weave data servlets.
@@ -207,15 +208,29 @@

 				function handleRootIds(event:ResultEvent, entityType:int):void
 				{
-					var query:AsyncToken = dataService.getEntitiesById(event.result as Array);
-					addAsyncResponder(query, handleRootEntities, handleFault, entityType);
-				}
-				function handleRootEntities(event:ResultEvent, entityType:int):void
-				{
+					var ids:Array = event.result as Array;
+					var query:AsyncToken = dataService.getEntitiesById(ids);
+					addAsyncResponder(query, handleRootEntities, handleFault, [entityType, ids]);
+				}
+				function handleRootEntities(event:ResultEvent, entityType_entityIds:Array):void
+				{
+					var entityType:int = entityType_entityIds[0];
+					var entityIds:Array = entityType_entityIds[1];
+
+					var entities:Array = event.result as Array;
+					entities.sort(
+						function(entity1:Object, entity2:Object):int
+						{
+							var i1:int = entityIds.indexOf(entity1.id);
+							var i2:int = entityIds.indexOf(entity2.id);
+							return ObjectUtil.numericCompare(i1, i2);
+						}
+					);
+
 					if (entityType == EntityType.TABLE)
-						_tableEntities = event.result as Array;
+						_tableEntities = entities;
 					else
-						_geometryEntities = event.result as Array;
+						_geometryEntities = entities;

 					// only proceed when we have both
 					if (!_tableEntities || !_geometryEntities)
@@ -238,10 +253,11 @@
 					query = dataService.getEntityIdsByMetadata({"dataTable": dataTableName}, EntityType.COLUMN);
 				}
 				addAsyncResponder(query, handleColumnIds, handleFault, subtreeNode);
-				function handleColumnIds(event:ResultEvent, token:Object = null):void
-				{
-					var query:AsyncToken = dataService.getEntitiesById(event.result as Array);
-					addAsyncResponder(query, handleColumnEntities, handleFault, token);
+				function handleColumnIds(event:ResultEvent, subtreeNode:XML):void
+				{
+					var ids:Array = event.result as Array;
+					var query:AsyncToken = dataService.getEntitiesById(ids);
+					addAsyncResponder(query, handleColumnEntities, handleFault, [subtreeNode, ids]);
 				}
 			}
 		}
@@ -331,20 +347,31 @@
 //			}
 		}

-		private function handleColumnEntities(event:ResultEvent, token:Object = null):void
+		private function handleColumnEntities(event:ResultEvent, hierarcyNode_entityIds:Array):void
 		{
 			if (objectWasDisposed(this))
 				return;

-			var hierarchyNode:XML = token as XML; // the node to add the list of columns to
+			var hierarchyNode:XML = hierarcyNode_entityIds[0] as XML; // the node to add the list of columns to
+			var entityIds:Array = hierarcyNode_entityIds[1] as Array; // ordered list of ids
+
 			try
 			{
-				var entities:Array = event.result as Array
+				var entities:Array = event.result as Array;
+				entities.sort(
+					function(entity1:Object, entity2:Object):int
+					{
+						var i1:int = entityIds.indexOf(entity1.id);
+						var i2:int = entityIds.indexOf(entity2.id);
+						return ObjectUtil.numericCompare(i1, i2);
+					}
+				);

 				// append list of attributes
 				for (var i:int = 0; i < entities.length; i++)
 				{
 					var metadata:Object = entities[i].publicMetadata;
+					metadata['id'] = entities[i].id;
 					var node:XML = <attribute/>;
 					for (var property:String in metadata)
 						if (metadata[property])
@@ -386,22 +413,36 @@
 			var leafNode:XML = HierarchyUtils.getLeafNodeFromPath(pathInHierarchy) || <empty/>;
 			proxyColumn.setMetadata(leafNode.copy());

+			// get metadata properties from XML attributes
 			var params:Object = new Object();
+			const ID:String = 'id';
+			const SQLPARAMS:String = 'sqlParams';
 			var queryProperties:Array = [
+				ID, SQLPARAMS,
 				ColumnMetadata.DATA_TYPE, ColumnMetadata.MIN, ColumnMetadata.MAX,
-				'dataTable', 'name', 'year', 'sqlParams'
+				'dataTable', 'name', 'year'
 			]; // use only these properties for querying
 			for each (var attr:String in queryProperties)
 			{
 				var value:String = leafNode.attribute(attr);
-				if (value != '')
+				if (value)
 					params[attr] = value;
 			}
-			if (params[ColumnMetadata.DATA_TYPE] != DataTypes.GEOMETRY)
-				delete params[ColumnMetadata.DATA_TYPE];

 			var columnRequestToken:ColumnRequestToken = new ColumnRequestToken(pathInHierarchy, proxyColumn);
-			var query:AsyncToken = dataService.getColumnFromMetadata(params);
+			var query:AsyncToken;
+			if (params[ID])
+			{
+				var sqlParams:Array = VectorUtils.flatten(WeaveAPI.CSVParser.parseCSV(params[SQLPARAMS]));
+				query = dataService.getColumn(params[ID], params[ColumnMetadata.MIN], params[ColumnMetadata.MAX], sqlParams);
+			}
+			else // backwards compatibility - search using metadata
+			{
+				if (params[ColumnMetadata.DATA_TYPE] != DataTypes.GEOMETRY)
+					delete params[ColumnMetadata.DATA_TYPE];
+
+				query = dataService.getColumnFromMetadata(params);
+			}
 			addAsyncResponder(query, handleGetAttributeColumn, handleGetAttributeColumnFault, columnRequestToken);
 			WeaveAPI.SessionManager.assignBusyTask(query, proxyColumn);
 		}
@@ -514,7 +555,6 @@
 	}
 }

-import weave.api.WeaveAPI;
 import weave.data.AttributeColumns.ProxyColumn;

 /**


- added method to scale bitmapdata proportionally

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@744 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/utils/GfxUtil.as
+++ src/reprise/utils/GfxUtil.as
@@ -17,6 +17,9 @@
 	import flash.geom.Matrix;
 	import flash.geom.Point;
 	import flash.geom.Rectangle;
+
+	import reprise.utils.GeomUtil;
+
 	public class GfxUtil
 	{
 		/***************************************************************************
@@ -421,7 +424,19 @@
 				scale9Rect.width, scale9Rect.height);

 			return rects;
-		}
+		}
+
+		public static function bitmapDataScaledToRect(bmp:BitmapData, rect:Rectangle,
+			keepRatio:Boolean = true, allowUpScale:Boolean = false):BitmapData
+		{
+			var sourceRect:Rectangle = new Rectangle(0, 0, bmp.width, bmp.height);
+			GeomUtil.scaleRectToRect(sourceRect, rect, keepRatio, allowUpScale);
+			var mat:Matrix = new Matrix();
+			mat.scale(sourceRect.width / bmp.width, sourceRect.height / bmp.height);
+			var scaledBmp:BitmapData = new BitmapData(sourceRect.width, sourceRect.height, true, 0x0);
+			scaledBmp.draw(bmp, mat, null, null, null, true);
+			return scaledBmp;
+		}

 		/***************************************************************************


#SUP-1285 #fix buffer time when playing live stream with hds #time 2h

--- kdp3Lib/src/com/kaltura/kdpfl/model/MediaProxy.as
+++ kdp3Lib/src/com/kaltura/kdpfl/model/MediaProxy.as
@@ -263,7 +263,7 @@
 				resource = new StreamingURLResource(resourceUrl, StreamType.LIVE_OR_RECORDED);
 				addMetadataToResource(resource);
 				var element:MediaElement = vo.mediaFactory.createMediaElement(resource);
-				var adaptedHDElement : DualThresholdBufferingProxyElement = new DualThresholdBufferingProxyElement( vo.initialBufferTime, vo.expandedBufferTime, element);
+				var adaptedHDElement : DualThresholdBufferingProxyElement = new DualThresholdBufferingProxyElement((vo.isLive ? vo.initialLiveBufferTime : vo.initialBufferTime), (vo.isLive ? vo.expandedLiveBufferTime : vo.expandedBufferTime), element);
 				vo.media = adaptedHDElement;

 			}


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

--- frameworks/projects/advancedgrids/src/mx/olap/OLAPCell.as
+++ frameworks/projects/advancedgrids/src/mx/olap/OLAPCell.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.olap
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 20736
Author:   smgilson@adobe.com
Date:     2011-03-09T21:18:00.204102Z

Log Message:
-----------
Merge 20719 - 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/framework/src/mx/core/UITextFormat.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/RuntimeDPIProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EdgeMetrics.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/DeferredInstanceFromFunction.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/core/Container.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/FTETextField.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ITextInput.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ITextFieldInterface.as</path>
<path kind="dir" action="M">/private/flex/sdk/trunk</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/DPIClassification.as</path>

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

--- frameworks/projects/framework/src/mx/core/UITextFormat.as
+++ frameworks/projects/framework/src/mx/core/UITextFormat.as
@@ -49,7 +49,7 @@
     //  embeddedFontRegistry
     //----------------------------------

-	private static var noEmbeddedFonts:Boolean;
+    private static var noEmbeddedFonts:Boolean;

     /**
      *  @private
@@ -70,15 +70,15 @@
     {
         if (!_embeddedFontRegistry && !noEmbeddedFonts)
         {
-			try
-			{
-				_embeddedFontRegistry = IEmbeddedFontRegistry(
-					Singleton.getInstance("mx.core::IEmbeddedFontRegistry"));
-			}
-			catch (e:Error)
-			{
-				noEmbeddedFonts = true;
-			}
+            try
+            {
+                _embeddedFontRegistry = IEmbeddedFontRegistry(
+                    Singleton.getInstance("mx.core::IEmbeddedFontRegistry"));
+            }
+            catch (e:Error)
+            {
+                noEmbeddedFonts = true;
+            }
         }

         return _embeddedFontRegistry;
@@ -279,27 +279,27 @@
     //  direction
     //----------------------------------

-	/**
-	 *  The directionality of the text.
-	 *
-	 *
The allowed values are "ltr" for left-to-right text,
-	 *  as in Latin-style scripts,
-	 *  and "rtl" for right-to-left text,
-	 *  as in Arabic and Hebrew.

-	 *
-	 *
FTE and TLF use this value in their bidirectional text layout algorithm,
-	 *  which maps Unicode character order to glyph order.

-	 *
-	 *
Note: This style only applies when this UITextFormat
-	 *  is used with a UIFTETextField rather than a UITextField.

-	 *
-	 *  @default null
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
+    /**
+     *  The directionality of the text.
+     *
+     *
The allowed values are "ltr" for left-to-right text,
+     *  as in Latin-style scripts,
+     *  and "rtl" for right-to-left text,
+     *  as in Arabic and Hebrew.

+     *
+     *
FTE and TLF use this value in their bidirectional text layout algorithm,
+     *  which maps Unicode character order to glyph order.

+     *
+     *
Note: This style only applies when this UITextFormat
+     *  is used with a UIFTETextField rather than a UITextField.

+     *
+     *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
     public var direction:String;

     //----------------------------------
@@ -339,22 +339,22 @@
     //  locale
     //----------------------------------

-	/**
-	 *  The locale of the text.
-	 *
-	 *
FTE and TLF use this locale to map Unicode characters
-	 *  to font glyphs and to find fallback fonts.

-	 *
-	 *
Note: This style only applies when this UITextFormat
-	 *  is used with a UIFTETextField rather than a UITextField.

-	 *
-	 *  @default null
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
+    /**
+     *  The locale of the text.
+     *
+     *
FTE and TLF use this locale to map Unicode characters
+     *  to font glyphs and to find fallback fonts.

+     *
+     *
Note: This style only applies when this UITextFormat
+     *  is used with a UIFTETextField rather than a UITextField.

+     *
+     *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
     public var locale:String;

     //----------------------------------
@@ -458,6 +458,11 @@
      *  of the TextField class in the Flash Player.

      *
      *  @default false
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var useFTE:Boolean = false;

@@ -533,7 +538,7 @@
         // the text fields to one per moduleFactory.
         var embeddedFont:Boolean = false;
         var fontModuleFactory:IFlexModuleFactory = (noEmbeddedFonts || !embeddedFontRegistry) ?
-			null :
+            null :
             embeddedFontRegistry.getAssociatedModuleFactory(
                 font, bold, italic, this, moduleFactory, systemManager, useFTE);

@@ -564,19 +569,19 @@
         // Set other properties based on CSS styles.
         if (!useFTE)
         {
-			// These properties do not have meaning in FTETextField,
-			// and have been implemented to return either null or NaN,
-			// so don't try to set them on a FTETextField.
-	        measurementTextField.antiAliasType = antiAliasType;
-	        measurementTextField.gridFitType = gridFitType;
-	        measurementTextField.sharpness = sharpness;
-	        measurementTextField.thickness = thickness;
+            // These properties do not have meaning in FTETextField,
+            // and have been implemented to return either null or NaN,
+            // so don't try to set them on a FTETextField.
+            measurementTextField.antiAliasType = antiAliasType;
+            measurementTextField.gridFitType = gridFitType;
+            measurementTextField.sharpness = sharpness;
+            measurementTextField.thickness = thickness;
         }
         else
         {
-        	// The properties have meaning only on a FTETextField.
-			measurementTextField.direction = direction;
-        	measurementTextField.locale = locale;
+            // The properties have meaning only on a FTETextField.
+            measurementTextField.direction = direction;
+            measurementTextField.locale = locale;
         }

         // Set the text to be measured into the TextField.


Transferred from the Adobe Open Source Subversion Repository

Revision: 5257
Author:   jszeto@adobe.com
Date:     2009-03-11T22:12:50.289894Z

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

SDK-19314 Arrow keys which move a slider's thumb also scroll the player window.

If we handle an arrow key or HOME/END, then we stop it from propagating.

SDK-19443 FxHSlider doesnt position tooltip/datatip correctly when on the right edge of the flex app

Added logic to ensure that the dataTip stays in the bounds of the screen

SDK-19384 @review tags are appearing before asdoc descriptions, causing empty ASDoc tooltips in Flex Builder

Removed all occurrences of @review since it is no longer used.

QE Notes: n/a
Doc Notes: n/a
Bugs: SDK-19314, SDK-19443, SDK-19384
Reviewer: Ryan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/DropDownBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/HSlider.as
+++ frameworks/projects/spark/src/spark/components/HSlider.as
@@ -14,6 +14,7 @@

 import flash.display.DisplayObject;
 import flash.geom.Point;
+import flash.geom.Rectangle;

 import mx.components.baseClasses.FxSlider;
 import mx.core.ILayoutElement;
@@ -170,14 +171,25 @@
     	{
 			var relX:Number = thumb.x - (tipAsDisplayObject.width - thumbSize) / 2;
 	        var o:Point = new Point(relX, dataTipOriginalPosition.y);
-	        var r:Point = localToGlobal(o);
+	        var r:Point = localToGlobal(o);
+
+			// Get the screen bounds
+			var screenBounds:Rectangle = systemManager.getVisibleApplicationRect();
+			// Get the tips bounds. We only care about the dimensions.
+			var tipBounds:Rectangle = tipAsDisplayObject.getBounds(tipAsDisplayObject.parent);
+
+			// Make sure the tip doesn't exceed the bounds of the screen
+			r.x = Math.floor( Math.max(screenBounds.left,
+							  	Math.min(screenBounds.right - tipBounds.width, r.x)));
+			r.y = Math.floor( Math.max(screenBounds.top,
+								Math.min(screenBounds.bottom - tipBounds.height, r.y)));
+
 			r = tipAsDisplayObject.parent.globalToLocal(r);

-			// TODO (jszeto) Change to use ILayoutElement.setLayoutBoundsPosition?
-        	tipAsDisplayObject.x = Math.floor(r.x < 0 ? 0 : r.x);
-        	tipAsDisplayObject.y = Math.floor(r.y < 0 ? 0 : r.y);
+        	tipAsDisplayObject.x = r.x;
+        	tipAsDisplayObject.y = r.y;
     	}
     }
 }

-}+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 5545
Author:   jimurphy@adobe.com
Date:     2009-03-25T19:00:52.330680Z

Log Message:
-----------
1st pass of rename according to the spec http://opensource.adobe.com/wiki/display/flexsdk/Dropping+the+Fx+Prefix

Flex now requires CSS Style declarations to declare @namespace rules and disambiguate between halo and spark components using CSS 3 namespace prefixes on type selectors. At compile time, this namespace information will be used to map type names to qualified ActionScript class names. At runtime, type selectors are matched on qualified ActionScript class name (for example mx.controls.Button rather than just Button). Flex 3 applications must be compiled with -compatibility-version=3.0.0 to get unqualified CSS type selector behavior.

QE: Yes, this build may help in updating test cases to use the new namespaces and class names.
Dev: Not yet
Doc: Not yet

Modified Paths:
--------------
748 paths were modified

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

--- frameworks/projects/spark/src/spark/primitives/Graphic.as
+++ frameworks/projects/spark/src/spark/primitives/Graphic.as
@@ -9,11 +9,11 @@
 //
 ////////////////////////////////////////////////////////////////////////////////

-package mx.graphics
+package spark.primitives
 {

 import mx.events.PropertyChangeEvent;
-import mx.components.Group;
+import spark.components.Group;

 //--------------------------------------
 //  Events


Transferred from the Adobe Open Source Subversion Repository

Revision: 18548
Author:   rfrishbe@adobe.com
Date:     2010-11-11T22:05:22.380108Z

Log Message:
-----------
Just fixing up some ASDocs around touchDelay.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableContainer.as
@@ -183,20 +183,10 @@
 [Style(name="symbolColor", type="uint", format="Color", inherit="yes", theme="spark, mobile")]

 /**
- *  When in touch interaction mode, the number of milliseconds to wait before showing the
- *  component in a visually down state.
- *
- *
The reason for this delay is because when a user initiates a scroll gesture, we don't want
- *  components to flicker as they touch the screen.  By having a reasonable delay, we make
- *  sure that the user still gets feedback when they press down on a component, but that the
- *  feedback doesn't come too quickly that it gets displayed during a scroll gesture
- *  operation.

- *
- *
If the mobile theme is applied, the default value for this style is 100 ms for
- *  components inside of a Scroller and 0 ms for components outside of a Scroller.

- *
- *  @langversion 3.0
- *  @playerversion Flash 10
+ *  @copy spark.components.supportClasses.GroupBase#style:touchDelay
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
  *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */


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

--- frameworks/projects/spark/src/spark/core/DisplayObjectSharingMode.as
+++ frameworks/projects/spark/src/spark/core/DisplayObjectSharingMode.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2003-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 spark.core
 {
 /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 6257
Author:   smgilson@adobe.com
Date:     2009-04-24T21:28:52.430843Z

Log Message:
-----------
ASDoc edits for effects

QE Notes: None
Doc Notes: None
Bugs: -
checkintests: passed

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/IAnimationTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/IEaser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/RepeatBehavior.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EasingFraction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Power.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/IInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/NumberInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/RGBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/HSBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/ArrayInterpolator.as</path>

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

--- frameworks/projects/spark/src/spark/effects/easing/EasingFraction.as
+++ frameworks/projects/spark/src/spark/effects/easing/EasingFraction.as
@@ -11,9 +11,11 @@
 package spark.effects.easing
 {
 /**
- * Provides utility constants for use in subclasses of EaseInOutBase.
+ *  The EasingFraction class defines constants for
+ *  the easeInFraction property of the EaseInOutBase class.
  *
- * @see EaseInOutBase
+ *  @see EaseInOutBase
+ *  @see EaseInOutBase#easeInFraction
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -23,11 +25,9 @@
 public final class EasingFraction
 {
     /**
-     * A utility constant which, when supplied as the
-     * easeInFraction to a subclass of EaseInOutBase,
-     * will create an easing instance
-     * that spends the entire animation easing in. This is equivalent
-     * to simply using the easeInFraction = 1.
+     *  Specifies that the easing instance
+     *  spends the entire animation easing in. This is equivalent
+     *  to setting the easeInFraction property to 1.0.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -37,11 +37,9 @@
     public static const IN:Number = 1;

     /**
-     * A utility constant which, when supplied as the
-     * easeInFraction to a subclass of EaseInOutBase,
-     * will create an easing instance
-     * that spends the entire animation easing out. This is equivalent
-     * to simply using the easeInFraction = 0.
+     *  Specifies that the easing instance
+     *  spends the entire animation easing out. This is equivalent
+     *  to setting the easeInFraction property to 0.0.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -51,12 +49,10 @@
     public static const OUT:Number = 0;

     /**
-     * A utility constant which, when supplied as the
-     * easeInFraction to a subclass of EaseInOutBase,
-     * will create an easing instance
-     * that eases in for the first half and eases out for the
-     * remainder. This is equivalent
-     * to simply using the easeInFraction = .5.
+     *  Specifies that an easing instance
+     *  that eases in for the first half and eases out for the
+     *  remainder. This is equivalent
+     *  to setting the easeInFraction property to 0.5.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10