Transferred from the Adobe Open Source Subversion Repository

Revision: 12664
Author:   mhorn@adobe.com
Date:     2009-12-08T20:39:06.119601Z

Log Message:
-----------
asdoc updates; new examples; updated examples; bug fixes

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/primitives/examples/RectangularDropShadowExample.mxml</path>
<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="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RectangularDropShadow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/primitives/examples/LineExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/IGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Graphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as</path>

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

--- frameworks/projects/spark/src/spark/core/IGraphicElement.as
+++ frameworks/projects/spark/src/spark/core/IGraphicElement.as
@@ -17,28 +17,27 @@
 import mx.core.IVisualElement;

 /**
- *  The IGraphicElement is implemented by IVisualElements that
- *  take advantage of the parent Group's DisplayObject
- *  management.
+ *  The IGraphicElement is implemented by IVisualElements that
+ *  take advantage of the parent Group's DisplayObject management.
  *
- *
One typical use case is DisplayObject sharing.
- *  Group organizes its
- *  IGraphicElement children in sequences that share and draw to
- *  the same DisplayObject.
- *  The DisplayObject is created by the first element in the
+ *
One typical use case is DisplayObject sharing.
+ *  Group organizes its
+ *  IGraphicElement children in sequences that share and draw to
+ *  the same DisplayObject.
+ *  The DisplayObject is created by the first element in the
  *  sequence.

  *
  *
Another use case is when an element does not derrive from
- *  DisplayObject but instead maintains, creates and/or destroys
- *  its own DisplayObject.  The Group will ensure to
- *  call the element to create the DisplayObject, add the
- *  DisplayObject as its child at the correct index as well as
+ *  DisplayObject but instead maintains, creates and/or destroys
+ *  its own DisplayObject. The Group will ensure to
+ *  call the element to create the DisplayObject, add the
+ *  DisplayObject as its child at the correct index as well as
  *  handle its removal.

  *
- *  Typically a Developer will extend the GraphicElement class
- *  instead of directly implementing the IGraphciElement
- *  interface as GraphicElement already provides most of the
- *  required functionality.
+ *
Typically a developer extends the GraphicElement class
+ *  instead of directly implementing the IGraphciElement
+ *  interface. The GraphicElement class already provides most of the
+ *  required functionality.

  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -58,11 +57,11 @@
     //----------------------------------

     /**
-     *  The shared DisplayObject where this
-     *  IGraphicElement is drawn.
-     *
-     *  Implementers should not create the DisplayObject
-     *  here, but in createDisplayObject().
+     *  The shared DisplayObject where this
+     *  IGraphicElement is drawn.
+     *
+     *
Implementers should not create the DisplayObject
+     *  here, but in the createDisplayObject() method.

      *
      *  @see #createDisplayObject
      *  @see #validateDisplayList
@@ -82,7 +81,7 @@
     /**
      *  Indicates the association between this IGraphicElement and its
      *  display objects.  The Group manages this property and the values
-     *  are one of the DisplayObjectSharingMode enum class.
+     *  are one of the DisplayObjectSharingMode enum class.
      *
      *

      *
A value of DisplayObjectSharingMode.OWNS_UNSHARED_OBJECT
@@ -96,7 +95,7 @@
      *    other IGraphicElements are using/drawing to that display object as well.
      *    Depending on the specific implementation, the IGraphicElement may perform
      *    certain management of the display object.
-     *    For example the base class GraphicElement
+     *    For example the base class GraphicElement
      *    clears the transform of the display object, reset its visibility, alpha,
      *    etc. properties to their default values and additionally clear the
      *    graphics on every validateDisplayList() call.

@@ -123,32 +122,33 @@
     //--------------------------------------------------------------------------

     /**
-     *  Creates a new DisplayObject where this IGraphicElement
+     *  Creates a new DisplayObject where this IGraphicElement
      *  is drawn.
      *
      *  Subsequent calls to the getter of the displayObject property must
      *  return the same display object.
      *
-     *  After the DisplayObject is created, the parent Group
+     *  After the DisplayObject is created, the parent Group
      *  will pass along the display objects to the rest of the elements in the sequence.
      *
-     *  Group will ensure that this method is called only when needed.
-     *
-     *
If the element wants to participate in the DisplayObject
-     *  sharing, then the new DisplayObject must implement IShareableDisplayObject.
+     *  The Group ensures that this method is called only when needed.
+     *
+     *
If the element wants to participate in the DisplayObject
+     *  sharing, then the new DisplayObject must implement IShareableDisplayObject.
      *  This interface is being used by the Group to manage invalidation and
      *  redrawing of the graphic element sequence and typically is not directly
      *  used by the Developer.

      *
-     *  To reevaluate the shared sequences, call the parent Group
-     *  invalidateGraphicElementSharing() method.
-     *
-     *  To force the Group to remove the element's current
-     *  DisplayObject from its display list and recalculate the
-     *  display object sharing, call the parent Group
-     *  discardDisplayObject() method.
-     *
-     *  @return The display object created
+     *
To reevaluate the shared sequences, call the parent Group
+     *  invalidateGraphicElementSharing() method.

+     *
+     *
To force the Group to remove the element's current
+     *  DisplayObject from its display list and recalculate the
+     *  display object sharing, call the parent Group's
+     *  discardDisplayObject() method.

+     *
+     *  @return The display object created.
+     *
      *  @see #displayObject
      *  @see spark.components.Group#invalidateGraphicElementSharing
      *  @see spark.components.Group#discardDisplayObject
@@ -165,27 +165,27 @@
      *  sharedDisplayObject of the sequence.
      *
      *
Typically implementers will return true when this
-     *  IGraphicElement can cumulatively draw in the shared
-     *  DisplayObject graphics property.
-     *  In all cases where this IGraphicElement needs to set
-     *  properties on the DisplayObject that don't apply to the
-     *  rest of the elements in the sequence this method must return false.
+     *  IGraphicElement can cumulatively draw in the shared
+     *  DisplayObject graphics property.
+     *  In all cases where this IGraphicElement needs to set
+     *  properties on the DisplayObjects that don't apply to the
+     *  rest of the elements in the sequence, this method must return false.
      *  Examples for such properties are rotation, scale, transform,
-     *  mask, alpha, filters, color transform, 3D, layer, etc.

-     *
-     *  When this method returns true, subsequent calls to the getter of the
-     *  displayObject property must return the same display object.
-     *
-     *
Note that in certain cases the sharedDisplayObject may be
-     *  the parent Group itself.  In the rest of the cases the
-     *  DisplayObject is created by the first element in the sequence.

-     *
-     *
When this IGraphicElement needs to rebuild its sequence,
-     *  it notifies the parent Group by calling its
+     *  mask, alpha, filters, color transform, 3D, and layer.

+     *
+     *
When this method returns true, subsequent calls to the getter of the
+     *  displayObject property must return the same display object.

+     *
+     *
In certain cases, the sharedDisplayObject property might be
+     *  the parent Group itself. In the rest of the cases, the
+     *  DisplayObject is created by the first element in the sequence.

+     *
+     *
When this IGraphicElement needs to rebuild its sequence,
+     *  it notifies the parent Group by calling its
      *  invalidateGraphicElementSharing() method.

      *
-     *  @return Returns true when this IGraphicElement can draw itself
-     *  to the shared DisplayObject of the sequence.
+     *  @return Returns true when this IGraphicElement can draw itself
+     *  to the shared DisplayObject of the sequence.
      *
      *  @see #canShareWithPrevious
      *  @see #canShareWithNext
@@ -199,13 +199,13 @@
     function setSharedDisplayObject(sharedDisplayObject:DisplayObject):Boolean;

     /**
-     *  Return true if this IGraphicElement is compatible and can
-     *  share display objects with the previous IGraphicElement
+     *  Returns true if this IGraphicElement is compatible and can
+     *  share display objects with the previous IGraphicElement
      *  in the sequence.
      *
-     *
Note that in certain cases the element may be passed offered the parent
-     *  Group itself in a call to setSharedDisplayObject.
-     *  In those cases, this method won't be called.

+     *
In certain cases the element might be passed to the parent
+     *  Group itself in a call to the setSharedDisplayObject() method.
+     *  In those cases, this method is not called.

      *
      *  @param element The element that comes before this element in the sequence.
      *  @return Returns true when this element is compatible with the previous
@@ -222,8 +222,8 @@
     function canShareWithPrevious(element:IGraphicElement):Boolean;

     /**
-     *  Return true if this IGraphicElement is compatible and can
-     *  share display objects with the next IGraphicElement
+     *  Returns true if this IGraphicElement is compatible and can
+     *  share display objects with the next IGraphicElement
      *  in the sequence.
      *
      *  @param element The element that comes after this element in the sequence.
@@ -241,9 +241,9 @@
     function canShareWithNext(element:IGraphicElement):Boolean;

     /**
-     *  Called by Group when an IGraphicElement
-     *  is added to or removed from a Group.
-     *  Developers typically never need to call this method.
+     *  Called by Group when an IGraphicElement
+     *  is added to or removed from a Group.
+     *
Developers typically never need to call this method.

      *
      *  @param parent The parent group of this IGraphicElement.
      *
@@ -255,14 +255,14 @@
     function parentChanged(parent:Group):void;

     /**
-     *  Called by the parent Group to validate the properties of
+     *  Called by the parent Group to validate the properties of
      *  this element.
      *
-     *  To ensure this method is called, notify the parent Group
-     *  by calling its invalidateGraphicElementProperties() method.
-     *
-     *  Note that this method may be called even if this element have not
-     *  notified the parent Group.
+     *
To ensure that this method is called, notify the parent Group
+     *  by calling its invalidateGraphicElementProperties() method.

+     *
+     *
This method might be called even if this element has not
+     *  notified the parent Group.

      *
      *  @see #validateSize
      *  @see #validateDisplayList
@@ -275,18 +275,18 @@
     function validateProperties():void;

     /**
-     *  Called by the parent Group to validate the size of
+     *  Called by the parent Group to validate the size of
      *  this element.
      *
-     *  When the size of the element changes and is going to affect the
-     *  parent Group layout, the implementer is responsible
-     *  for invalidating the parent's size and display list.
-     *
-     *  To ensure this method is called, notify the parent Group
-     *  by calling its invalidateGraphicElementSize() method.
-     *
-     *  Note that this method may be called even if this element have not
-     *  notified the parent Group.
+     *
When the size of the element changes and is going to affect the
+     *  parent Group layout, the implementer is responsible
+     *  for invalidating the parent's size and display list.

+     *
+     *
To ensure that this method is called, notify the parent Group
+     *  by calling its invalidateGraphicElementSize() method.

+     *
+     *
This method might be called even if this element has not
+     *  notified the parent Group.

      *
      *  @see #validateProperties
      *  @see #validateDisplayList
@@ -299,7 +299,7 @@
     function validateSize():void;

     /**
-     *  Called by the parent Group to redraw this element
+     *  Called by the parent Group to redraw this element
      *  in its displayObject property.
      *
      *
If the element is the first in the sequence (displayObjectSharingMode
@@ -308,15 +308,15 @@
      *  graphics and set it up as necessary for drawing the rest of the elements.

      *
      *
The element must alway redraw even if it itself has not changed
-     *  since the last time validateDisplayList() was called
-     *  as the parent Group will redraw the whole sequence
+     *  since the last time the validateDisplayList() method was called.
+     *  The parent Group will redraw the whole sequence
      *  if any of its elements need to be redrawn.

      *
-     *
To ensure this method is called, notify the parent Group
+     *
To ensure this method is called, notify the parent Group
      *  by calling its invalidateGraphicElementSize() method.

      *
-     *
Note that this method may be called even if this element have not
-     *  notified the parent Group.

+     *
This method might be called even if this element has not
+     *  notified the parent Group.

      *
      *  @see #displayObject
      *  @see #validateProperties


Update kalturaSharePlugin.as

Update kalturaSharePlugin.as

With this new attribute you can override the default Kaltura embed code wuth custom embed.
The value must be encoded E.G. %3Cscript%20src%3D%27http%3A%2F%2Fwww instead of <script src='http://www

--- plugins/kalturaSharePlugin/src/kalturaSharePlugin.as
+++ plugins/kalturaSharePlugin/src/kalturaSharePlugin.as
@@ -73,6 +73,10 @@
 		public var dynamicLink:String;
 		[Bindable]
 		public var directEmbed:String;
+		//with this attribute you can override the default Kaltura embed code wuth custom embed.
+		//The value must be encoded E.G. %3Cscript%20src%3D%27http%3A%2F%2Fwww instead of <script src='http://www
+		[Bindable]
+		public var dynamicEmbed:String;

 		public var wasPlayerPlaying:Boolean;

@@ -226,7 +230,17 @@

 			var whtml:String = evt["data"]["widgetHTML"];

-			directEmbed =  whtml;
+
+			//override embed code from uivar/flashvar
+			if(dynamicEmbed)
+			{
+				directEmbed = unescape(dynamicEmbed);
+			}
+			else
+				directEmbed =  whtml;
+
+
+
 			if(_refferencer.hasOwnProperty("directEmbed"))
 				(_refferencer["directEmbed"] as KLabel).text = directEmbed;

@@ -523,4 +537,4 @@
 		}

 	}
-}+}


Alter A3D4Renderer to favour setting the colorTransform rather than the color and alpha

--- src/org/flintparticles/integration/away3d/v4/A3D4Renderer.as
+++ src/org/flintparticles/integration/away3d/v4/A3D4Renderer.as
@@ -101,19 +101,24 @@
 				obj.rotationX = Maths.asDegrees( rotation.x );
 				obj.rotationY = Maths.asDegrees( rotation.y );
 				obj.rotationZ = Maths.asDegrees( rotation.z );
-
-				// would we do better if we set the colorTransform of the material?
-				// Do we need special cases for different material types?
+
 				if( obj.hasOwnProperty("material") )
 				{
 					var material:Object = obj["material"];
-					if( material.hasOwnProperty( "color" ) )
+					if( material.hasOwnProperty( "colorTransform" ) )
 					{
-						material["color"] = particle.color & 0xFFFFFF;
+						material["colorTransform"] = particle.colorTransform;
 					}
-					if( material.hasOwnProperty( "alpha" ) )
+					else
 					{
-						material["alpha"] = particle.alpha;
+						if( material.hasOwnProperty( "color" ) )
+						{
+							material["color"] = particle.color & 0xFFFFFF;
+						}
+						if( material.hasOwnProperty( "alpha" ) )
+						{
+							material["alpha"] = particle.alpha;
+						}
 					}
 				}
 			}


copyright removed

copyright removed

--- src/org/igniterealtime/xiff/data/archive/archive_internal.as
+++ src/org/igniterealtime/xiff/data/archive/archive_internal.as
@@ -1,28 +1,3 @@
-/*
- * Copyright (C) 2003-2012 Igniterealtime Community Contributors
- *
- *     Daniel Henninger
- *     Derrick Grigg <dgrigg@rogers.com>
- *     Juga Paazmaya <olavic@gmail.com>
- *     Nick Velloff <nick.velloff@gmail.com>
- *     Sean Treadway <seant@oncotype.dk>
- *     Sean Voisen <sean@voisen.org>
- *     Mark Walters <mark@yourpalmark.com>
- *     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.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
 package org.igniterealtime.xiff.data.archive
 {
 	public namespace archive_internal = "urn:xmpp:archive";


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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


Transferred from the Adobe Open Source Subversion Repository

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

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

 package mx.core
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 16072
Author:   cframpto@adobe.com
Date:     2010-05-12T19:33:08.953005Z

Log Message:
-----------
Merge rev 16070 from 4.x to trunk.  Workaround for issue with recycled item renderers containing RET with height/widthConstraints.

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

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -2325,6 +2325,11 @@
                 if (displayAsPassword)
                     displayAsPasswordChanged = true;

+                // New text so remove any leftover constraints.
+                // Used if an item renderer is being recycled.
+                widthConstraint = NaN;
+                heightConstraint = NaN;
+
                 textChanged = false;
                 textFlowChanged = false;
                 contentChanged = false;


Transferred from the Adobe Open Source Subversion Repository

Revision: 11646
Author:   cframpto@adobe.com
Date:     2009-11-11T13:14:52.333086Z

Log Message:
-----------
Fix focus issues introduced by TLF build 545.  When setText() or setTextFlow() is called when we have focus, make sure there is a text flow with composer in place, the controller has focus and there is an insertion point of 0,0 so typing can continue without a mouse click or a mouse hover.  The caller can set a different insertion point by calling selectRange() after calling setText() or setTextFlow().

QE notes:
Doc notes:
Bugs: SDK-24011, SDK-22638, SDK-24085
Reviewer: Gordon
Tests run: checkintests, TextArea, TextInput, NumericStepper, ComboBox
Is noteworthy for integration: no

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

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -82,13 +82,12 @@
 import mx.utils.ObjectUtil;
 import mx.utils.StringUtil;

-import spark.components.TextSelectionHighlighting;
+import spark.components.supportClasses.RichEditableTextContainerManager;
+import spark.components.supportClasses.RichEditableTextEditManager;
 import spark.core.CSSTextLayoutFormat;
 import spark.core.IViewport;
 import spark.core.NavigationUnit;
 import spark.events.TextOperationEvent;
-import spark.components.supportClasses.RichEditableTextContainerManager;
-import spark.components.supportClasses.RichEditableTextEditManager;
 import spark.utils.TextUtil;

 use namespace mx_internal;
@@ -2287,17 +2286,7 @@
             // Otherwise the StringTextLineFactory will put
             // all of the lines into a single paragraph
             // and FTE performance will degrade on a large paragraph.
-
-            // If we have focus, then we need to immediately create a
-            // TextFlow so the interaction manager will be created and
-            // editing/selection can be done without having to mouse click
-            // or mouse hover over this field.  Normally this is done in our
-            // focusIn handler by making sure there is a selection.  Test this
-            // by clicking an arrow in the NumericStepper and then entering
-            // a number without clicking on the input field first.
-
-            if (_text.indexOf("\n") != -1 || _text.indexOf("\r") != -1 ||
-                getFocus() == this)
+            if (_text.indexOf("\n") != -1 || _text.indexOf("\r") != -1)
             {
                 _textFlow = staticPlainTextImporter.importToFlow(_text);
                 _textContainerManager.setTextFlow(_textFlow);
@@ -2323,20 +2312,7 @@
         if (textChanged || textFlowChanged || contentChanged)
         {
             lastGeneration = _textFlow ? _textFlow.generation : 0;
-
-            // If the text, textFlow or content changed, there is no selection.
-            // If we already have focus, set the selection to 0,0 so there is
-            // an insertion point.  Since the text was changed programatically
-            // the caller should set the selection to the desired position.
-            if (getFocus() == this && editingMode != EditingMode.READ_ONLY)
-            {
-                var selectionManager:ISelectionManager = getSelectionManager();
-                selectionManager.selectRange(0, 0);
-                if (!selectionManager.focused)
-                    selectionManager.focusInHandler(null);
-                releaseSelectionManager();
-            }
-
+
             // Handle the case where the initial text, textFlow or content
             // is displayed as a password.
             if (displayAsPassword)
@@ -2376,7 +2352,7 @@
             if (editingMode != EditingMode.READ_ONLY)
             {
                 // Must preserve the selection, if there was one.
-                selectionManager = getSelectionManager();
+                var selectionManager:ISelectionManager = getSelectionManager();

                 // The visible selection will be refreshed during the update.
                 selectionManager.selectRange(oldAnchorPosition, oldActivePosition);


Transferred from the Adobe Open Source Subversion Repository

Revision: 5098
Author:   gauravj@adobe.com
Date:     2009-02-27T02:21:27.489350Z

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:
--------------
151 paths were modified

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

--- frameworks/projects/spark/src/spark/effects/animation/Animation.as
+++ frameworks/projects/spark/src/spark/effects/animation/Animation.as
@@ -35,6 +35,11 @@
  * same time.
  *
  * @eventType mx.events.AnimationEvent.ANIMATION_START
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Event(name="animationStart", type="mx.events.AnimationEvent")]

@@ -42,6 +47,11 @@
  * Dispatched every time the animation updates the target.
  *
  * @eventType mx.events.AnimationEvent.ANIMATION_UPDATE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Event(name="animationUpdate", type="mx.events.AnimationEvent")]

@@ -52,6 +62,11 @@
  * at the same time.
  *
  * @eventType mx.events.AnimationEvent.ANIMATION_REPEAT
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Event(name="animationRepeat", type="mx.events.AnimationEvent")]

@@ -61,6 +76,11 @@
  * this event only after the final repetition.
  *
  * @eventType mx.events.AnimationEvent.ANIMATION_END
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Event(name="animationEnd", type="mx.events.AnimationEvent")]

@@ -97,12 +117,22 @@
  *
  *  @see mx.effects.Animate
  *  @see mx.effects.effectClasses.FxAnimateInstance
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 public class Animation extends EventDispatcher
 {
     /**
      * TODOs:
      * - seek? reverse?
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */

     include "../core/Version.as";
