Avoid "null" values in styleNames

Avoid "null" values in styleNames

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/util/UIUtil.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/util/UIUtil.as
@@ -173,7 +173,7 @@
 		public static function replaceStyleNames(component:UIComponent, newStyles:Array, oldStyles:Array, applyImmediately:Boolean = true):String {
 			var cleanedStyle:String = removeStyleNames(component, oldStyles);
 			var newStylesConcat:String = StringUtil.concat(" ", newStyles);
-			var result:String = cleanedStyle + " " + newStylesConcat;
+			var result:String = StringUtil.concat(" ", [cleanedStyle, newStylesConcat]);
 			if(applyImmediately) {
 				component.styleName = result;
 			}


Transferred from the Adobe Open Source Subversion Repository

Revision: 21769
Author:   jasonsj@adobe.com
Date:     2011-08-02T17:22:14.710585Z

Log Message:
-----------
CalloutButton
- CalloutButton extends Button (previously SkinnableContainer)
- New Callout proxy properties for calloutContent and calloutLayout
- read-only callout property SDK-30838
- New calloutDestructionPolicy
- closeOnResize added to DropDownController to prevent automatically closing when the system manager resizes SDK-30857

Callout
- Callout visual review changes
- Callout properties for actualHorizontalPosition and actualVerticalPosition
- Removed gap style, replaced with mx_internal margin property
- New auto-close behavior when the owner is removed from the stage SDK-30582
- New reposition behavior when the system manager resizes SDK-30857

ASDoc updates

QE notes: Please add tests for bug fixes listed below. Changes to calloutDestructionPolicy and closeOnResize should also be tested while the Callout is open.
Doc notes:
Bugs:
SDK-30860 arrow direction when "start" or"after" and"auto" is not correct
SDK-30838 New APIs required to resize CalloutButton's Callout before it is opened
SDK-30582 android : callout stays visible when the view changes via device's back button
SDK-30857 callout should stay visible on orientation change
Reviewer: evtim
Tests run: checkintests, mustella
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="D">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/scripts/CalloutButtonTestScript.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SplitViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/CalloutContentBackground.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/views/TestCalloutButton.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/CalloutContentBackground.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/CalloutContentBackground.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/Callout.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as
@@ -201,6 +201,43 @@
     {
         return _isOpen;
     }
+
+    //----------------------------------
+    //  closeOnResize
+    //----------------------------------
+
+    private var _closeOnResize:Boolean = true;
+
+    /**
+     *  When true, resizing the system manager will close the the drop down.
+     *
+     *  @default true
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public function get closeOnResize():Boolean
+    {
+        return _closeOnResize;
+    }
+
+    /**
+     *  @private
+     */
+    public function set closeOnResize(value:Boolean):void
+    {
+        if (_closeOnResize == value)
+            return;
+
+        // remove existing resize listener if present
+        if (isOpen)
+            removeCloseOnResizeTrigger();
+
+        _closeOnResize = value;
+
+        addCloseOnResizeTrigger();
+    }

     //----------------------------------
     //  rolloverOpenDelay
@@ -299,7 +336,6 @@
             {
                 systemManager.getSandboxRoot().addEventListener(MouseEvent.MOUSE_DOWN, systemManager_mouseDownHandler);
                 systemManager.getSandboxRoot().addEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE, systemManager_mouseDownHandler);
-                systemManager.getSandboxRoot().addEventListener(Event.RESIZE, systemManager_resizeHandler, false, 0, true);
                 systemManager.getSandboxRoot().addEventListener(MouseEvent.MOUSE_UP, systemManager_mouseUpHandler_noRollOverOpenDelay);
             }
             else
@@ -307,14 +343,21 @@
                 systemManager.getSandboxRoot().addEventListener(MouseEvent.MOUSE_MOVE, systemManager_mouseMoveHandler);
                 systemManager.getSandboxRoot().addEventListener(SandboxMouseEvent.MOUSE_MOVE_SOMEWHERE, systemManager_mouseMoveHandler);
                 // MOUSEUP triggers may be added in systemManager_mouseMoveHandler
-                systemManager.getSandboxRoot().addEventListener(Event.RESIZE, systemManager_resizeHandler, false, 0, true);
-            }
+            }
+
+            addCloseOnResizeTrigger();

 			if (openButton && openButton.systemManager)
             	openButton.systemManager.getSandboxRoot().addEventListener(MouseEvent.MOUSE_WHEEL, systemManager_mouseWheelHandler);
         }
     }

+    private function addCloseOnResizeTrigger():void
+    {
+        if (closeOnResize)
+            systemManager.getSandboxRoot().addEventListener(Event.RESIZE, systemManager_resizeHandler, false, 0, true);
+    }
+
     /**
      *  @private
      *  Adds event triggers close the popup.
@@ -329,7 +372,6 @@
             {
                 systemManager.getSandboxRoot().removeEventListener(MouseEvent.MOUSE_DOWN, systemManager_mouseDownHandler);
                 systemManager.getSandboxRoot().removeEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE, systemManager_mouseDownHandler);
-                systemManager.getSandboxRoot().removeEventListener(Event.RESIZE, systemManager_resizeHandler, false);
                 systemManager.getSandboxRoot().removeEventListener(MouseEvent.MOUSE_UP, systemManager_mouseUpHandler_noRollOverOpenDelay);
             }
             else
@@ -338,13 +380,20 @@
                 systemManager.getSandboxRoot().removeEventListener(SandboxMouseEvent.MOUSE_MOVE_SOMEWHERE, systemManager_mouseMoveHandler);
                 systemManager.getSandboxRoot().removeEventListener(MouseEvent.MOUSE_UP, systemManager_mouseUpHandler);
                 systemManager.getSandboxRoot().removeEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE, systemManager_mouseUpHandler);
-                systemManager.getSandboxRoot().removeEventListener(Event.RESIZE, systemManager_resizeHandler);
-            }
-
-			if (openButton && openButton.systemManager)
+            }
+
+            removeCloseOnResizeTrigger();
+
+            if (openButton && openButton.systemManager)
             	openButton.systemManager.getSandboxRoot().removeEventListener(MouseEvent.MOUSE_WHEEL, systemManager_mouseWheelHandler);
         }
     }
+
+    private function removeCloseOnResizeTrigger():void
+    {
+        if (closeOnResize)
+            systemManager.getSandboxRoot().removeEventListener(Event.RESIZE, systemManager_resizeHandler);
+    }

     /**
      *  @private


added getPath(root,descendant)

added getPath(root,descendant)

--- WeaveCore/src/weave/core/SessionManager.as
+++ WeaveCore/src/weave/core/SessionManager.as
@@ -253,6 +253,10 @@
 		{
 			return childToOwnerMap[child] as ILinkableObject;
 		}
+
+		public static const TREE_LABEL:String = 'label';
+		public static const TREE_OBJECT:String = 'object';
+		public static const TREE_CHILDREN:String = 'children';

 		/**
 		 * @param root The linkable object to be placed at the root node of the tree.
@@ -260,7 +264,10 @@
 		 */
 		public function getSessionStateTree(object:ILinkableObject, objectName:String, objectTypeFilter:*=null):Object
 		{
-			var result:Object = {label: objectName, object: object, children: []};
+			var result:Object = {};
+			result[TREE_LABEL] = objectName;
+			result[TREE_OBJECT] = object;
+			result[TREE_CHILDREN] = [];

 			var names:Array = [];
 			var childObject:ILinkableObject;
@@ -285,7 +292,7 @@
 						// get subtree
 						tempObject = getSessionStateTree(childObject,names[i],objectTypeFilter);
 						if (tempObject != null)
-							result.children.push(tempObject);
+							result[TREE_CHILDREN].push(tempObject);
 					}
 				}
 			}
@@ -302,7 +309,10 @@
 				}
 				for each (var name:String in names)
 				{
-					childObject = object[name || 'internalObject'];
+					if (object is ILinkableDynamicObject)
+						childObject = (object as ILinkableDynamicObject).internalObject;
+					else
+						childObject = object[name];
 					if (!childObject)
 						continue;
 					if (/* object is ILinkableDynamicObject ||  */childToParentDictionaryMap[childObject] && childToParentDictionaryMap[childObject][object])
@@ -315,16 +325,16 @@
 						// get subtree
 						tempObject = getSessionStateTree(childObject, name, objectTypeFilter);
 						if (tempObject != null)
-							result.children.push(tempObject);
-					}
-				}
-			}
-
-			if (result.children.length == 0)
-				result.children = null;
+							result[TREE_CHILDREN].push(tempObject);
+					}
+				}
+			}
+
+			if (result[TREE_CHILDREN].length == 0)
+				result[TREE_CHILDREN] = null;
 			if (objectTypeFilter == null)
 				return result;