@@ -120,6 +150,11 @@
      * @param endValue The final value that the animation ends on
      * @param duration The length of time, in milliseconds, that the animation
      * will run
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function Animation(startValue:Object=null, endValue:Object=null,
                                   duration:Number=-1)
@@ -194,6 +229,11 @@
      * running or not. The value is false unless the animation
      * has been played and not yet stopped (either programmatically or
      * automatically) or paused.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get isPlaying():Boolean
     {
@@ -211,6 +251,11 @@
      * values.
      *
      * @see #interpolator
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var startValue:Object;

@@ -225,12 +270,22 @@
      * values.
      *
      * @see #interpolator
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var endValue:Object;

     /**
      * The length of time, in milliseconds, that this animation will run,
      * not counting any repetitions by use of repeatCount.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var duration:Number;

@@ -253,6 +308,11 @@
      * Animation.LOOP or Animation.REVERSE
      *
      * @default LOOP
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get repeatBehavior():String
     {
@@ -282,6 +342,11 @@
      * number.
      *
      * @default 1
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function set repeatCount(value:Number):void
     {
@@ -316,6 +381,11 @@
      * @see #startDelay
      *
      * @default 0
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function set repeatDelay(value:Number):void
     {
@@ -339,6 +409,11 @@
      * the animation. Must be a value >= 0.
      *
      * @default 0
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function set startDelay(value:Number):void
     {
@@ -361,6 +436,11 @@
     /**
      * The time being used in the current frame calculations. This time is
      * shared by all active animations.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public static function get intervalTime():Number
     {
@@ -380,6 +460,11 @@
      * differently, such as uint values that hold color
      * channel information, can be handled by supplying a different
      * interpolator.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var interpolator:IInterpolator = null;

@@ -403,6 +488,11 @@
      * requested.
      *
      * @default 10
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get resolution():Number
     {
@@ -473,6 +563,11 @@
      * animation.easer = Linear.getInstance();.
      *
      * @default Sine(.5)
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get easer():IEaser
     {
@@ -507,6 +602,11 @@
      * Adds a new animation to the system. All animations run off the same
      * single Timer, so starting any one animation simply adds it onto the
      * static list of active animations.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     private static function addAnimation(animation:Animation):void
     {
@@ -684,6 +784,11 @@

     /**
      * Utility function for dispatching a specified AnimationEvent.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     private function sendAnimationEvent(eventType:String, value:Object):void
     {
@@ -717,6 +822,11 @@
     /**
      * Remove this animation from the list of pending animations,
      * as appropriate
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     private function removeFromDelayedAnimations():void
     {
@@ -738,6 +848,11 @@
     /**
      *  Interrupt the animation, jump immediately to the end of the animation,
      *  and send out ending notifications
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function end():void
     {
@@ -789,6 +904,11 @@

     /**
      * Start the animation
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function play():void
     {
@@ -803,6 +923,11 @@
      *
      *  @param playheadTime The position, in milliseconds, between 0
      *  and the value of the duration property.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function seek(playheadTime:Number, includeStartDelay:Boolean = false):void
     {
@@ -887,6 +1012,11 @@
      * are arrays but the supplied interpolator does not interpolate
      * Arrays, then it sets up an ArrayInterpolator that uses the supplied
      * interpolator for each element.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     private function setupInterpolation():void
     {
@@ -936,6 +1066,11 @@
     /**
      *  Plays the effect in reverse,
      *  starting from the current position of the effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function reverse():void
     {
@@ -955,6 +1090,11 @@
      * Pauses the effect until the resume() method is called.
      *
      * @see resume()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function pause():void
     {
@@ -970,6 +1110,11 @@
     /**
      *  Stops the animation, ending it without dispatching an event or calling
      *  the Animation's end() function.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function stop():void
     {
@@ -989,6 +1134,11 @@
     /**
      *  Resumes the effect after it has been paused
      *  by a call to the pause() method.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function resume():void
     {
@@ -1040,6 +1190,11 @@
      * Called by play() or by a Timer, if startDelay is nonzero. This
      * method initializes any necessary default state and adds the animation
      * to the list of active animations, which starts it actually running.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     private function start(event:TimerEvent = null):void
     {


OFC-720

--- collect-client/src/main/flex/org/openforis/collect/presenter/InputFieldPresenter.as
+++ collect-client/src/main/flex/org/openforis/collect/presenter/InputFieldPresenter.as
@@ -15,6 +15,7 @@
 	import org.openforis.collect.event.InputFieldEvent;
 	import org.openforis.collect.event.NodeEvent;
 	import org.openforis.collect.metamodel.proxy.AttributeDefinitionProxy;
+	import org.openforis.collect.metamodel.proxy.NumericAttributeDefinitionProxy;
 	import org.openforis.collect.model.FieldSymbol;
 	import org.openforis.collect.model.proxy.AttributeProxy;
 	import org.openforis.collect.model.proxy.EntityProxy;
@@ -173,22 +174,24 @@
 				var field:FieldProxy;
 				if(isNaN(fieldIdx) || fieldIdx < 0){
 					for(var index:int = 0; index < attr.fields.length; index ++) {
-						field = attr.fields[index];
-						if ( applyToNonEmptyNodes || (field.value == null && field.symbol == null)) {
-							o = new UpdateRequestOperation();
-							o.method = UpdateRequestOperation$Method.UPDATE;
-							o.parentEntityId = node.parentId;
-							o.nodeName = node.name;
-							o.nodeId = node.id;
-							o.fieldIndex = index;
-							o.remarks = field.remarks;
-							o.symbol = symbol;
-							if ( FieldProxy.isReasonBlankSymbol(symbol) ) {
-								o.value = null;
-							} else {
-								o.value = field.value != null ? field.value.toString(): null;
+						if ( ! skippedField(attr, index) ) {
+							field = attr.fields[index];
+							if ( applyToNonEmptyNodes || (field.value == null && field.symbol == null)) {
+								o = new UpdateRequestOperation();
+								o.method = UpdateRequestOperation$Method.UPDATE;
+								o.parentEntityId = node.parentId;
+								o.nodeName = node.name;
+								o.nodeId = node.id;
+								o.fieldIndex = index;
+								o.remarks = field.remarks;
+								o.symbol = symbol;
+								if ( FieldProxy.isReasonBlankSymbol(symbol) ) {
+									o.value = null;
+								} else {
+									o.value = field.value != null ? field.value.toString(): null;
+								}
+								updateRequest.addOperation(o);
 							}
-							updateRequest.addOperation(o);
 						}
 					}
 				} else {
@@ -210,6 +213,15 @@
 						updateRequest.addOperation(o);
 					}
 				}
+			}
+		}
+
+		private static function skippedField(attr:AttributeProxy, index:int):Boolean {
+			if ( attr.definition is NumericAttributeDefinitionProxy && index == 1 ) {
+				//OFC-720
+				return true;
+			} else {
+				return false;
 			}
 		}


REGISTRY-604. Using 1-index instead of 0-index

--- EntryBulkImport/src/org/jbei/view/components/GridRowHeaderColumn.as
+++ EntryBulkImport/src/org/jbei/view/components/GridRowHeaderColumn.as
@@ -63,7 +63,7 @@
 		public function addHeader() : void
 		{
 			var index:int = this._cells.length;
-			var header:GridRowHeader = new GridRowHeader( index );
+			var header:GridRowHeader = new GridRowHeader( index + 1 );
 			header.x = 0;
 			header.y = index * GridRowHeader.DEFAULT_HEIGHT;
 			this._cells.addItem( header );
@@ -78,4 +78,4 @@
 			return this._cells.length;
 		}
 	}
-}+}


Bug 718519: Sampler doc change hiding internal function (r=fklockii).

--- extensions/Sampler.as
+++ extensions/Sampler.as
@@ -353,6 +353,9 @@
      */
     public function getSamples():Object { return _getSamples(ClassFactory); }

+    /**
+     * @private
+     */
     [native("SamplerScript::_getSamples")]
     internal native function _getSamples(cf:Class):Object;


Transferred from the Adobe Open Source Subversion Repository

Revision: 2464
Author:   jimurphy@adobe.com
Date:     2008-07-14T19:50:33.449468Z

Log Message:
-----------
add flex 4 to trunk

Modified Paths:
--------------
134 paths were modified

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -0,0 +1,635 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2008 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package flex.core
+{
+
+import flash.system.ApplicationDomain;
+import flash.utils.*;
+
+import mx.core.IFactory;
+import mx.core.UIComponent;
+import mx.core.UIComponentGlobals;
+import mx.core.mx_internal;
+import mx.events.PropertyChangeEvent;
+
+use namespace mx_internal;
+
+/**
+ *  Name of the skin to use for this component. The skin must be a class that extends
+ *  the flex.core.Skin class.
+ *
+ *  NOTE: We need to give the "skin" style a different name in order to resolve the
+ *  collision with the Flex 3 "skin" style.
+ *  This is an obviously bad name to serve as a reminder that it needs to get fixed.
+ *
+ *  TODO: Fix name
+ */
+[Style(name="skinZZ", type="Class")]
+
+/**
+ *  @private
+ *  TODO: Determine final name for this style.
+ */
+[Style(name="skinFactory", type="Object")]
+
+/**
+ *  The SkinnableComponent class.
+ */
+public class SkinnableComponent extends UIComponent
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor
+     */
+    public function SkinnableComponent()
+    {
+        // Initially state is dirty
+        invalidateFlags |= STATE_DIRTY;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    private var _selected:Boolean = false;
+
+    public function get selected():Boolean
+    {
+        return _selected;
+    }
+
+    public function set selected(value:Boolean):void
+    {
+        if (_selected == value)
+            return;
+
+        _selected = value;
+
+        // TODO: Send notification
+    }
+
+    /**
+     *  The instantiated skin object. This property should not be set directly.
+     */
+    [Bindable]
+    protected var skinObject:Skin;
+
+    /**
+     *  @private
+     *  Temporary (?) hack to get skinFactory to work as an attribute that points to an external file.
+     */
+    public function get skinFactory():IFactory
+    {
+        return getStyle("skinFactory");
+    }
+
+    public function set skinFactory(value:IFactory):void
+    {
+        setStyle("skinFactory", value);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function createChildren():void
+    {
+        super.createChildren();
+
+        skinChanged = true;
+    }
+
+    /**
+     *  @private
+     */
+    override protected function commitProperties():void
+    {
+        super.commitProperties();
+
+        if (skinChanged)
+        {
+            skinChanged = false;
+            unloadSkin();
+            loadSkin();
+        }
+    }
+
+    /**
+     *  @private
+     */
+    override protected function measure():void
+    {
+        if (skinObject)
+        {
+            measuredWidth = skinObject.getExplicitOrMeasuredWidth();
+            measuredHeight = skinObject.getExplicitOrMeasuredHeight();
+            measuredMinWidth = isNaN( skinObject.explicitWidth ) ? skinObject.minWidth : skinObject.explicitWidth;
+            measuredMinHeight = isNaN( skinObject.explicitHeight ) ? skinObject.minHeight : skinObject.explicitHeight;
+        }
+    }
+
+    /**
+     *  @private
+     */
+    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        if (skinObject)
+            skinObject.setActualSize(unscaledWidth, unscaledHeight);
+    }
+
+    /**
+     *  @private
+     */
+    override public function styleChanged(styleProp:String):void
+    {
+        var allStyles:Boolean = styleProp == null || styleProp == "styleName";
+
+        if (allStyles || styleProp == "skinZZ" || styleProp == "skinFactory")
+        {
+            skinChanged = true;
+            invalidateProperties();
+        }
+
+        super.styleChanged(styleProp);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    // Component states support
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Returns the name of the state to be applied to the skin. For example, a
+     *  Button could have "up", "down", "over", and "disabled" states.
+     *
+     *  Subclasses must override to return a value.
+     *
+     *  @return A string specifying the name of the state.
+     */
+    protected function getUpdatedSkinState():String
+    {
+        return null;
+    }
+
+    /**
+     *  Marks the component so that its commitSkinState() method
+     *  gets called during a later screen update.
+     */
+    protected function invalidateSkinState():void
+    {
+        if ((invalidateFlags & STATE_DIRTY) != 0)
+            return; // State is already invalidated
+
+        invalidateFlags |= STATE_DIRTY;
+        if (parent && UIComponentGlobals.layoutManager)
+            UIComponentGlobals.layoutManager.invalidateProperties(this);
+    }
+
+    // TODO EGeorgie: we're not supposed to override UIComponent:validateProperties,
+    // but we'll do so here for now, until we figure out how we refactor UIComponent for flex4
+    /**
+     *  @private
+     */
+    override public function validateProperties():void
+    {
+        super.validateProperties();
+
+        if ((invalidateFlags & STATE_DIRTY) != 0)
+            commitSkinState( getUpdatedSkinState() );
+        invalidateFlags &= ~STATE_DIRTY;
+    }
+
+    /**
+     *  Sets the new state of the skin. Subclasses can override to add
+     *  extra validation logic.
+     *
+     *  @param newState A string specifying the name of the state to set.
+     */
+    protected function commitSkinState(newState:String):void
+    {
+        skinObject.currentState = newState;
+    }
+
+    private const STATE_DIRTY:int= 0x00000001;
+
+    /**
+     *  @private
+     *  invalidation flags.
+     */
+    protected var invalidateFlags:int;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods - Skin/Behavior lifecycle
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Load the skin for the component. This method should not be called
+     *  directly. Typically, subclasses will not need to override this method.
+     */
+    protected function loadSkin():void
+    {
+        // Factory
+        var skinClassFactory:IFactory = getStyle("skinFactory") as IFactory;
+
+        if (skinClassFactory)
+            skinObject = skinClassFactory.newInstance() as Skin;
+
+        // Class
+        if (!skinObject)
+        {
+            var skinClass:Class = getStyle("skinZZ") as Class;
+
+            if (skinClass)
+                skinObject = new skinClass();
+        }
+
+        if (skinObject)
+        {
+            skinObject.owner = this;
+            skinObject.data = this;
+            addChild(skinObject);
+        }
+        else
+        {
+            throw(new Error("Skin for " + this + " cannot be found."));
+        }
+
+        findSkinParts();
+
+        attachBehaviors();
+    }
+
+    /**
+     *  Find the skin parts and assign them to the properties in the component.
+     *  This method is called by loadSkin(), and should not be called directly.
+     *  Typically, subclasses will not need to override this method.
+     */
+    protected function findSkinParts():void
+    {
+        var className:String = getQualifiedClassName(this);
+        var skinParts:Array = getSkinPartMetadata(className);
+
+        if (skinParts)
+        {
+            for (var i:int = 0; i < skinParts.length; i++)
+            {
+                var part:SkinPartInfo = skinParts[i];
+
+                if (part.required)
+                {
+                    if (!(part.id in skinObject))
+                        throw(new Error("Required skin part \"" + part.id + "\" cannot be found."));
+                }
+
+                if (part.id in skinObject)
+                {
+                    this[part.id] = skinObject[part.id];
+
+                    // If the assigned part has already been instantiated, call partAdded() here,
+                    // but only for static parts.
+                    if (this[part.id] != null && !(this[part.id] is IFactory))
+                        partAdded(part.id, this[part.id]);
+                }
+            }
+        }
+    }
+
+    /**
+     *  Attach behaviors to the component. This method should be overridden
+     *  by subclasses.
+     */
+    protected function attachBehaviors():void
+    {
+        skinObject.addEventListener("idAssigned", skin_idAssignedHandler);
+
+        // Declarative behaviors get attached here
+    }
+
+    /**
+     *  Remove behavior from the component. This method should be overridden
+     *  by subclasses.
+     */
+    protected function removeBehaviors():void
+    {
+        skinObject.removeEventListener("idAssigned", skin_idAssignedHandler);
+
+        // Declarative behaviors get removed here
+    }
+
+    /**
+     *  Clear out references to skin parts. This method is called automatically
+     *  by unloadSkin(), and should not be called directly.
+     *  Typically, subclasses will not need to override this method.
+     */
+    protected function clearSkinParts():void
+    {
+        var className:String = getQualifiedClassName(this);
+        var parts:Array = getSkinPartMetadata(className);
+
+        if (parts)
+        {
+            for (var i:int = 0; i < parts.length; i++)
+            {
+                var skinPart:SkinPartInfo = parts[i];
+
+                if (!(this[skinPart.id] is IFactory))
+                    partRemoved(skinPart.id, this[skinPart.id]);
+                this[skinPart.id] = null;
+            }
+        }
+    }
+
+    /**
+     *  Unload the skin for this component. This method should not be called
+     *  directly. Typically, subclasses will not need to override this method.
+     */
+    protected function unloadSkin():void
+    {
+        if (skinObject)
+        {
+            removeBehaviors();
+            clearSkinParts();
+            removeChild(skinObject);
+            skinObject = null;
+        }
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods - Parts
+    //
+    //--------------------------------------------------------------------------
+
+    // Private cache of instantiated dynamic parts. This is accessed through
+    // the numDynamicParts() and getDynamicPartAt() methods.
+    private var dynamicPartsCache:Object;
+
+    /**
+     *  Called when a part has been added. Override this function to attach
+     *  behavior to the part.
+     */
+    protected function partAdded(partName:String, instance:*):void
+    {
+    }
+
+    /**
+     *  Called when an instance of a dynamic part is being removed.
+     *  Override this function to remove behavior from the part.
+     */
+    protected function partRemoved(partName:String, instance:*):void
+    {
+    }
+
+    /**
+     *  Create an instance of a dynamic part. Dynamic parts should always be instantiated
+     *  by this method, rather than directly calling newInstance() on the factory.
+     *  This method creates the part, but does not add it to the display list.
+     */
+    protected function createPartInstance(partName:String):*
+    {
+        var factory:IFactory = this[partName];
+
+        if (factory)
+        {
+            var instance:* = factory.newInstance();
+
+            // Add to the dynamic parts cache
+            if (!dynamicPartsCache)
+                dynamicPartsCache = new Object();
+
+            if (!dynamicPartsCache[partName])
+                dynamicPartsCache[partName] = new Array();
+
+            dynamicPartsCache[partName].push(instance);
+
+            // Send notification
+            partAdded(partName, instance);
+
+            return instance;
+        }
+
+        return null;
+    }
+
+    /**
+     *  Remove an instance of a dynamic part. This method must be called before a dynamic part is
+     *  deleted. This method does not remove the part from the display list.
+     */
+    protected function removePartInstance(partName:String, instance:*):void
+    {
+        // Send notification
+        partRemoved(partName, instance);
+
+        // Remove from the dynamic parts cache
+        var cache:Array = dynamicPartsCache[partName] as Array;
+        cache.splice(cache.indexOf(instance), 1);
+    }
+
+    /**
+     *  Returns the number of instances of a dynamic part.
+     */
+    protected function numDynamicParts(partName:String):int
+    {
+        if (dynamicPartsCache && dynamicPartsCache[partName])
+            return dynamicPartsCache[partName].length;
+
+        return 0;
+    }
+
+    /**
+     *  Returns a specific instance of a dynamic part.
+     */
+    protected function getDynamicPartAt(partName:String, index:int):*
+    {
+        if (dynamicPartsCache && dynamicPartsCache[partName])
+            return dynamicPartsCache[partName][index];
+
+        return null;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods - Part Metadata
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Cache of found skin parts.
+     */
+    private static var skinPartsByClassName:Dictionary;
+
+    /**
+     *  @private
+     *  Find the skin part metadata for a given className.
+     */
+    private static function getSkinPartMetadata(className:String):Array
+    {
+        // Check cached values first
+        if (!skinPartsByClassName)
+            skinPartsByClassName = new Dictionary(true);
+
+        var skinParts:Array = skinPartsByClassName[className];
+
+        if (skinParts != null)
+            return skinParts;
+
+        var type:Class = ApplicationDomain.currentDomain.getDefinition(className) as Class;
+        skinParts = new Array;
+
+        var des:XML = flash.utils.describeType(type);
+
+        // Find Part metadata on variables
+        var metadata:XMLList = des.factory.variable.metadata.(@name == "SkinPart");
+        var skinPartInfo:SkinPartInfo;
+        var i:int;
+
+        for (i = 0; i < metadata.length(); i++)
+        {
+            skinPartInfo = new SkinPartInfo();
+
+            skinPartInfo.id = metadata[i].parent().@name;
+            skinPartInfo.required = !(metadata[i].arg.(@key == "required").@value == "false");
+            skinParts.push(skinPartInfo);
+        }
+
+        // Find Part metadata on getter/setters
+        metadata = des.factory.accessor.metadata.(@name == "SkinPart");
+        for (i = 0; i < metadata.length(); i++)
+        {
+            skinPartInfo = new SkinPartInfo();
+
+            skinPartInfo.id = metadata[i].parent().@name;
+            skinPartInfo.required = !(metadata[i].arg.(@key == "required").@value == "false");
+            skinParts.push(skinPartInfo);
+        }
+
+        skinPartsByClassName[className] = skinParts;
+        return skinParts;
+    }
+
+    //---------------------------------
+    //  Utility methods for subclasses
+    //---------------------------------
+
+    // TODO (chaase): These could actually be static functions in a utility
+    // class instead of protected methods in a component superclass. But since
+    // they assume access to the systemManager property of the component, this
+    // seems like the right place for now. If we're trying to save on footprint
+    // at some point, we could extract the methods out of here and pass in
+    // the component as an argument to derive the systemManager instead.
+
+    /**
+     * Add handlers to both the systemManager and stage objects to track this
+     * event both on and off the stage. If offstageHandler is
+     * null or is not supplied, onstagehandler will
+     * be used as the handler for both situations.
+     */
+    protected function addSystemHandlers(eventType:String, onstageHandler:Function,
+           offstageHandler:Function = null):void
+    {
+        if (offstageHandler == null)
+            offstageHandler = onstageHandler;
+        // For on-stage events
+        systemManager.addEventListener(eventType, onstageHandler, true /*capture*/);
+        // For off-stage events
+        systemManager.stage.addEventListener(eventType, offstageHandler);
+    }
+
+    /**
+     * Removes handlers from both the systemManager and stage objects for this
+     * event. If offstageHandler is
+     * null or is not supplied, onstagehandler will
+     * be used as the handler for both situations. Parameters to this function
+     * should match the parameters supplied to addSystemHandlers.
+     */
+    protected function removeSystemHandlers(eventType:String, onstageHandler:Function,
+           offstageHandler:Function = null):void
+    {
+        if (offstageHandler == null)
+            offstageHandler = onstageHandler;
+        // For on-stage events
+        systemManager.removeEventListener(eventType, onstageHandler, true /*capture*/);
+        // For off-stage events
+        systemManager.stage.removeEventListener(eventType, offstageHandler);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Event handlers
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * @private
+     * Called when a slot on the skin has been assigned a value. Deferred parts
+     * may be instantiated long after the skin has been created.
+     */
+    private function skin_idAssignedHandler(event:PropertyChangeEvent):void
+    {
+        var className:String = getQualifiedClassName(this);
+        var parts:Array = getSkinPartMetadata(className);
+
+        if (parts)
+        {
+            for (var i:int = 0; i < parts.length; i++)
+            {
+                var skinPart:SkinPartInfo = parts[i];
+
+                if (event.property == skinPart.id)
+                {
+                    this[skinPart.id] = event.newValue;
+                    if (!(this[skinPart.id] is IFactory))
+                        partAdded(skinPart.id, this[skinPart.id]);
+                    break;
+                }
+            }
+        }
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Private variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private var skinChanged:Boolean = false;
+}
+
+}
+
+class SkinPartInfo {
+    public function SkinPartInfo() {}
+
+    public var id:String;
+    public var required:Boolean;
+}


changed number of tiles being requested at a time.

--- WeaveData/src/weave/data/AttributeColumns/StreamedGeometryColumn.as
+++ WeaveData/src/weave/data/AttributeColumns/StreamedGeometryColumn.as
@@ -130,8 +130,9 @@
 		private var _geometryStreamDownloadCounter:int = 0;
 		private var _metadataStreamDownloadCounter:int = 0;

-		public var metadataTilesPerQuery:int = 10; //10;
-		public var geometryTilesPerQuery:int = 10; //30;
+
+		public var metadataTilesPerQuery:int = 200; //10;
+		public var geometryTilesPerQuery:int = 200; //30;

 		public function requestGeometryDetail(dataBounds:IBounds2D, lowestImportance:Number):void
 		{


Bug 693342: spidermonkey/js1_5/Regress/regress-165201.as modifies the prototype chain and doesn't reset it (r=dschaffe)

--- test/acceptance/spidermonkey/js1_5/Regress/regress-165201.as
+++ test/acceptance/spidermonkey/js1_5/Regress/regress-165201.as
@@ -89,5 +89,6 @@
 AddTestCase(summary, expect, actual);

+delete(Array.prototype.toSource);

 test();


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

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

 package mx.validators
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6609
Author:   gruehle@adobe.com
Date:     2009-05-04T22:47:31.285324Z

Log Message:
-----------
Add theme attribute to theme-specific style metadata.

Example of a halo-specific style:
[Style(name="cornerRadius", type="Number", format="Length", inherit="no", theme="halo")]

Example of a spark-specific style:
[Style(name="baseColor", type="uint", format="Color", inherit="yes", theme="spark")]

Style metadata without a theme attribute is theme-agnostic, and works with either spark or halo.

Bugs: SDK-20606

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/FillStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/SkinStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BarColorStyle.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/CheckBox.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/flex4/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/IconColorStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RadioButton.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/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/SelectedFillColorsStyle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>

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

--- frameworks/projects/mx/src/mx/controls/scrollClasses/ScrollBar.as
+++ frameworks/projects/mx/src/mx/controls/scrollClasses/ScrollBar.as
@@ -132,7 +132,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="symbolColor", type="uint", format="Color", inherit="yes")]
+[Style(name="symbolColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
  *  Name of the class to use as the default skin for the down arrow button of
@@ -220,7 +220,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="trackColors", type="Array", arrayType="uint", format="Color", inherit="no")]
+[Style(name="trackColors", type="Array", arrayType="uint", format="Color", inherit="no", theme="halo")]

 /**


Get rid of confusing variable

Get rid of confusing variable

--- exporter/src/main/as/flump/export/ExporterController.as
+++ exporter/src/main/as/flump/export/ExporterController.as
@@ -2,6 +2,10 @@
 // Flump - Copyright 2012 Three Rings Design

 package flump.export {
+
+import com.threerings.util.F;
+import com.threerings.util.Log;
+import com.threerings.util.StringUtil;

 import flash.desktop.NativeApplication;
 import flash.display.NativeMenu;
@@ -24,14 +28,9 @@
 import mx.events.PropertyChangeEvent;

 import spark.components.DataGrid;
-import spark.components.DropDownList;
 import spark.events.GridSelectionEvent;

 import starling.display.Sprite;
-
-import com.threerings.util.F;
-import com.threerings.util.Log;
-import com.threerings.util.StringUtil;

 public class ExporterController
 {
@@ -255,14 +254,19 @@
         FlumpSettings.configFilePath = _confFile.nativePath;
     }

-    protected function setImportDirectory (root :File) :void {
+    protected function setImportDirectory (dir :File) :void {
+        _importDirectory = dir;
         _flashDocsGrid.dataProvider.removeAll();
         _errorsGrid.dataProvider.removeAll();
-        if (root == null) return;
-        _rootLen = root.nativePath.length + 1;
-        if (_docFinder != null) _docFinder.shutdownNow();
+        if (dir == null) {
+            return;
+
+        }
+        if (_docFinder != null) {
+            _docFinder.shutdownNow();
+        }
         _docFinder = new Executor();
-        findFlashDocuments(root, _docFinder, true);
+        findFlashDocuments(dir, _docFinder, true);
         _win.reload.enabled = true;
     }

@@ -299,8 +303,7 @@
         });
     }

-    protected function findFlashDocuments (base :File, exec :Executor,
-        ignoreXflAtBase :Boolean = false) :void {
+    protected function findFlashDocuments (base :File, exec :Executor, ignoreXflAtBase :Boolean = false) :void {
         Files.list(base, exec).succeeded.add(function (files :Array) :void {
             if (exec.isShutdown) return;
             for each (var file :File in files) {
@@ -335,8 +338,10 @@
     }

     protected function addFlashDocument (file :File) :void {
-        var name :String = file.nativePath.substring(_rootLen).replace(
+        var importPathLen :int = _importDirectory.nativePath.length + 1;
+        var name :String = file.nativePath.substring(importPathLen).replace(
             new RegExp("\\" + File.separator, "g"), "/");
+
         var load :Future;
         switch (Files.getExtension(file)) {
         case "xfl":
@@ -352,7 +357,7 @@
             return;
         }

-        const status :DocStatus = new DocStatus(name, _rootLen, Ternary.UNKNOWN, Ternary.UNKNOWN, null);
+        const status :DocStatus = new DocStatus(name, Ternary.UNKNOWN, Ternary.UNKNOWN, null);
         _flashDocsGrid.dataProvider.addItem(status);

         load.succeeded.add(function (lib :XflLibrary) :void {
@@ -368,7 +373,7 @@
         });
     }

-    protected var _rootLen :int;
+    protected var _importDirectory :File;

     protected var _docFinder :Executor;
     protected var _win :ExporterWindow;
@@ -376,7 +381,6 @@
     protected var _errorsGrid :DataGrid;
     protected var _exportChooser :DirChooser;
     protected var _importChooser :DirChooser;
-    protected var _authoredResolution :DropDownList;
     protected var _conf :FlumpConf = new FlumpConf();
     protected var _confFile :File;

@@ -402,7 +406,7 @@
     public var valid :String = PENDING;
     public var lib :XflLibrary;

-    public function DocStatus (path :String, rootLen :int, modified :Ternary, valid :Ternary, lib :XflLibrary) {
+    public function DocStatus (path :String, modified :Ternary, valid :Ternary, lib :XflLibrary) {
         this.lib = lib;
         this.path = path;
         _uid = path;


Flash updated to work with v67

Flash updated to work with v67

--- src/diddy/native/diddy.flash.as
+++ src/diddy/native/diddy.flash.as
@@ -8,7 +8,7 @@
 		var bmd:BitmapData = new BitmapData(1, 1);
 		var matrix:Matrix = new Matrix();
 		matrix.translate(-x, -y);
-		bmd.draw(game.stage, matrix);
+		bmd.draw(BBFlashGame._flashGame._root.stage, matrix);
 		var pixel:uint = bmd.getPixel32(0, 0);

 		return pixel;
@@ -132,7 +132,7 @@
 	}

 	static public function mouseZInit():void {
-		var stage:Stage=game.stage;
+		var stage:Stage=BBFlashGame._flashGame._root.stage;
 		stage.addEventListener(MouseEvent.MOUSE_WHEEL,  diddy_onMouseWheelEvent);
 	}


Transferred from the Adobe Open Source Subversion Repository

Revision: 20920
Author:   build@adobe.com
Date:     2011-03-18T19:54:14.958635Z

Log Message:
-----------
Version update to 4.5.1

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airspark/src/spark/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/automation_air/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/flex-config.xml</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/automation_spark/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/automation/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark_dmv/src/spark/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/rpc/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/automation_flashflexkit/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/automation_dmv/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/VersionInfo.java</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/advancedgrids/src/mx/core/Version.as</path>

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

--- frameworks/projects/airframework/src/mx/core/Version.as
+++ frameworks/projects/airframework/src/mx/core/Version.as
@@ -15,4 +15,4 @@
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.5.0.0";
+mx_internal static const VERSION:String = "4.5.1.0";


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

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

 package mx.logging
 {


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

--- frameworks/projects/mx/src/mx/controls/FormItemLabel.as
+++ frameworks/projects/mx/src/mx/controls/FormItemLabel.as
@@ -29,6 +29,11 @@
  *  labelStyleName style property of the FormItem class.

  *
  *  @see mx.containers.FormItem
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class FormItemLabel extends Label
 {
@@ -42,6 +47,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function FormItemLabel()
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3567
Author:   smgilson@adobe.com
Date:     2008-10-10T15:40:48.928652Z

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

Checkin Test Passed: Yes
QA: No
Bug:
Doc: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxRange.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/MXMLComponent.as</path>

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -36,12 +36,16 @@
 /**
  *  Dispatched when an item is added to the content holder.
  *  event.relatedObject is the visual item that was added.
+ *
+ *  @eventType mx.events.ItemExistenceChangedEvent.ITEM_ADD
  */
 [Event(name="itemAdd", type="flex.events.ItemExistenceChangedEvent")]

 /**
  *  Dispatched when an item is removed from the content holder.
  *  event.relatedObject is the visual item that was removed.
+ *
+ *  @eventType mx.events.ItemExistenceChangedEvent.ITEM_REMOVE
  */
 [Event(name="itemRemove", type="flex.events.ItemExistenceChangedEvent")]

@@ -201,8 +205,8 @@
     }

     /**
-     *  Internal Group method used to grab the elements from the content array
-     *  and add them to the Group.
+     *  Adds the elements in content to the Group.
+     *  Flex calls this method automatically; you do not call it directly.
      */
     protected function initializeChildrenArray():void
     {
@@ -711,7 +715,8 @@
     }

     /**
-     *  Internal Group method called to add an item to this Group.
+     *  Adds an item to this Group.
+     *  Flex calls this method automatically; you do not call it directly.
      *
      *  @param item The item that was added.
      *
@@ -750,7 +755,8 @@
     }

     /**
-     *  Internal Group method called to remove an item from this Group.
+     *  Removes an item from this Group.
+     *  Flex calls this method automatically; you do not call it directly.
      *
      *  @param index The index of the item that is being removed.
      */
@@ -950,15 +956,17 @@
     }

     /**
-     *  Internal helper method to remove item from another group or display list
+     *  Remove an item from another group or display list
      *  before adding it to this display list.
      *
-     *  @param child DisplayObject to add to the display list
+     *  @param child DisplayObject to add to the display list.
+     *
      *  @param item Item associated with the display object to be added.  If
      *  the item itself is a display object, it will be the same as the child parameter.
-     *  @param index Index position where the display object will be added
-     *
-     *  @return DisplayObject that was added
+     *
+     *  @param index Index position where the display object is added.
+     *
+     *  @return DisplayObject that was added.
      */
     protected function addItemToDisplayList(child:DisplayObject, item:Object, index:int = -1):DisplayObject
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5364
Author:   hmuller@adobe.com
Date:     2009-03-17T22:06:49.696808Z

Log Message:
-----------
More virtualization bug fixes.  This is the last of the current crop of A/B virtualization bugs.

Thanks to Evtim for the fix for 19388.

QE Notes: sdk-19847, sdk-19367, sdk-19388, sdk-19967
Doc Notes:
Bugs:
Reviewer: Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -325,7 +325,7 @@
             }
         }

-        _mxmlContent = value.concat();  // defensive copy
+        _mxmlContent = (value) ? value.concat() : null;  // defensive copy

         if (_mxmlContent != null)
         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 2950
Author:   hmuller@adobe.com
Date:     2008-08-21T20:23:05.935439Z

Log Message:
-----------
Most of the rest of the "Group as Viewport" feature.  Enables simple
scrolling for Groups with VerticalLayout or HorizontalLayout, including
support for fixed size rows/columns.  Currently, if variableSizeRows/Columns
is true, then rowHeight/columnWidth must be specified.

- HorizontalLayout

Replaced private static GAP:int constant with a similar "gap"
property.  Gap is the vertical space between rows, default is 6.

Added a columnCount:int property and a protected explicitColumnCount var.
The columnCount property specifies the number of visible columns, which
implies the layoutTarget's width.  The default is -1 which means
that all columns should be visible.

Added variableColumnWidth:Boolean and columnWidth:Number properties.
If the variableColumnWidth is true, HorzontalLayout works as
in earlier versions.  Otherwise the contentWidth and measuredWidth
are proportional to columnWidth.

Changed the updateDisplayList function to set the scrollRect
to the layoutTarget's width/height.

- VerticalLayout

Removed unused colWidth,explicitColWidth properties from
VerticalLayout.  Setting the width of a VerticalLayout
has the same effect as setting colWidth would have.

- Group
Changed vertical,horizontalScrollPosition properties to match the
invalidate/commitProperties pattern.

- HorizontalLayout, VerticalLayout, Group
Eliminated some Java-style bracket formatting atrocities.

QE: No
Doc: No
Checkintests: Pass
Reviewer: Jason
Bugs:
  SDK-1648 - Horizontal Layout is broken in Gumbo when it 's set dynamically

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/VerticalLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -16,27 +16,26 @@
 import flex.events.ItemExistenceChangedEvent;
 import flex.geom.Transform;
 import flex.graphics.Graphic;
-import flex.graphics.graphicsClasses.GraphicElement;
 import flex.graphics.IAssignableDisplayObjectElement;
 import flex.graphics.IDisplayObjectElement;
 import flex.graphics.IGraphicElement;
 import flex.graphics.IGraphicElementHost;
 import flex.graphics.MaskType;
 import flex.graphics.TransformUtil;
-import flex.intf.ILayout;
+import flex.graphics.graphicsClasses.GraphicElement;
+import flex.intf.ILayout;
 import flex.intf.ILayoutItem;
 import flex.layout.BasicLayout;
 import flex.layout.LayoutItemFactory;

+import mx.collections.ICollectionView;
 import mx.collections.IList;
-import mx.collections.ICollectionView;
 import mx.collections.ListCollectionView;
 import mx.controls.Label;
 import mx.core.IDataRenderer;
 import mx.core.IDeferredInstance;
 import mx.core.IFactory;
 import mx.core.UIComponent;
-import mx.events.ChildExistenceChangedEvent;
 import mx.events.CollectionEvent;
 import mx.events.PropertyChangeEvent;
 import mx.events.PropertyChangeEventKind;
@@ -419,6 +418,15 @@
                     element.validateProperties();
             }
         }