-			if (result.children == null && !(object is objectTypeFilter))
+			if (result[TREE_CHILDREN] == null && !(object is objectTypeFilter))
 				return null;
 			return result;
 		}
@@ -1147,12 +1157,7 @@
 			var results:Array = [];
 			for (var parent:Object in childToParentDictionaryMap[descendant])
 			{
-				var name:String;
-				if (parent is ILinkableHashMap)
-					name = (parent as ILinkableHashMap).getName(descendant);
-				else
-					name = _getChildPropertyName(parent as ILinkableObject, descendant);
-
+				var name:String = _getChildPropertyName(parent as ILinkableObject, descendant);
 				if (name != null)
 				{
 					// this parent may be the one we want
@@ -1174,10 +1179,41 @@
 		 */
 		private function _getChildPropertyName(parent:ILinkableObject, child:ILinkableObject):String
 		{
+			if (parent is ILinkableHashMap)
+				return (parent as ILinkableHashMap).getName(child);
+
 			// find the property name that returns the child
 			for each (var name:String in getLinkablePropertyNames(parent))
 				if (parent[name] == child)
 					return name;
+			return null;
+		}
+
+		/**
+		 * Gets the path of names in the session state tree of the root object.
+		 * @param root The root object used to generate a session state tree.
+		 * @param child The descendant object to find in the session state tree.
+		 * @return The path from root to descendant, or null if the descendant does not appear in the session state.
+		 */
+		public function getPath(root:ILinkableObject, descendant:ILinkableObject):Array
+		{
+			var tree:Object = getSessionStateTree(root, null);
+			var path:Array = _getPath(tree, descendant);
+			return path;
+		}
+		private function _getPath(tree:Object, descendant:ILinkableObject):Array
+		{
+			if (tree[TREE_OBJECT] == descendant)
+				return [];
+			for each (var child:Object in tree[TREE_CHILDREN])
+			{
+				var path:Array = _getPath(child, descendant);
+				if (path)
+				{
+					path.unshift(child[TREE_LABEL]);
+					return path;
+				}
+			}
 			return null;
 		}


attribute data group header width can be different from that of input field

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/ui/UIBuilder.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/ui/UIBuilder.as
@@ -66,7 +66,6 @@
 	 * */
 	public class UIBuilder {

-		//TODO: use entityDescriptor
 		public static function buildForm(entity:EntityDefinitionProxy, version:ModelVersionProxy):FormContainer {
 				var formContainer:FormContainer = new FormContainer();
 				formContainer.initialize();
@@ -283,7 +282,23 @@
 		}

 		public static function getInputFieldWidth(def:AttributeDefinitionProxy, isInDataGroup:Boolean = false):int {
-			if(def is TextAttributeDefinitionProxy) {
+			if(def is BooleanAttributeDefinitionProxy) {
+				return 20;
+			} else if(def is CodeAttributeDefinitionProxy) {
+				return 100;
+			} else if(def is CoordinateAttributeDefinitionProxy) {
+				return 100;
+			} else if(def is DateAttributeDefinitionProxy) {
+				return 150;
+			} else if(def is FileAttributeDefinitionProxy) {
+				return 300;
+			} else if(def is NumericAttributeDefinitionProxy) {
+				return 100;
+			} else if(def is RangeAttributeDefinitionProxy) {
+				return 120;
+			} else if(def is TaxonAttributeDefinitionProxy) {
+				return 400;
+			} else if(def is TextAttributeDefinitionProxy) {
 				var textAttributeDef:TextAttributeDefinitionProxy = TextAttributeDefinitionProxy(def);
 				var type:TextAttributeDefinitionProxy$Type = textAttributeDef.type;
 				switch(type) {
@@ -293,28 +308,21 @@
 					default:
 						return 100;
 				}
-			} else if(def is DateAttributeDefinitionProxy) {
-				return 150;
 			} else if(def is TimeAttributeDefinitionProxy) {
 				return 80;
-			} else if(def is CodeAttributeDefinitionProxy) {
-				return 100;
-			} else if(def is NumericAttributeDefinitionProxy) {
-				return 100;
-			} else if(def is RangeAttributeDefinitionProxy) {
-				return 120;
-			} else if(def is BooleanAttributeDefinitionProxy) {
-				return 100;
-			} else if(def is CoordinateAttributeDefinitionProxy) {
-				return 100;
-			} else if(def is TaxonAttributeDefinitionProxy) {
-				return 400;
-			} else if(def is FileAttributeDefinitionProxy) {
-				return 300;
 			} else {
 				return 100;
 			}
 		}
+
+		public static function getAttributeDataGroupHeaderWidth(def:AttributeDefinitionProxy):int {
+			if(def is BooleanAttributeDefinitionProxy) {
+				return 100;
+			} else {
+				return getInputFieldWidth(def, true);
+			}
+		}
+

 		public static function getInputField(def:AttributeDefinitionProxy, isInDataGroup:Boolean = false):InputField {
 			var inputField:InputField = null;
@@ -473,7 +481,7 @@
 				v.addElement(h);
 				return v;
 			}else {
-				var width:int = getInputFieldWidth(defn, true);
+				var width:int = getAttributeDataGroupHeaderWidth(defn);

 				v = new VGroup();
 				v.width = width;


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

--- frameworks/projects/advancedgrids/src/mx/collections/errors/ChildItemPendingError.as
+++ frameworks/projects/advancedgrids/src/mx/collections/errors/ChildItemPendingError.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.collections.errors
 {


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

--- frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImageSource.as
+++ frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImageSource.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2011 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.preloaders
 {


Issue #120: Close possibly open OAuth sign-in window when showing app close warning.

--- src/com/esri/builder/controllers/ApplicationCloseController.as
+++ src/com/esri/builder/controllers/ApplicationCloseController.as
@@ -16,6 +16,7 @@
 package com.esri.builder.controllers
 {

+import com.esri.ags.components.IdentityManager;
 import com.esri.builder.eventbus.AppEvent;
 import com.esri.builder.model.Model;
 import com.esri.builder.supportClasses.ApplicationCloseWarningEvent;
@@ -52,6 +53,9 @@
         if (Model.instance.config.isDirty)
         {
             LOG.debug("Preventing application close");
+
+            //close possibly open OAuth sign-in window
+            IdentityManager.instance.setCredentialForCurrentSignIn(null);

             event.preventDefault();
             if (closeApplicationConfirmPopUp)


Transferred from the Adobe Open Source Subversion Repository

Revision: 3248
Author:   gosmith@adobe.com
Date:     2008-09-17T22:58:26.587163Z

Log Message:
-----------
Updated to TCAL build 173. (Note: I did NOT update the players.)

The three TCAL SWCS used by Flex 4 are now named tcal_core.swc, tcal_conversion.swc, and tcal_edit.swc.

All TCAL APIs are now in a package named flashx.tcal. We are using flashx to indicate important APIs that are considered to extend the Flash platform but which live below application frameworks such as Flex.

On TextFlow, a new 'displayController' property replaces the old 'container' and 'controller' properties.

When importing, you use importToFlow() rather than importFromString() or importFromXML.

Reviewer: N/A
Bugs: -
QA: No
Doc: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Parser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/TextFlowComposer.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/libs/text_importExport.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/build.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/libs/tcal_conversion.swc</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/libs/tcal_edit.swc</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/libs/text_edit.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/events/TextOperationEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/libs/tcal_core.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/utils/TextUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/fxg-manifest.xml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/libs/text_model.swc</path>

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

--- frameworks/projects/spark/src/spark/utils/TextUtil.as
+++ frameworks/projects/spark/src/spark/utils/TextUtil.as
@@ -14,12 +14,12 @@

 import flash.utils.describeType;

-import text.elements.FlowLeafElement;
-import text.elements.ParagraphElement;
-import text.elements.TextFlow;
-import text.formats.ICharacterFormat;
-import text.formats.IContainerFormat;
-import text.formats.IParagraphFormat;
+import flashx.tcal.elements.FlowLeafElement;
+import flashx.tcal.elements.ParagraphElement;
+import flashx.tcal.elements.TextFlow;
+import flashx.tcal.formats.ICharacterFormat;
+import flashx.tcal.formats.IContainerFormat;
+import flashx.tcal.formats.IParagraphFormat;

 [ExcludeClass]


Transferred from the Adobe Open Source Subversion Repository

Revision: 14744
Author:   klin@adobe.com
Date:     2010-03-12T23:33:39.865284Z

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

Adding ILayoutDirectionElement to address issues with non-styled components such as embedded bitmaps. Also, addressed issues with changing layoutDirection at runtime.

-Added ILayoutDirectionElement.as with the layoutDirection property and invalidateLayoutDirection(). I took them out of IVisualElement.
-Moved the mirroring code from FlexBitmap to BitmapAsset as well as SpriteAsset. Also, implemented ILayoutDirectionElement in both.
-Addressed issues with layoutDirection changing at runtime by adding logic in UIComponent and Container to call invalidateLayoutDirection() on all of their ILayoutDirectionElement children.
-Updated various other components to use the new interface.
-Updated the dependency checker.

QE notes: No
Doc notes: No
Bugs: SDK-25656, SDK-25685, SDK-25726, SDK-25758 , SDK-25776 , SDK-25784 , SDK-25791, SDK-25806
Reviewer: Jason, Carol
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</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/framework/src/mx/core/SpriteAsset.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexBitmap.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/BitmapAsset.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutDirection.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/core/ILayoutDirectionElement.as" copyfrom-rev="14741" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ILayoutDirectionElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>

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

--- frameworks/projects/framework/src/mx/core/IVisualElement.as
+++ frameworks/projects/framework/src/mx/core/IVisualElement.as
@@ -23,7 +23,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public interface IVisualElement extends ILayoutElement
+public interface IVisualElement extends ILayoutElement, ILayoutDirectionElement
 {

     /**
@@ -269,45 +269,5 @@
      *  @productversion Flex 4
      */
     function get is3D():Boolean;
-
-    /**
-     *  Specifies the desired layout direction for a visual element: one of "ltr"
-     *  (left to right), "rtl" (right to left), or null (inherit).
-     *
-     *  This property is typically backed by an inheriting style.  If null,
-     *  the layoutDirection style will be set to undefined.
-     *
-     *  Classes like GraphicElement, which implement IVisualElement but do not
-     *  support styles, must additionally support a null value for this property
-     *  which means the layoutDirection must be inherited from its parent.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4.1
-     */
-    function get layoutDirection():String;
-
-    /**
-     *  @private
-     */
-    function set layoutDirection(value:String):void;
-
-    /**
-     *  Must be called when an element or its parent's layoutDirection changes.
-     *
-     *  If they differ, the X axis is scaled by -1 and the x coordinate of the origin
-     *  is translated by the element's width.
-     *
-     *  The net effect of this "mirror" transform is to reverse the direction
-     *  that the X axis increases without changing the element's
-     *  location relative to the parent's origin.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4.1
-     */
-    function invalidateLayoutDirection():void;
 }
 }


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

--- frameworks/projects/mx/src/mx/skins/halo/SliderThumbSkin.as
+++ frameworks/projects/mx/src/mx/skins/halo/SliderThumbSkin.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.skins.halo
 {


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

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

 package mx.controls
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 20149
Author:   klin@adobe.com
Date:     2011-02-04T21:39:31.000080Z

Log Message:
-----------
Add and update [Inspectable] metadata across spark components.

QE notes: No
Doc notes: No
Bugs: SDK-28942
Reviewer: Carol
Tests run: cyclone server, checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ComboBox.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/TileGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Button.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/DropDownListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Image.as</path>
<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/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/modules/ModuleLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ButtonBar.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/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/mediaClasses/DynamicStreamingVideoItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/ButtonBar.as
+++ frameworks/projects/spark/src/spark/components/ButtonBar.as
@@ -206,6 +206,8 @@
     //  dataProvider
     //----------------------------------

+    [Inspectable(category="Data")]
+
     /**
      *  @private
      */


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

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

 package spark.events
 {


:memo:

:memo:


DisplayUtil.group return value typed as Sprite

--- raw/src/org/yellcorp/lib/display/DisplayUtil.as
+++ raw/src/org/yellcorp/lib/display/DisplayUtil.as
@@ -204,10 +204,10 @@
      * @throws ArgumentError if the DisplayObjects do not share a common parent,
      * or if the DisplayObjects do not all have null parents.
      */
-    public static function group(displayObjects:*):DisplayObjectContainer
+    public static function group(displayObjects:*):Sprite
     {
         var oldParent:DisplayObjectContainer;
-        var newParent:DisplayObjectContainer = new Sprite();
+        var newParent:Sprite = new Sprite();
         var taggedDisplayObjects:Array;

         for each (var currentDisplay:DisplayObject in displayObjects)


initializing text to empty string

initializing text to empty string

git-svn-id: 02605e11d3a461bc7e12f3f3880edf4b0c8dcfd0@4063 3e7533ad-8678-4d30-8e38-00a379d3f0d0

--- src/laml/display/Label.as
+++ src/laml/display/Label.as
@@ -16,6 +16,7 @@
 			super.initialize();
 			model.validate_textFormat = validateTextFormat;
 			model.validate_selectable = validateSelectable;
+			text = "";
 		}

 		override protected function createChildren():void {


Dispatch IOErrorEvent when file not found in LoaderGroup methods.

--- src/aerys/minko/scene/node/group/LoaderGroup.as
+++ src/aerys/minko/scene/node/group/LoaderGroup.as
@@ -14,9 +14,11 @@
 	import flash.display.Loader;
 	import flash.display.LoaderInfo;
 	import flash.display.MovieClip;
+	import flash.errors.IOError;
 	import flash.events.Event;
 	import flash.events.EventDispatcher;
 	import flash.events.IEventDispatcher;
+	import flash.events.IOErrorEvent;
 	import flash.events.ProgressEvent;
 	import flash.net.URLLoader;
 	import flash.net.URLLoaderDataFormat;
@@ -120,6 +122,8 @@
 														  loaderEventHandler);
 				loader.contentLoaderInfo.addEventListener(Event.COMPLETE,
 														  loaderCompleteHandler);
+				loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,
+														  ioErrorHandler);
 				loader.load(request);

 				loaderObject = loader;
@@ -139,6 +143,7 @@
 				urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
 				urlLoader.addEventListener(ProgressEvent.PROGRESS, loaderEventHandler);
 				urlLoader.addEventListener(Event.COMPLETE, urlLoaderCompleteHandler);
+				urlLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
 				urlLoader.load(request);

 				loaderObject = urlLoader;
@@ -177,6 +182,7 @@
 			var loader 	: Loader 	= new Loader();

 			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderCompleteHandler);
+			loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
 			loader.loadBytes(bytes);

 			_positions[loader] = _total - 1;
@@ -199,6 +205,8 @@

 					contentLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,
 																	 loaderEventHandler);
+					contentLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,
+																	 ioErrorHandler);
 					contentLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,
 					function(e : Event) : void
 					{
@@ -231,6 +239,11 @@
 			return this;
 		}

+		private function ioErrorHandler(event : IOErrorEvent) : void
+		{
+			dispatchEvent(event.clone());
+		}
+
 		private function loaderEventHandler(event : Event) : void
 		{
 			dispatchEvent(event.clone());


Removed a redundant load.

Removed a redundant load.

--- exporter/src/main/as/flump/export/Exporter.as
+++ exporter/src/main/as/flump/export/Exporter.as
@@ -184,7 +184,6 @@
         });
         _importChooser = new DirChooser(null, _win.importRoot, _win.browseImport);
         _importChooser.changed.add(setImport);
-        setImport(_importChooser.dir);
         _exportChooser = new DirChooser(null, _win.exportRoot, _win.browseExport);
         _exportChooser.changed.add(updatePreviewAndExport);
         function updatePublisher (..._) :void {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5082
Author:   jszeto@adobe.com
Date:     2009-02-26T01:30:44.174297Z

Log Message:
-----------
Initial version of DropDownList

Working version of DropDownList (non-editable ComboBox) and its base class DropDownBase. It currently only supports very basic functionality.

- No Keyboard functionality
- Basic mouse functionality
- Support for dataProvider
- Limited support for selectedIndex, itemRenderer
- No support for selectedIndex, labelField, labelFunction
- No support for prompt

Adding new component PopUp. This component is used to position a dropDown in layout. Since a dropDown is added to the display list via the PopUpManager, it doesn't normally participate in layout. The PopUp component is a UIComponent that does get added to a container and thus is laid out. It is responsible for then sizing and positioning the dropDown relative to itself.

The PopUp implementation is very early prototype from Ely. Don't expect anything but the basic case to work.

QE Notes: None
Doc Notes: None
Bugs: n/a
Reviewer: None

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/PopUp.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/DropDownListButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DropDownList.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/DropDownListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/DropDownBase.as</path>

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

--- frameworks/projects/spark/src/SparkClasses.as
+++ frameworks/projects/spark/src/SparkClasses.as
@@ -30,6 +30,7 @@
 import mx.skins.spark.FxButtonBarMiddleButtonSkin; FxButtonBarMiddleButtonSkin;
 import mx.skins.spark.FxButtonBarLastButtonSkin; FxButtonBarLastButtonSkin;
 import mx.skins.spark.FxCheckBoxSkin; FxCheckBoxSkin;
+import mx.skins.spark.DropDownListSkin; DropDownListSkin;
 import mx.skins.spark.FxDataContainerSkin; FxDataContainerSkin;
 import mx.skins.spark.FxFocusSkin; FxFocusSkin;
 import mx.skins.spark.FxHScrollBarSkin; FxHScrollBarSkin;


Change values.as to use a specific date

Change values.as to use a specific date

--- test/trace/values.as
+++ test/trace/values.as
@@ -36,7 +36,7 @@
   true, false,
   0, 1, 0.5, -1, -0.5, Infinity, -Infinity, NaN,
   "", "0", "-0", "0.0", "1", "Hello World!", "true", "_level0", "äöü",
-  this, new Object (), new Date (), new String (),
+  this, new Object (), new Date (1239752134235.94), new String (),
   Function, printall, printtostring, printvalueof, nothing ];

 var l = values.length;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/collections/ItemWrapper.as
+++ frameworks/projects/framework/src/mx/collections/ItemWrapper.as
@@ -36,6 +36,11 @@
 	 *  Constructs an instance of the wrapper with the specified data.
 	 *
 	 *  @param data The data element to be wrapped.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function ItemWrapper(data:Object)
 	{
@@ -57,6 +62,11 @@

 	/**
 	 *  The data item being wrapped.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
     public var data:Object;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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


Make this optional, and not the default.
Turns out a bunch of shit makes the wrapper size a little bigger,
and some things seem to freak out when the wrapper has a size,
even when includeInLayout=false.
Flex you very much.

git-svn-id: b675b909355d5cf946977f44a8ec5a6ceb3782e4@616 ed5b42cb-e716-0410-a449-f6a68f950b19

--- src/as/com/threerings/flex/FlexWrapper.as
+++ src/as/com/threerings/flex/FlexWrapper.as
@@ -30,13 +30,15 @@
  */
 public class FlexWrapper extends UIComponent
 {
-    public function FlexWrapper (object :DisplayObject)
+    public function FlexWrapper (object :DisplayObject, inheritSize :Boolean = false)
     {
         // don't capture mouse events in this wrapper
         mouseEnabled = false;
         addChild(object);
-        width = object.width;
-        height = object.height;
+        if (inheritSize) {
+            width = object.width;
+            height = object.height;
+        }
     }
 }
 }


XIFF-44.

--- src/org/igniterealtime/xiff/vcard/VCardPhoto.as
+++ src/org/igniterealtime/xiff/vcard/VCardPhoto.as
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2003-2012 Igniterealtime Community Contributors
- *
+ *
  *     Daniel Henninger
  *     Derrick Grigg <dgrigg@rogers.com>
  *     Juga Paazmaya <olavic@gmail.com>
@@ -9,14 +9,14 @@
  *     Sean Voisen <sean@voisen.org>
  *     Mark Walters
  *     Michael McCarthy <mikeycmccarthy@gmail.com>
- *
- *
+ *
+ *
  * Licensed 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.
@@ -31,6 +31,13 @@

 	/**
 	 * Photograph.
+	 *
+	 *
The image height and width SHOULD be between thirty-two (32) and ninety-six (96) pixels;
+	 * the recommended size is sixty-four (64) pixels high and sixty-four (64) pixels wide.

+	 *
+	 *
The image SHOULD be square.

+	 *
+	 * @see http://xmpp.org/extensions/xep-0153.html
 	 */
 	public class VCardPhoto implements IVCardPhoto
 	{
@@ -46,7 +53,7 @@
 		 * To save a photo, either binaryValue or externalValue are required, but not both.
 		 * If binaryValue is passed in, type is required.
 		 * If externalValue is passed in, type is not required.
-		 *
+		 *
 		 * @param	type The image type of the photo. Required if binaryValue is passed in.
 		 * @param	binaryValue The BASE64 encoded binary value of the photo. Either binaryValue or externalValue are required, but not both.
 		 * @param	externalValue The URI to an external photo. Either binaryValue or externalValue are required, but not both.
@@ -59,7 +66,15 @@
 		}

 		/**
+		 * Base64 encoded data.
+		 * The image SHOULD use less than eight kilobytes (8k) of data; this
+		 * restriction is to be enforced by the publishing client.
 		 *
+		 *
The image data MUST conform to the base64Binary datatype [7] and thus be encoded in accordance with
+		 * Section 6.8 of RFC 2045 [8], which recommends that base64 data should have lines limited to at most
+		 * 76 characters in length. However, any whitespace characters (e.g., '\\r' and '\\n') MUST be ignored.

+		 *
+		 * @see http://tools.ietf.org/html/rfc2045#section-6.8
 		 */
 		public function get binaryValue():String
 		{
@@ -68,7 +83,7 @@
 		public function set binaryValue( value:String ):void
 		{
 			_binaryValue = value;
-			if( value )
+			if ( value )
 			{
 				try
 				{
@@ -86,7 +101,7 @@
 		}

 		/**
-		 *
+		 * Image data
 		 */
 		public function get bytes():ByteArray
 		{
@@ -95,7 +110,7 @@
 		public function set bytes( value:ByteArray ):void
 		{
 			_bytes = value;
-			if( value )
+			if ( value )
 			{
 				try
 				{
@@ -113,7 +128,7 @@
 		}

 		/**
-		 *
+		 * The URI to an external photo
 		 */
 		public function get externalValue():String
 		{
@@ -125,7 +140,14 @@
 		}

 		/**
-		 * Possible types are ...
+		 * Mimetype of the given bytes value, if any.
+		 * Should be set by hand.
+		 *
+		 *
The image content type [6] SHOULD be image/gif, image/jpeg, or image/png; support for the
+		 * "image/png" content type is REQUIRED, support for the "image/gif" and "image/jpeg" content
+		 * types is RECOMMENDED, and support for any other content type is OPTIONAL.

+		 *
+		 * @exampleText image/jpeg
 		 */
 		public function get type():String
 		{


Revert "Merge pull request #195 from kaltura/BJG-MassiveBuffers"

This reverts commit 229c7067f06a600b2b9d3dc1d73c06ee1825f9b1, reversing
changes made to f4fcdf654bb0dea5d611cdfba93d1451605e71e1.

--- HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPNetStream.as
+++ HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPNetStream.as
@@ -470,13 +470,13 @@
 			// This code is optimized because it is frequently called and causes
 			// (on FF FP 17 debug) one second frame drop events when too slow.

+			var startTime:int = getTimer();
+
 			if(isNaN(_initialTime))
 				return _lastValidTimeTime;

-			var startTime:int = getTimer();
-
 			// Do we need to expire the cache?
-			if(startTime - _timeCache_LastUpdatedTimestamp > _timeCache_ExpirationPeriod)
+			if(getTimer() - _timeCache_LastUpdatedTimestamp > _timeCache_ExpirationPeriod)
 				_timeCache_LastUpdatedTimestamp = NaN;

 			// If cache invalid, repopulate it.
@@ -491,38 +491,30 @@
 				{
 					_timeCache_liveEdge = indexHandler.liveEdge;
 					_timeCache_liveEdgeMinusWindowDuration = _timeCache_liveEdge - indexHandler.windowDuration;
-					//trace("   o Perceived live stream (" + _timeCache_liveEdge + ", " + _timeCache_liveEdgeMinusWindowDuration + ")");
 				}
 				else
 				{
-					//trace("   o Perceived VOD stream.");
 					_timeCache_liveEdge = 0;
 					_timeCache_liveEdgeMinusWindowDuration = 0;
 				}

 				_timeCache_streamStartAbsoluteTime = indexHandler.streamStartAbsoluteTime;

-				_timeCache_LastUpdatedTimestamp = startTime;
+				_timeCache_LastUpdatedTimestamp = getTimer();
 			}

 			// First determine our absolute time.
 			var potentialNewTime:Number = super.time + _initialTime;

-			//trace(" super.time (" + super.time + ") + " + _initialTime + " = " + potentialNewTime);
-
-			// If we are VOD, then offset time so 0 seconds is the start of the stream.
+			// If we are VOD, then offset time so we start at the beginning.
 			var lastMan:HLSManifestParser = indexHandler.getLastSequenceManifest();
 			if(lastMan && lastMan.streamEnds == true && _timeCache_streamStartAbsoluteTime)
 				potentialNewTime -= _timeCache_streamStartAbsoluteTime;

 			// Take into account any cached live edge offset.
 			if(_timeCache_liveEdge != Number.MAX_VALUE)
-			{
-				//trace(" minus " + _timeCache_liveEdgeMinusWindowDuration);
 				potentialNewTime -= _timeCache_liveEdgeMinusWindowDuration;
-			}
-
-			// Update cache as appropriate.
+
 			if(!isNaN(potentialNewTime))
 				_lastValidTimeTime = potentialNewTime;

@@ -537,7 +529,7 @@
 				if(indexHandler.liveEdge != Number.MAX_VALUE)
 					pubTime += indexHandler.liveEdge - indexHandler.windowDuration;
 				else
-					pubTime += indexHandler.streamStartAbsoluteTime;
+					pubTime -= indexHandler.streamStartAbsoluteTime;
 			}

 			return pubTime;
@@ -2080,10 +2072,6 @@
 						super.close();
 						super.play(null);
 						appendBytesAction(NetStreamAppendBytesAction.RESET_SEEK);
-
-						// Preserve pause state.
-						if(_isPaused)
-							super.pause();

 						_initialTime = NaN;


made function private

made function private

--- WeaveCore/src/weave/core/ChildListCallbackInterface.as
+++ WeaveCore/src/weave/core/ChildListCallbackInterface.as
@@ -52,7 +52,7 @@
 		 * @param objectAdded This is the object that was just added to the hash map.
 		 * @param objectRemoved This is the object that was just removed from the hash map.
 		 */
-		public function setCallbackVariables(name:String = null, objectAdded:ILinkableObject = null, objectRemoved:ILinkableObject = null):void
+		private function setCallbackVariables(name:String = null, objectAdded:ILinkableObject = null, objectRemoved:ILinkableObject = null):void
 		{
 			_lastNameAdded = objectAdded ? name : null;
 			_lastObjectAdded = objectAdded;


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

--- frameworks/projects/mx/src/mx/containers/Grid.as
+++ frameworks/projects/mx/src/mx/containers/Grid.as
@@ -0,0 +1,790 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.containers
+{
+
+import mx.containers.gridClasses.GridColumnInfo;
+import mx.containers.gridClasses.GridRowInfo;
+import mx.core.EdgeMetrics;
+
+//--------------------------------------
+//  Styles
+//--------------------------------------
+
+/**
+ *  Number of pixels between children in the horizontal direction.
+ *  The default value is 8.
+ */
+[Style(name="horizontalGap", type="Number", format="Length", inherit="no")]
+
+/**
+ *  Number of pixels between children in the vertical direction.
+ *  The default value is 6.
+ */
+[Style(name="verticalGap", type="Number", format="Length", inherit="no")]
+
+//--------------------------------------
+//  Excluded APIs
+//--------------------------------------
+
+[Exclude(name="direction", kind="property")]
+
+[Exclude(name="focusIn", kind="event")]
+[Exclude(name="focusOut", kind="event")]
+
+[Exclude(name="focusBlendMode", kind="style")]
+[Exclude(name="focusSkin", kind="style")]
+[Exclude(name="focusThickness", kind="style")]
+
+[Exclude(name="focusInEffect", kind="effect")]
+[Exclude(name="focusOutEffect", kind="effect")]
+
+[IconFile("Grid.png")]
+
+/**
+ *  A Grid container lets you arrange children as rows and columns
+ *  of cells, similar to an HTML table.
+ *  The Grid container contains one or more rows, and each row can contain
+ *  one or more cells, or items. You use the following tags to define a Grid control:
+ *
+ *

+ *
The <mx:Grid> tag defines a Grid container.

+ *
+ *
The <mx:GridRow> tag defines a grid row,
+ *     which has one or more cells. The grid row must be a child of the
+ *     <Grid> tag.

+ *
+ *
The <mx:GridItem> tag defines a grid cell,
+ *     and must be a child of the <GridRow> tag.
+ *     The <mx:GridItem> tag can contain
+ *     any number of children.

+ *

+ *
+ *
The height of all the cells in a single row is the same,
+ *  but each row can have a different height.
+ *  The width of all cells in a single column is the same,
+ *  but each column can have a different width.
+ *  You can define a different number of cells
+ *  for each row or each column of the Grid container.
+ *  In addition, a cell can span multiple columns
+ *  or multiple rows of the container.

+ *
+ *
The Grid, GridRow, and GridItem containers have the following default sizing characteristics:

+ *

+ *

+ *           Characteristic
+ *           Description
+ *

+ *

+ *           Grid height
+ *           The sum of the default or explicit heights of all rows plus the gaps between rows.
+ *

+ *

+ *           Grid width
+ *           The sum of the default or explicit width of all columns plus the gaps between columns.
+ *

+ *

+ *           Height of each row and each cell
+ *           The default or explicit height of the tallest item in the row. If a GridItem container does not
+ *               have an explicit size, its default height is the default or explicit height of the child in the cell.
+ *

+ *

+ *           Width of each column and each cell
+ *           The default or explicit width of the widest item in the column. If a GridItem container does not have an explicit
+ *               width, its default width is the default or explicit width of the child in the cell.
+ *

+ *

+ *           Gap between rows and columns
+ *           Determined by the horizontalGap and verticalGap properties of the Grid class. The default value for both
+ *               gaps is 6 pixels.
+ *

+ *

+ *           Default padding
+ *           0 pixels for the top, bottom, left, and right values, for all three container classes.
+ *

+ *

+ *
+ *  @mxml
+ *
+ *
The <mx:Grid> tag inherits all of the tag
+ *  attributes of its superclass, except the Box.direction
+ *  property, and adds the following tag attributes:

+ *
+ *

+ *  <mx:Grid
+ *    Styles
+ *    horizontalGap="8"
+ *    verticalGap="6"
+ *    >
+ *      ...
+ *    These child tags are examples only:
+ *       <mx:GridRow id="row1">
+ *        <mx:GridItem
+ *          rowSpan="1"
+ *          colSpan="1">
+ *            <mx:Button label="Button 1"/>
+ *        </mx:GridItem>
+ *        ...
+ *       </mx:GridRow>
+ *    ...
+ *  </mx:Grid>
+ *

+ *
+ *  @includeExample examples/GridLayoutExample.mxml
+ *
+ *  @see mx.containers.GridRow
+ *  @see mx.containers.GridItem
+ */
+public class Grid extends Box
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     */
+    public function Grid()
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Minimum, maximum, and preferred width of each column.
+     */
+    private var columnWidths:Array /* of GridColumnInfo */;
+
+    /**
+     *  @private
+     *  Minimum, maximum, and preferred height of each row.
+     */
+    private var rowHeights:Array /* of GridRowInfo */;
+
+    /**
+     *  @private
+     */
+    private var needToRemeasure:Boolean = true;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods:UIComponent
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override public function invalidateSize():void
+    {
+        // When the Grid's size is invalidated, the rowHeights
+        // and columnWidths arrays need to be recalculated.
+        // Those arrays are usually recalculated in measure(),
+        // but set a flag in case measure() isn't called (which
+        // will happen if the Grid's width and height are explicit).
+        if (!isNaN(explicitWidth) && !isNaN(explicitHeight))
+            needToRemeasure = true;
+
+        super.invalidateSize();
+    }
+
+    /**
+     *  Calculates the preferred, minimum, and maximum sizes of the Grid.
+
+     *
You should not call this method directly; it is an advanced
+     *  method for use in subclassing.
+     *  The Flex LayoutManger calls the measure() method
+     *  at the appropriate time.
+     *  At application startup, the Flex LayoutManager attempts
+     *  to measure all components from the children to the parents
+     *  before setting them to their final sizes.

+     *
+     *
To understand how the Grid container calculates its measurements,
+     *  assume that every GridItem container has its rowSpan
+     *  property and colSpan property set to 1.
+     *  The measured width of the first column of the Grid container
+     *  is equal to the maximum among of the measured widths
+     *  of all GridItem containers in the first column.
+     *  Similarly, the measured width of the second column is
+     *  the maximum of all measured widths among the GridItem containers
+     *  in the second column, and so on.
+     *  The measuredWidth of the entire Grid container
+     *  is the sum of all columns' measured widths, plus the thickness
+     *  of the border, plus the left and right padding, plus room
+     *  for the horizontal gap between adjacent grid cells.

+     *
+     *
The measuredHeight, minWidth,
+     *  minHeight, maxWidth, and
+     *  maxHeight properties' values are all calculated
+     *  in a similar manner, by adding together the values of the
+     *  GridItem containers' measuredHeight properties,
+     *  minWidth properties, and so on.

+     *
+     *
If a GridItem container's colSpan property is 3,
+     *  that GridItem container's measuredWidth is divided
+     *  among 3 columns.
+     *  If the measuredWidth is divided equally,
+     *  each of the three columns calculates its measured width
+     *  as if the GridItem container were only in that column
+     *  and the GridItem container's measuredWidth
+     *  were one-third of its actual value.

+     *
+     *
However, the GridItem container's measuredWidth
+     *  property is not always divided equally among all the columns it spans.
+     *  If some of the columns have a property with a percentage value
+     *  of width, the GridItem container's
+     *  measuredWidth property is divided accordingly,
+     *  attempting to give each column the requested percentage
+     *  of the Grid container.

+     *
+     *
All of the values described previously are the
+     *  measured widths and heights of Grid.
+     *  The user can override the measured values by explicitly
+     *  supplying a value for the following properties:

+     *
+     *

+     *
minHeight

+     *
minWidth

+     *
maxHeight

+     *
maxWidth

+     *
height

+     *
width

+     *

+     *
+     *
If you override this method, your implementation must call the
+     *  super.measure() method or set the
+     *  measuredHeight and measuredWidth properties.
+     *  You may also optionally set the following properties:

+     *
+     *

+     *
measuredMinWidth

+     *
measuredMinHeight

+     *

+     *
+     *
These properties correspond to the layout properties listed previously
+     *  and, therefore, are not documented separately.

+     */
+    override protected function measure():void
+    {
+        // 1. Determine the number of grid columns,
+        // taking into account rowSpan and colSpan
+
+        var numGridRows:int = 0;
+        var numGridColumns:int = 0;
+        var columnOccupiedUntilRow:Array = [];
+        var gridRow:GridRow;
+        var gridItem:GridItem;
+        var i:int;
+        var j:int;
+        var colIndex:int;
+
+        var rowList:Array = []; // GridRows
+
+        for (var index:int = 0; index < numChildren; index++)
+        {
+            gridRow = GridRow(getChildAt(index));
+            if (gridRow.includeInLayout)
+            {
+                rowList.push(gridRow);
+                numGridRows++;
+            }
+        }
+
+
+        for (i = 0; i < numGridRows; i++)
+        {
+            colIndex = 0;
+            gridRow = rowList[i];
+
+            // Cache the number of children as a property on the gridRow
+            gridRow.numGridItems = gridRow.numChildren;
+
+            // Tell the grid row what row number it is
+            gridRow.rowIndex = i;
+            for (j = 0; j < gridRow.numGridItems; j++)
+            {
+                // If this column is occupied by a cell in the previous row,
+                // then push cells in this row to the right.
+                if (i > 0)
+                {
+                    var occupied:int = columnOccupiedUntilRow[colIndex];
+                    while (!isNaN(occupied) && occupied >= i)
+                    {
+                        colIndex++;
+                        occupied = columnOccupiedUntilRow[colIndex];
+                    }
+                }
+
+                // Set the position of this GridItem to the next
+                // available space.
+                gridItem = GridItem(gridRow.getChildAt(j));
+                gridItem.colIndex = colIndex;
+
+                // If this cell extends to rows beyond this one, remember
+                // which columns are occupied.
+                if (gridItem.rowSpan > 1)
+                {
+                    var lastRowOccupied:int = i + gridItem.rowSpan - 1;
+                    for (var k:int = 0; k < gridItem.colSpan; k++)
+                    {
+                        columnOccupiedUntilRow[colIndex + k] = lastRowOccupied;
+                    }
+                }
+
+                colIndex += gridItem.colSpan;
+            }
+
+            if (colIndex > numGridColumns)
+                numGridColumns = colIndex;
+        }
+
+        // 2. Create the rowHeights and colWidths arrays.
+        // Initially set all heights and widths to zero.
+
+        rowHeights = new Array(numGridRows);
+        columnWidths = new Array(numGridColumns);
+
+        for (i = 0; i < numGridRows; i++)
+        {
+            rowHeights[i] = new GridRowInfo();
+        }
+        for (i = 0; i < numGridColumns; i++)
+        {
+            columnWidths[i] = new GridColumnInfo();
+        }
+
+        // 3. Visit all the GridItems again.
+        // Expand each row and each column so it's large enough
+        // to hold its GridItems.
+        // We'll deal with rowSpans and colSpans of 1 first,
+        // then rowSpans and colSpans of 2, and so on.
+
+        var BIG_INT:int = int.MAX_VALUE;
+        var curSpan:int;
+        var nextSpan:int = 1;
+
+        var horizontalGap:Number = getStyle("horizontalGap");
+        var verticalGap:Number = getStyle("verticalGap");
+
+        do
+        {
+            curSpan = nextSpan;
+            nextSpan = BIG_INT;
+
+            for (i = 0; i < numGridRows; i++)
+            {
+                gridRow = rowList[i];
+
+                // Store pointers to the columnWidths and rowHeights arrays
+                // on each GridRow object.
+                gridRow.columnWidths = columnWidths;
+                gridRow.rowHeights = rowHeights;
+
+                for (j = 0; j < gridRow.numGridItems; j++)
+                {
+                    gridItem = GridItem(gridRow.getChildAt(j));
+                    var rowSpan:int = gridItem.rowSpan;
+                    var colSpan:int = gridItem.colSpan;
+
+                    // During this iteration of the outermost do-while loop,
+                    // we're dealing with rows and columns that have a rowSpan
+                    // or colSpan equal to curSpan.  If we encounter a row or
+                    // column with a larger span, remember its span in nextSpan
+                    // for the next iteration through the do-while loop.
+
+                    if (rowSpan == curSpan)
+                        distributeItemHeight(gridItem, i, verticalGap, rowHeights);
+                    else if (rowSpan > curSpan && rowSpan < nextSpan)
+                        nextSpan = rowSpan;
+
+                    if (colSpan == curSpan)
+                    {
+                        distributeItemWidth(gridItem, gridItem.colIndex,
+                                            horizontalGap, columnWidths);
+                    }
+                    else if (colSpan > curSpan && colSpan < nextSpan)
+                    {
+                        nextSpan = colSpan;
+                    }
+                }
+            }
+        }
+        while (nextSpan < BIG_INT);
+
+        // 4. Reconcile min/preferred/max values, so that min <= pref <= max.
+        // Also compute sums of all measurements.
+
+        var minWidth:Number = 0;
+        var minHeight:Number = 0;
+        var preferredWidth:Number = 0;
+        var preferredHeight:Number = 0;
+
+        for (i = 0; i < numGridRows; i++)
+        {
+            var rowInfo:GridRowInfo = rowHeights[i];
+
+            if (rowInfo.min > rowInfo.preferred)
+                rowInfo.min = rowInfo.preferred;
+            if (rowInfo.max < rowInfo.preferred)
+                rowInfo.max = rowInfo.preferred;
+
+            minHeight += rowInfo.min;
+            preferredHeight += rowInfo.preferred;
+        }
+
+        for (i = 0; i < numGridColumns; i++)
+        {
+            var columnInfo:GridColumnInfo = columnWidths[i];
+
+            if (columnInfo.min > columnInfo.preferred)
+                columnInfo.min = columnInfo.preferred;
+            if (columnInfo.max < columnInfo.preferred)
+                columnInfo.max = columnInfo.preferred;
+
+            minWidth += columnInfo.min;
+            preferredWidth += columnInfo.preferred;
+        }
+
+        // 5. Add horizontal space for the gaps between the grid cells
+        // and the margins around them.
+
+        // Add space for grid's left and right margins
+        var vm:EdgeMetrics = viewMetricsAndPadding;
+        var padding:Number = vm.left + vm.right;
+        var row:GridRow;
+        var rowVm:EdgeMetrics;
+        var maxRowPadding:Number = 0;
+
+        // Add space for horizontal gaps between grid items.
+        if (numGridColumns > 1)
+            padding += getStyle("horizontalGap") * (numGridColumns - 1);
+
+        // Add space for the gridrow's left and right margins.
+        for (i = 0; i < numGridRows; i++)
+        {
+            row = rowList[i];
+            rowVm = row.viewMetricsAndPadding;
+            var rowPadding:Number = rowVm.left + rowVm.right;
+            if (rowPadding > maxRowPadding)
+                maxRowPadding = rowPadding;
+        }
+        padding += maxRowPadding;
+
+        minWidth += padding;
+        preferredWidth += padding;
+
+        // 6. Add vertical space for the gaps between grid cells
+        // and the margins around them.
+
+        // Add space for grid's left and right margins.
+        padding = vm.top + vm.bottom;
+
+        // Add space for vertical gaps between grid items.
+        if (numGridRows > 1)
+            padding += getStyle("verticalGap") * (numGridRows - 1);
+
+        // Add each of the grid rows' margins.
+        for (i = 0; i < numGridRows; i++)
+        {
+            row = rowList[i];
+            rowVm = row.viewMetricsAndPadding;
+            padding += rowVm.top + rowVm.bottom;
+        }
+
+        minHeight += padding;
+        preferredHeight += padding;
+
+        // 7. Now that the Grid is finished measuring itself,
+        // update all the measurements of the child GridRows.
+
+        for (i = 0; i < numGridRows; i++)
+        {
+            row = rowList[i];
+            row.updateRowMeasurements();
+        }
+
+        // 8. Up until now, we've calculated all our measurements
+        // based on the GridItems.
+        // If someone has explicitly set the width (or percentWidth
+        // or whatever) of a GridRow, we've been ignoring it.
+        // Run the standard Box measurement algorithm, which will
+        // take into account hard-coded values on the GridRow objects,
+        // and combine the measured values with the ones
+        // we've calculated based on GridItems.
+
+        super.measure();
+
+        measuredMinWidth = Math.max(measuredMinWidth, minWidth);
+        measuredMinHeight = Math.max(measuredMinHeight, minHeight);
+        measuredWidth = Math.max(measuredWidth, preferredWidth);
+        measuredHeight = Math.max(measuredHeight, preferredHeight);
+
+        needToRemeasure = false;
+    }
+
+    /**
+     *  Sets the size and position of each child of the Grid.
+     *
+     *
You should not call this method directly; it is an advanced
+     *  method for use in subclassing.
+     *  The Flex LayoutManager calls the updateDisplayList
+     *  method at the appropriate time.
+     *  At application startup, the Flex LayoutManager calls
+     *  the updateDisplayList() method on every component,
+     *  starting with the root and working downward.

+     *
+     *
The Grid container follows the same layout rules
+     *  as the VBox container.
+     *  The positions and sizes of the GridRow containers
+     *  are calculated the same way that a VBox container
+     *  determines the positions and sizes of its children.
+     *  Similarly, a GridRow container positions its GridItem containers
+     *  using a similar layout algorithm of an HBox container.

+     *
+     *
The only difference is that the GridRow containers
+     *  all coordinate with one another, so they all choose
+     *  the same positions and sizes for their children
+     *  (so that the columns of the Grid container align).

+     *
+     *
If you override this method, your implementation should call
+     *  the super.updateDisplayList() method
+     *  and call the move() and the setActualSize()
+     *  methods on each of the children.
+     *  For the purposes of performing layout, you should get the size
+     *  of this container from the unscaledWidth
+     *  and unscaledHeight properties, not the
+     *  width and height properties.
+     *  The width and height properties do not
+     *  take into account the values of the scaleX
+     *  and scaleY properties for this container.

+     *
+     *  @param unscaledWidth Specifies the width of the component, in pixels,
+     *  in the component's coordinates, regardless of the value of the
+     *  scaleX property of the component.
+     *
+     *  @param unscaledHeight Specifies the height of the component, in pixels,
+     *  in the component's coordinates, regardless of the value of the
+     *  scaleY property of the component.
+     */
+    override protected function updateDisplayList(unscaledWidth:Number,
+                                                  unscaledHeight:Number):void
+    {
+        // If the measure function wasn't called (because the widths
+        // and heights of the Grid are explicitly set), then we need
+        // to generate the rowHeights and columnWidths arrays now.
+        if (needToRemeasure)
+            measure();
+
+        // Follow standard VBox rules for laying out the child rows.
+        super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+        var n:int = 0;
+        var i:int;
+        var child:GridRow;
+
+        var rowList:Array = []; // GridRows
+
+        for (var index:int = 0; index < numChildren; index++)
+        {
+            child = GridRow(getChildAt(index));
+            if (child.includeInLayout)
+            {
+                rowList.push(child);
+                n++;
+            }
+        }
+
+        // Copy the row heights, which were calculated by the VBox layout
+        // algorithm, into the rowHeights array.
+        for (i = 0; i < n; i++)
+        {
+            child = rowList[i];
+
+            rowHeights[i].y = child.y;
+            rowHeights[i].height = child.height;
+        }
+
+        // Now that all the rows have been layed out, lay out the GridItems
+        // in those rows, based on the info stored in the colWidths and
+        // rowHeights arrays.
+        for (i = 0; i < n; i++)
+        {
+            child = rowList[i];
+
+            child.doRowLayout(child.width * child.scaleX,
+                              child.height * child.scaleY);
+        }
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private function distributeItemHeight(item:GridItem, rowIndex:Number,
+                                          verticalGap:Number,
+                                          rowHeights:Array):void
+    {
+        var maxHeight:Number = item.maxHeight;
+        var preferredHeightToDistribute:Number =
+            item.getExplicitOrMeasuredHeight();
+        var minHeightToDistribute:Number = item.minHeight;
+        var rowSpan:int = item.rowSpan;
+        var totalFlex:Number = 0;
+        var divideEqually:Boolean = false;
+        var i:int;
+        var rowInfo:GridRowInfo;
+
+        // If the row(s) spanned by this GridItem are already non-empty,
+        // subtract the existing sizes of those rows from the item's height.
+        for (i = rowIndex; i < rowIndex + rowSpan; i++)
+        {
+            rowInfo = rowHeights[i];
+            preferredHeightToDistribute -= rowInfo.preferred;
+            minHeightToDistribute -= rowInfo.min;
+            totalFlex += rowInfo.flex;
+        }
+
+        // Subtract space for gaps between the rows.
+        if (rowSpan > 1)
+        {
+            var gap:Number = verticalGap * (rowSpan - 1);
+            preferredHeightToDistribute -= gap;
+            minHeightToDistribute -= gap;
+        }
+
+        // If none of the rows spanned by this item are resizable,
+        // then divide space among the rows equally.
+        if (totalFlex == 0)
+        {
+            totalFlex = rowSpan;
+            divideEqually = true;
+        }
+
+        // If we haven't yet distributed the height of the object,
+        // divide remaining height among the rows.
+        // If some rows are resizable and others are not,
+        // allocate space to the resizable ones.
+        preferredHeightToDistribute =
+            preferredHeightToDistribute > 0 ?
+            Math.ceil(preferredHeightToDistribute / totalFlex) :
+            0;
+        minHeightToDistribute =
+            minHeightToDistribute > 0 ?
+            Math.ceil(minHeightToDistribute / totalFlex) :
+            0;
+
+        for (i = rowIndex; i < rowIndex + rowSpan; i++)
+        {
+            rowInfo = rowHeights[i];
+            var flex:Number = divideEqually ? 1 : rowInfo.flex;
+            rowInfo.preferred += preferredHeightToDistribute * flex;
+            rowInfo.min += minHeightToDistribute * flex;
+        }
+
+        // The GridItem.maxHeight attribute is respected only for rows
+        // with a rowSpan of 1.
+        if (rowSpan == 1 && maxHeight < rowInfo.max)
+            rowInfo.max = maxHeight;
+    }
+
+    /**
+     *  @private
+     */
+    private function distributeItemWidth(item:GridItem, colIndex:int,
+                                         horizontalGap:Number, columnWidths:Array):void
+    {
+        var maxWidth:Number = item.maxWidth;
+        var preferredWidthToDistribute:Number =
+            item.getExplicitOrMeasuredWidth();
+        var minWidthToDistribute:Number = item.minWidth;
+        var colSpan:int = item.colSpan;
+        var percentWidth:Number = item.percentWidth;
+        var totalFlex:Number = 0;
+        var divideEqually:Boolean = false;
+        var i:int;
+        var columnInfo:GridColumnInfo;
+
+        // If the column(s) spanned by this GridItem are already non-empty,
+        // subtract the existing sizes of those columns from the item's width.
+        for (i = colIndex; i < colIndex + colSpan; i++)
+        {
+            columnInfo = columnWidths[i];
+            preferredWidthToDistribute -= columnInfo.preferred;
+            minWidthToDistribute -= columnInfo.min;
+            totalFlex += columnInfo.flex;
+        }
+
+        // Subtract space for gaps between the columns.
+        if (colSpan > 1)
+        {
+            var gap:Number = horizontalGap * (colSpan - 1);
+            preferredWidthToDistribute -= gap;
+            minWidthToDistribute -= gap;
+        }
+
+        // If none of the columns spanned by this item are resizable,
+        // then divide space among the columns equally.
+        if (totalFlex == 0)
+        {
+            totalFlex = colSpan;
+            divideEqually = true;
+        }
+
+        // If we haven't yet distributed the width of the object,
+        // divide remaining width among the columns.
+        // If some columns are resizable and others are not,
+        // allocate space to the resizable ones.
+        preferredWidthToDistribute =
+            preferredWidthToDistribute > 0 ?
+            Math.ceil(preferredWidthToDistribute / totalFlex) :
+            0;
+        minWidthToDistribute =
+            minWidthToDistribute > 0 ?
+            Math.ceil(minWidthToDistribute / totalFlex) :
+            0;
+
+        for (i = colIndex; i < colIndex + colSpan; i++)
+        {
+            columnInfo = columnWidths[i];
+            var flex:Number = divideEqually ? 1 : columnInfo.flex;
+            columnInfo.preferred += preferredWidthToDistribute * flex;
+            columnInfo.min += minWidthToDistribute * flex;
+            if (percentWidth)
+            {
+                columnInfo.percent = Math.max(columnInfo.percent,
+                                              percentWidth / colSpan);
+            }
+        }
+
+        // The GridItem.maxWidth attribute is respected only for columns
+        // with a colSpan of 1.
+        if (colSpan == 1 && maxWidth < columnInfo.max)
+            columnInfo.max = maxWidth;
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 10479
Author:   jimurphy@adobe.com
Date:     2009-09-22T00:33:54.511456Z

Log Message:
-----------
Merged gumbo_beta2 revisions 10396,10434,10463,10472 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/CompcPreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Box.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Fade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ApplicationControlBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/SymbolTable.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StylesContainer.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/MxmlDocument.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Tile.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Skin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/HBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/MxmlCompiler.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ControlBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Canvas.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/VBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/CompilerAPI.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkBar.as</path>

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

--- frameworks/projects/mx/src/mx/containers/HBox.as
+++ frameworks/projects/mx/src/mx/containers/HBox.as
@@ -38,6 +38,7 @@
 [IconFile("HBox.png")]

 [Alternative(replacement="spark.components.HGroup", since="4.0")]
+[Alternative(replacement="spark.components.Border", since="4.0")]

 /**
  *  The Halo HBox container lays out its children in a single horizontal row.


fixed issue where utf8-encoded characters would be lost in Royale apps (references BowlerHatLLC/vscode-nextgenas#203)

--- src/ASConfigC.as
+++ src/ASConfigC.as
@@ -664,6 +664,9 @@
 				this._compilerArgs.unshift("-jar");
 				this._compilerArgs.unshift("-Droyalelib=" + escapePath(frameworkPath));
 				this._compilerArgs.unshift("-Droyalecompiler=" + escapePath(this._sdkHome));
+				//Royale requires this so that it doesn't changing the encoding of
+				//UTF-8 characters and display ???? instead
+				this._compilerArgs.unshift("-Dfile.encoding=UTF8");
 			}
 			else
 			{


Adjust how the video and camera are created to reality

--- src/CameraMan.as
+++ src/CameraMan.as
@@ -29,6 +29,7 @@
         private var movieSize:Point;

         public function CameraMan() {
+            stage.scaleMode = StageScaleMode.NO_SCALE;
             stage.align = StageAlign.TOP_LEFT;

             trace("START ME UP");
@@ -42,23 +43,19 @@

         public function init(event:Event) : void {
             trace("initizing");
+            sendto = this.loaderInfo.parameters.sendto;

-            sendto = this.loaderInfo.parameters.sendto;
-            trace("Sending to " + sendto);
             movieSize = new Point(this.loaderInfo.width, this.loaderInfo.height);
             trace("Movie size is " + this.loaderInfo.width + ", " + this.loaderInfo.height);

-            this.initCamera();
-        }
-
-        public function initCamera() : void {
-            videoface = new Video(movieSize.x, movieSize.y);
-            this.addChild(videoface);
-            trace("Video is " + videoface.videoWidth + ", " + videoface.videoHeight);
             cam = Camera.getCamera();
             cam.setMode(movieSize.x, movieSize.y, 15);
+            trace("Camera size is " + cam.width + ", " + cam.height);
+
+            videoface = new Video(cam.width, cam.height);
             videoface.attachCamera(cam);
-            trace("Video w/ camera is " + videoface.videoWidth + ", " + videoface.videoHeight);
+
+            this.addChild(videoface);
         }

         public function takePhoto() : void {


Fixed walkable area id.

Fixed walkable area id.

--- as3_lib/src/recastnavigation/recast/enum/RCAreaType.as
+++ as3_lib/src/recastnavigation/recast/enum/RCAreaType.as
@@ -14,7 +14,7 @@
 		 * This is also the maximum allowed area id, and the only
 		 * non-null area id recognized by some steps in the build process.
 		 */
-		public static const RC_WALKABLE_AREA:int = 0;
+		public static const RC_WALKABLE_AREA:int = 63;

 	}


Replacing magic numbers with constants

Replacing magic numbers with constants

--- raw/src/org/yellcorp/lib/sound/SoundSequencer.as
+++ raw/src/org/yellcorp/lib/sound/SoundSequencer.as
@@ -11,6 +11,10 @@
 [Event(name="samplePlayed", type="org.yellcorp.lib.sound.SoundSequencerCueEvent")]
 public class SoundSequencer extends EventDispatcher
 {
+    // One sample = two float values, one left, one right.
+    // floats are 4 bytes each
+    private static const BYTES_PER_SAMPLE_PAIR:uint = 8;
+
     private var _outputBufferSize:uint;

     private var cues:Array;
@@ -152,8 +156,8 @@
             {
                 // cued sound starts in the middle of the packet - just
                 // copy the accumulation buffer data up to that point
-                destBuffer.writeBytes(srcBuffer, 0, packetOffset * 8);
-                srcBuffer.position = packetOffset * 8;
+                destBuffer.writeBytes(srcBuffer, 0, packetOffset * BYTES_PER_SAMPLE_PAIR);
+                srcBuffer.position = packetOffset * BYTES_PER_SAMPLE_PAIR;
             }

             while (srcBuffer.bytesAvailable > 0 && extractBuffer.bytesAvailable > 0)