+
+        if (scrollPositionChanged) {
+        	scrollPositionChanged = false;
+	        var r:Rectangle = scrollRect;
+			if (r == null) r = new Rectangle(0, 0, width, height);
+			r.x = _horizontalScrollPosition;
+			r.y = _verticalScrollPosition;
+			scrollRect = r;
+        }
     }

     override public function validateSize(recursive:Boolean = false):void
@@ -521,40 +529,53 @@
     }

     //----------------------------------
-    //  horizontal,verticalScrollPosition
+    //  horizontalScrollPosition
     //----------------------------------

-
+    private var scrollPositionChanged:Boolean = false;
     private var _horizontalScrollPosition:Number = 0;
+
+    [Bindable]
+    [Inspectable(category="General")]
+
+    public function get horizontalScrollPosition():Number
+    {
+        return _horizontalScrollPosition;
+    }
+
+    public function set horizontalScrollPosition(value:Number):void
+    {
+        if (value == _horizontalScrollPosition)
+            return;
+
+        _horizontalScrollPosition = value;
+        scrollPositionChanged = true;
+        invalidateProperties();
+    }
+
+
+    //----------------------------------
+    //  verticalScrollPosition
+    //----------------------------------
+
     private var _verticalScrollPosition:Number = 0;
-
-    private function getScrollRect():Rectangle {
-        var r:Rectangle = scrollRect;
-        return (r == null) ? new Rectangle(0,0,width,height) : r;
-    }
-
-    public function get horizontalScrollPosition():Number {
-            return _horizontalScrollPosition;
-    }

     [Bindable]
-    public function set horizontalScrollPosition(value:Number):void {
-        _horizontalScrollPosition = value;
-        var r:Rectangle = getScrollRect();
-        r.x = _horizontalScrollPosition;
-        scrollRect = r;
-    }
-
-    public function get verticalScrollPosition():Number {
-            return _verticalScrollPosition;
-    }
-
-    [Bindable]
-    public function set verticalScrollPosition(value:Number):void {
+    [Inspectable(category="General")]
+
+    public function get verticalScrollPosition():Number
+    {
+        return _verticalScrollPosition;
+    }
+
+    public function set verticalScrollPosition(value:Number):void
+    {
+        if (value == _verticalScrollPosition)
+        	return;
+
         _verticalScrollPosition = value;
-        var r:Rectangle = getScrollRect();
-        r.y = _verticalScrollPosition;
-        scrollRect = r;
+        scrollPositionChanged = true;
+        invalidateProperties();
     }

@@ -566,7 +587,7 @@
     [Bindable] public var contentHeight:Number;

-        //--------------------------------------------------------------------------
+    //--------------------------------------------------------------------------
     //
     //  Properties: Overriden Focus management
     //