Transferred from the Adobe Open Source Subversion Repository

Revision: 3565
Author:   mhorn@adobe.com
Date:     2008-10-10T14:44:40.295870Z

Log Message:
-----------

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/CubicBezierSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/MoveSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/BitmapGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/LineSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutItem.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/Path.as
+++ frameworks/projects/spark/src/spark/primitives/Path.as
@@ -28,6 +28,30 @@

 /**
  *  The Path class is a filled graphic element that draws a series of path segments.
+ *  In vector graphics, a path is a series of points connected by straight or curved line segments.
+ *  Together the lines form an image. In Flex, you use the Path class to define a complex vector shape
+ *  constructed from a set of line segments. The LineSegment, CubicBezierSegment, and QuadraticBezierSegment
+ *  classes define the types of line segments that you can use.
+ *
+ *
Typically, the first element of a path definition is a MoveSegment class to specify the starting pen
+ *  position of the graphic. You then use the LineSegment, CubicBezierSegment, and QuadraticBezierSegment
+ *  classes draw the lines of the graphic. When using these classes, you only specify the x and y coordinates
+ *  of the end point of the line; the x and y coordinate of the starting point is defined by the current
+ *  pen position.

+ *
+ *
After drawing a line segment, the current pen position becomes the x and y coordinates of the end
+ *  point of the line. You can use multiple instances of the MoveSegment class in the path definition to
+ *  reposition the pen.

+ *
+ *
The syntax used by the Path class to define the shape is the same as the SVG path syntax,
+ *  which makes it easy to convert SVG paths to Flex paths.

+ *
+ *  @includeExample examples/ArrowExample.mxml
+ *
+ *  @see mx.graphics.MoveSegment
+ *  @see mx.graphics.LineSegment
+ *  @see mx.graphics.CubicBezierSegment
+ *  @see mx.graphics.QuadraticBezierSegment
  */
 public class Path extends FilledElement
 {
@@ -78,7 +102,7 @@

     /**
      *  A string containing a compact represention of the path segments. This is an alternate
-     *  way of setting the segments property. Setting this property will override any values
+     *  way of setting the segments property. Setting this property overrides any values
      *  stored in the segments array property.
      *
      *
The value is a space-delimited string describing each path segment. Each
@@ -88,28 +112,61 @@
      *
If the segment command is upper-case, the parameters are absolute values.
      *  If the segment command is lower-case, the parameters are relative values.

      *
-     *
Here is the syntax for the segments:

-     *  Segment Type     Command       Parameters       Example
-     *  ------------     -------       ----------       -------
-     *  MoveSegment      M/m           x y              M 10 20 - Move to 10, 20
-     *  LineSegment      L/l           x y              L 50 30 - Line to 50, 30
-     *   horiz. line     H/h           x                H 40 - Horizontal line to 40
-     *   vert. line      V/v           y                V 100 - Vertical line to 100
-     *  QuadraticBezier  Q/q           controlX
-     *                                 controlY
-     *                                 x y              Q 110 45 90 30
-     *                                                  - Curve to 90, 30 with the control
-     *                                                    point at 110, 45
-     *  CubicBezier      C/c           control1X
-     *                                 control1Y
-     *                                 control2X
-     *                                 control2Y
-     *                                 x y              C 45 50 20 30 10 20
-     *                                                  - Curve to 10, 20 with the first
-     *                                                    control point at 45, 50 and the
-     *                                                    second control point at 20, 30
-     *  close path       Z/z           none             Closes off the path
-     *
+     *
The following table shows the syntax for the segments:
+     *
+     *
+     *

+     *

+     *      Segment Type
+     *      Command
+     *      Parameters
+     *      Example
+     *

+     *

+     *      MoveSegment
+     *      M/m
+     *      x y
+     *      M 10 20 - Move line to 10, 20.
+     *

+     *

+     *      LineSegment
+     *      L/l
+     *      x y
+     *      L 50 30 - Line to 50, 30.
+     *

+     *

+     *      Horizontal line
+     *      H/h
+     *      x
+     *      H 40 = Horizontal line to 40.
+     *

+     *

+     *      Vertical line
+     *      V/v
+     *      y
+     *      V 100 - Vertical line to 100.
+     *

+     *

+     *      QuadraticBezierSegment
+     *      Q/q
+     *      controlX controlY x y
+     *      Q 110 45 90 30 - Curve to 90, 30 with the control point at 110, 45.
+     *

+     *

+     *      CubicBezierSegment
+     *      C/c
+     *      control1X control1Y control2X control2Y x y
+     *      C 45 50 20 30 10 20 - Curve to 10, 20 with the first control point at 45, 50 and the second control point at 20, 30.
+     *

+     *

+     *      Close path
+     *      Z/z
+     *      n/a
+     *      Closes off the path.
+     *

+     *

+     *

+     *
      *  @default null
      */
     public function set data(value:String):void
@@ -258,6 +315,9 @@
         dispatchPropertyChangeEvent("data", oldValue, value);
     }

+    /**
+     *  @private
+     */
     public function get data():String
     {
         if (!_data)
@@ -331,6 +391,9 @@
         boundsChanged();
     }

+    /**
+     *  @private
+     */
     public function get segments():Array
     {
         return _segments;
@@ -352,6 +415,9 @@
         _winding = value;
     }

+    /**
+     *  @private
+     */
     public function get winding():String
     {
         return _winding;
@@ -429,9 +495,9 @@
     }
     private function setActualScale(sX:Number,sY:Number):void
     {
-		layoutFeatures.layoutScaleX = sX;
-		layoutFeatures.layoutScaleY = sY;
-		invalidateTransform(false,false);
+        layoutFeatures.layoutScaleX = sX;
+        layoutFeatures.layoutScaleY = sY;
+        invalidateTransform(false,false);
     }

     /**
@@ -463,6 +529,9 @@
         }
     }

+    /**
+     * @inheritDoc
+     */
     override protected function endDraw(g:Graphics):void
     {
         // Set a transparent line style because filled, unclosed shapes will
@@ -493,6 +562,9 @@
         boundsChanged();
     }

+    /**
+     * @private
+     */
     private function boundsChanged(): void
     {
         // Clear our cached measurement and data values
@@ -501,6 +573,9 @@
         invalidateSize();
     }

+    /**
+     * @private
+     */
     private function clearBounds():void
     {
         _bounds = null;
@@ -512,6 +587,9 @@
     //
     //--------------------------------------------------------------------------

+    /**
+     * @inheritDoc
+     */
     override protected function computeMatrix(actualMatrix:Boolean):Matrix
     {
         var tmpScaleX:Number = actualMatrix ? super.scaleX : _userScaleX;
@@ -539,26 +617,7 @@
     }

     /**
-     *  setActualSize modifies the item size/transform so that
-     *  its TBounds have the specified width and height.
-     *
-     *  If one of the desired TBounds dimensions is left unspecified, it's size
-     *  will be picked such that item can be optimally sized to fit the other
-     *  TBounds dimension. This is useful when the layout doesn't want to
-     *  overconstrain the item in cases where the item TBounds width and height
-     *  are dependent (text, components with complex transforms, etc.)
-     *
-     *  If both TBounds dimensions are left unspecified, the item will have its
-     *  preferred size set.
-     *
-     *  setActualSize does not clip against minSize and
-     *  maxSize properties.
-     *
-     *  setActualSize must preserve the item's TBounds position,
-     *  which means that in some cases it will move the item in addition to
-     *  changing its size.
-     *
-     *  @return Returns the TBounds of the new item size.
+     *  @inheritDoc
      */
     override public function setActualSize(width:Number = Number.NaN, height:Number = Number.NaN):Point
     {
@@ -596,7 +655,7 @@
         var stroke:IStroke = getStroke();
         if (!stroke)
         {
-            setActualScale(w / bw,  h / bh);
+            setActualScale(w / bw,  h / bh);
         }
         else if (stroke.weight == 0 )
         {
@@ -604,70 +663,70 @@
         }
         else if(stroke.scaleMode != LineScaleMode.NORMAL)
         {
-        	var strokeWeight:Number = stroke.weight;
-        	if (stroke.scaleMode == LineScaleMode.HORIZONTAL)
-        	{
-        		setActualScale(w / (bw + strokeWeight),(h - strokeWeight) / bh);
+            var strokeWeight:Number = stroke.weight;
+            if (stroke.scaleMode == LineScaleMode.HORIZONTAL)
+            {
+                setActualScale(w / (bw + strokeWeight),(h - strokeWeight) / bh);
             }
             else if(stroke.scaleMode == LineScaleMode.VERTICAL)
             {
-                setActualScale((w - strokeWeight) / bw,h / (bh + strokeWeight));
-        	}
-        	else // LineScaleMode.NONE
-        	{
-        		setActualScale((w - strokeWeight) / bw,(h - strokeWeight) / bh);
-        	}
+                setActualScale((w - strokeWeight) / bw,h / (bh + strokeWeight));
+            }
+            else // LineScaleMode.NONE
+            {
+                setActualScale((w - strokeWeight) / bw,(h - strokeWeight) / bh);
+            }
         }
         else
         {
-	        var t:Number = stroke.weight;
-	        t = t * t / 2;
-	        var t1:Number = t / ( bw * bw);
-
-	        // TODO EGeorige: the following equations don't
-	        // account for skew components of the matrix.
-	        // Also, this can be greatly optimized.
-
-	        // (1) w = bw * x + sqrt( x^2 * t + y^2 * t)
-	        // (2) h = bh * y + sqrt( x^2 * t + y^2 * t)
-	        // (1) - (2):
-	        // w - h = bw * x - bh * y
-	        // x = ( w - h + bh * y ) / bw
-	        // substitute back in (2):
-	        // h - bh * y = sqrt( (w - h + bh * y )^2 * t / bw^2 + y^2 * t )
-	        // h^2 - 2*h*bh*y +bh^2 * y^2 = ((w - h)^2 + 2 * (w-h) * bh * y + bh^2 * y^2 ) * t / bw^2 + y^2 * t
-	        // bh^2 * y^2 - 2*h*bh*y  + h ^2 = t1 * (w - h)^2 + 2 * t1 * (w-h) * bh * y + t1 * bh^2 * y^2 + t * y^2
-	        // bh^2 * y^2 - 2*h*bh*y  + h^2 = t1*(w-h)^2 + 2*t1*(w-h)*bh* y + (t1*bh^2 + t)*y^2
-	        // (bh^2 - t1*bh^2 - t) * y^2 -(2*h*bh +2*t1*(w-h)*bh) * y + (h^2 - t1*(w-h)^2) = 0
-
-	        if( bw != 0 && bh != 0)
-	        {
-	            var A:Number = bh * bh - t1 * bh * bh - t;
-	            var B:Number = -2 *h * bh - 2 * t1 * (w-h) * bh;
-	            var C:Number = h * h - t1 * (w-h) * (w-h);
-
-	            var D:Number = B * B - 4 * A * C;
-	            if (D >= 0)
-	            {
-	                var y1:Number = (-B + Math.sqrt(D)) / (2 * A);
-	                var y2:Number = (-B - Math.sqrt(D)) / (2 * A);
-
-	                var x1:Number = ( w - h + bh * y1 ) / bw;
-	                var x2:Number = ( w - h + bh * y2 ) / bw;
-
-	                if (Math.abs(h - bh * y1 - Math.sqrt(x1 * x1 * t + y1 * y1 * t)) < 0.5 &&
-	                    Math.abs(w - bw * x1 - Math.sqrt(x1 * x1 * t + y1 * y1 * t)) < 0.5)
-	                {
-	                    setActualScale(x1,y1);
-	                }
-	                else
-	                if (Math.abs(h - bh * y2 - Math.sqrt(x2 * x2 * t + y2 *y2 * t)) < 0.5 &&
-	                    Math.abs(w - bw * x2 - Math.sqrt(x2 * x2 * t + y2 *y2 * t)) < 0.5)
-	                {
-	                    setActualScale(x2,y2);
-	                }
-	            }
-	        }
+            var t:Number = stroke.weight;
+            t = t * t / 2;
+            var t1:Number = t / ( bw * bw);
+
+            // TODO EGeorige: the following equations don't
+            // account for skew components of the matrix.
+            // Also, this can be greatly optimized.
+
+            // (1) w = bw * x + sqrt( x^2 * t + y^2 * t)
+            // (2) h = bh * y + sqrt( x^2 * t + y^2 * t)
+            // (1) - (2):
+            // w - h = bw * x - bh * y
+            // x = ( w - h + bh * y ) / bw
+            // substitute back in (2):
+            // h - bh * y = sqrt( (w - h + bh * y )^2 * t / bw^2 + y^2 * t )
+            // h^2 - 2*h*bh*y +bh^2 * y^2 = ((w - h)^2 + 2 * (w-h) * bh * y + bh^2 * y^2 ) * t / bw^2 + y^2 * t
+            // bh^2 * y^2 - 2*h*bh*y  + h ^2 = t1 * (w - h)^2 + 2 * t1 * (w-h) * bh * y + t1 * bh^2 * y^2 + t * y^2
+            // bh^2 * y^2 - 2*h*bh*y  + h^2 = t1*(w-h)^2 + 2*t1*(w-h)*bh* y + (t1*bh^2 + t)*y^2
+            // (bh^2 - t1*bh^2 - t) * y^2 -(2*h*bh +2*t1*(w-h)*bh) * y + (h^2 - t1*(w-h)^2) = 0
+
+            if( bw != 0 && bh != 0)
+            {
+                var A:Number = bh * bh - t1 * bh * bh - t;
+                var B:Number = -2 *h * bh - 2 * t1 * (w-h) * bh;
+                var C:Number = h * h - t1 * (w-h) * (w-h);
+
+                var D:Number = B * B - 4 * A * C;
+                if (D >= 0)
+                {
+                    var y1:Number = (-B + Math.sqrt(D)) / (2 * A);
+                    var y2:Number = (-B - Math.sqrt(D)) / (2 * A);
+
+                    var x1:Number = ( w - h + bh * y1 ) / bw;
+                    var x2:Number = ( w - h + bh * y2 ) / bw;
+
+                    if (Math.abs(h - bh * y1 - Math.sqrt(x1 * x1 * t + y1 * y1 * t)) < 0.5 &&
+                        Math.abs(w - bw * x1 - Math.sqrt(x1 * x1 * t + y1 * y1 * t)) < 0.5)
+                    {
+                        setActualScale(x1,y1);
+                    }
+                    else
+                    if (Math.abs(h - bh * y2 - Math.sqrt(x2 * x2 * t + y2 *y2 * t)) < 0.5 &&
+                        Math.abs(w - bw * x2 - Math.sqrt(x2 * x2 * t + y2 *y2 * t)) < 0.5)
+                    {
+                        setActualScale(x2,y2);
+                    }
+                }
+            }
         }

         if (super.scaleX != lastActualScaleX || super.scaleY != lastActualScaleY)


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

--- frameworks/projects/mx/src/mx/effects/WipeDown.as
+++ frameworks/projects/mx/src/mx/effects/WipeDown.as
@@ -0,0 +1,78 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2003-2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.effects
+{
+
+import mx.effects.effectClasses.WipeDownInstance;
+
+/**
+ *  The WipeDown class defines a bar wipe down effect.
+ *  The before or after state of the component must be invisible.
+ *
+ *
You often use this effect with the showEffect
+ *  and hideEffect triggers. The showEffect
+ *  trigger occurs when a component becomes visible by changing its
+ *  visible property from false to true.
+ *  The hideEffect trigger occurs when the component becomes
+ *  invisible by changing its visible property from
+ *  true to false.

+ *
+ *
This effect inherits the MaskEffect.show property.
+ *  If you set the value to true, the component appears.
+ *  If you set the value to false, the component disappears.
+ *  The default value is true.

+ *
+ *
If you specify this effect for a showEffect or
+ *  hideEffect trigger, Flex sets the show property
+ *  for you, either to true if the component becomes invisible,
+ *  or false if the component becomes visible.

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

+ *
+ *

+ *  <mx:WipeDown
+ *    id="ID"
+ *  />
+ *

+ *
+ *  @see mx.effects.effectClasses.WipeDownInstance
+ *
+ *  @includeExample examples/WipeDownExample.mxml
+ */
+public class WipeDown extends MaskEffect
+{
+    include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param target The Object to animate with this effect.
+	 */
+	public function WipeDown(target:Object = null)
+	{
+		super(target);
+
+		instanceClass = WipeDownInstance;
+	}
+}
+
+}


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

--- frameworks/projects/mx/src/mx/controls/VScrollBar.as
+++ frameworks/projects/mx/src/mx/controls/VScrollBar.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.controls
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 88
Author:   open-source-svn-admin@adobe.com
Date:     2008-01-03T22:47:56.499469Z

Log Message:
-----------
Perforce Change 191925 by proberts@proberts-laptop-flex on 2008/01/03 16:47:12 Severity: ignore Details: doc additions/clean up for FlexNativeMenu. Also FLEXDOCS-320 (update documentation for FlexNativeMenuEvent.MENU_SHOW to explain that the index, label, and item properties are null) Affected files ...

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/in/air/air_version.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Consumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/NoChannelAvailableError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/DirectHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/mac/AIR Integration Kit.tbz2</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessagingError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/InvalidChannelError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractProducer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessageSerializationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Channel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/win/AIR Integration Kit.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXContext.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/PollingChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/NetConnectionChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/mxml/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/Grammar.jj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ConsumerMessageDispatcher.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/InvalidDestinationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXResult.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractMessageStore.as</path>

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

--- frameworks/projects/rpc/src/mx/messaging/Consumer.as
+++ frameworks/projects/rpc/src/mx/messaging/Consumer.as
@@ -1,21 +1,14 @@
-/*************************************************************************
- *
- * ADOBE CONFIDENTIAL
- * __________________
- *
- *  [2002] - [2007] Adobe Systems Incorporated
- *  All Rights Reserved.
- *
- * NOTICE:  All information contained herein is, and remains
- * the property of Adobe Systems Incorporated and its suppliers,
- * if any.  The intellectual and technical concepts contained
- * herein are proprietary to Adobe Systems Incorporated
- * and its suppliers and may be covered by U.S. and Foreign Patents,
- * patents in process, and are protected by trade secret or copyright law.
- * Dissemination of this information or reproduction of this material
- * is strictly forbidden unless prior written permission is obtained
- * from Adobe Systems Incorporated.
- */
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
 package mx.messaging
 {

@@ -230,9 +223,6 @@

         super.internalSend(message, waitForClientId);
     }
-
-
-
 }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 5220
Author:   chaase@adobe.com
Date:     2009-03-10T15:55:06.496289Z

Log Message:
-----------
New Transform effects to handle correctly doing Move, Rotate, and Scale operations simultaneously. Also, added keyframe capabilities to new effects system (necessary for the transform effects, shouldn't affect operation of other effects). Fixed various issues with effects/transition infrastructure as necessary. Added transform utility functions to UIComponent, AdvancedLayoutFeatures, and GraphicElement.

QE Notes: This will break existing new effects tests due to changes in core Animation and AnimationEvent classes, QE is disabling them for now and will add them back in as changes are made.
Doc Notes: None
Bugs:
Reviewer: Ely (transform utilities) and Jason (the rest)
tests: checkintests, Mustella tests/Effects, tests/ListDataEffects

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/KeyFrame.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PropertyChanges.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate3D.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/effectClasses</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateColorInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxRotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxMoveInstance.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/effectClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/AnimationEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate3D.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/AnimationProperty.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove3D.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Scale.as
+++ frameworks/projects/spark/src/spark/effects/Scale.as
@@ -0,0 +1,146 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 spark.effects
+{
+import mx.effects.IEffectInstance;
+
+import spark.effects.effectClasses.AnimateTransformInstance;
+
+/**
+ * This class is a utility wrapper around the AnimateTransform effect, exposing the
+ * properties that make sense for someone wishing to merely scale a target object
+ * in the x and y directions around some transform center.
+ *
+ *
Like all AnimateTransform-based effects, this effect will only work on subclasses
+ * of UIComponent and GraphicElement, as these effects depend on specific
+ * transform functions in those classes. Also, all of these effects run one single
+ * effect instance on any given target at a time, which means that they will
+ * share the transform center set by any of the contributing effects.

+ */
+public class AnimateTransformScale extends AnimateTransform
+{
+    include "../../mx/core/Version.as";
+
+    public function AnimateTransformScale(target:Object=null)
+    {
+        super(target);
+        instanceClass = AnimateTransformInstance;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  scaleYFrom
+    //----------------------------------
+
+    [Inspectable(category="General", defaultValue="NaN")]
+
+    /**
+     * The starting scale factor in the y direction.
+     */
+    public var scaleYFrom:Number;
+
+    //----------------------------------
+    //  scaleYTo
+    //----------------------------------
+
+    [Inspectable(category="General", defaultValue="NaN")]
+
+    /**
+     * The ending scale factor in the y direction.
+     */
+    public var scaleYTo:Number;
+
+    //----------------------------------
+    //  scaleYBy
+    //----------------------------------
+
+    [Inspectable(category="General", defaultValue="NaN")]
+
+    /**
+     * The factor by which to scale the object in the y direction.
+     * This is an optional parameter that can be used instead of one
+     * of the other from/to values to specify the delta to add to the
+     * from value or to derive the from value by subtracting from the
+     * to value.
+     */
+    public var scaleYBy:Number;
+
+    //----------------------------------
+    //  scaleXFrom
+    //----------------------------------
+
+    [Inspectable(category="General", defaultValue="NaN")]
+
+    /**
+     * The starting scale factor in the x direction.
+     */
+    public var scaleXFrom:Number;
+
+    //----------------------------------
+    //  scaleXTo
+    //----------------------------------
+
+    [Inspectable(category="General", defaultValue="NaN")]
+
+    /**
+     * The ending scale factor in the x direction.
+     */
+    public var scaleXTo:Number;
+
+    //----------------------------------
+    //  scaleXBy
+    //----------------------------------
+
+    [Inspectable(category="General", defaultValue="NaN")]
+
+    /**
+     * The factor by which to scale the object in the x direction.
+     * This is an optional parameter that can be used instead of one
+     * of the other from/to values to specify the delta to add to the
+     * from value or to derive the from value by subtracting from the
+     * to value.
+     */
+    public var scaleXBy:Number;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    // TODO: Can we remove this override? It exists only to create animationProperties,
+    // which we should be able to do somewhere else
+    /**
+     * @private
+     */
+    override public function createInstance(target:Object = null):IEffectInstance
+    {
+        animationProperties = [];
+        return super.createInstance(target);
+    }
+
+    /**
+     * @private
+     */
+    override protected function initInstance(instance:IEffectInstance):void
+    {
+        addMotionPath("scaleX", scaleXFrom, scaleXTo, scaleXBy);
+        addMotionPath("scaleY", scaleYFrom, scaleYTo, scaleYBy);
+        super.initInstance(instance);
+    }
+}
+}


more selection stuff

more selection stuff

git-svn-id: f772d44cbf86d9968f12179c1556189f5afcea6e@651 e0ac87d7-b42b-0410-9034-8248a05cb448

--- braineditor/SelectionManager.as
+++ braineditor/SelectionManager.as
@@ -44,9 +44,21 @@
      }
   }
   static function selectItem(where:Point){
-
+    var i:Number;
+    for ( i=0;i<mSelectedDrawables.size();++i) {
+      if(mSelectedDrawables[i].within(where)) {
+        //mSelectedDrawable[i]
+      }
+    }
   }
   static function selectRegion(topLeft:Point,bottomRight:Point) {
+    var region:Rect=new Rect(topLeft,bottomRight);
+    var i:Number;
+    for ( i=0;i<mSelectedDrawables.size();++i) {
+      if(mSelectedDrawables[i].withinShape(region)) {
+        //mSelectedDrawables[i]
+      }
+    }

   }
   static function addToSelected(drawable:Drawable):Void {


#SUP-466 #comment evaluate secondary value substitutions #time 4h

--- kdp3Lib/src/com/kaltura/kdpfl/util/KTextParser.as
+++ kdp3Lib/src/com/kaltura/kdpfl/util/KTextParser.as
@@ -365,7 +365,20 @@
 			}

 			// in case of plain string or executing a function just continue as usual
-			return internalParse(site, prop, host, strippedString);
+			var parseResult:Object = internalParse(site, prop, host, strippedString);
+			//check if we should parse again - if we have {} expression
+			if (parseResult is String) {
+				var resString:String = parseResult as String;
+				var subStateStartInd:int = resString.indexOf("{");
+				if (subStateStartInd > -1) {
+					var subStateEndInd:int = resString.indexOf("}");
+					if (subStateEndInd > subStateStartInd) {
+						return parse(site, prop, host, resString);
+					}
+				}
+			}
+
+			return parseResult;
 		}

 		// parse the given text and either execute or bind it to the given site and property


Transferred from the Adobe Open Source Subversion Repository

Revision: 12025
Author:   rfrishbe@adobe.com
Date:     2009-11-20T01:48:04.689786Z

Log Message:
-----------
Switching out the old video component for the new video component that uses OSMF.  Also fixing RSL issue with OSMF because a change in flex-config.xml accidentally got overwritten.  Also fixing a bug caught during the last code review where you would set the volume on the VideoPlayer, but the volumeBar wouldn't be made aware of that change.

Switching out the video component results in *many* API changes.  The changes are highlighted below:

Class name changes:

 - spark.primitives.VideoElement is being renamed to spark.components.VideoDisplay
 - spark.components.mediaClasses.StreamingVideoSource is renamed to park.components.mediaClasses.DynamicStreamingVideoSource
 - spark.components.mediaClasses.StreamItem is renamed to park.components.mediaClasses.DynamicStreamingVideoItem

VideoDisplay/VideoPlayer event changes:

The new video component's events are:
 - bytesLoadedChange : org.osmf.events.LoadEvent
 - currentTimeChange : org.osmf.events.TimeEvent
 - durationChange : org.osmf.events.TimeEvent
 - mediaPlayerStateChange : org.osmf.events.MediaPlayerStateChangeEvent

The old video component's events were:
 - close : spark.events.VideoEvent (removed)
 - complete : spark.events.VideoEvent (replaced with mediaPlayerStateChange)
 - metaDataReceived : spark.events.VideoEvent (replaced with mediaPlayerStateChange)
 - playheadUpdate : spark.events.VideoEvent (replaced with currentTimeChange)
 - progress : flash.events.ProgressEvent (replaced with bytesLoadedChange)
 - ready : spark.events.VideoEvent (replaced with mediaPlayerStateChange)

VideoDisplay/VideoPlayer property changes:

Renames:

 - maintainAspectRatio:Boolean has been renamed to scaleMode:String and rather than true/false, it now access 4 values: none, zoom, letterbox, and stretch.  See the enum class org.osmf.display.ScaleMode.
 - playheadTime:Number has been renamed to currentTime:Number
 - playWhenHidden has been renamed to pauseWhenHidden, and it's "tense" has been reversed.  So playWhenHidden = true correlates to pauseWhenHidden = false.  Also, before we would only pause when the video component was explcitly set to visible=false, but now we detect if the video components or any of it's ancestors have been hidden.
 - totalTime:Number has been renamed to duration:Number

New properties:

 - bytesLoaded:Number This is a new property not available on the old video component
 - bytesTotal:Number This is a new property not available on the old video component
 - loop: Boolean this was a property added a while ago on the old video component but not in the original video player spec
 - mediaPlayerState: this is a new property that details the state of the video component.  See org.osmf.media.MediaPlayerState for all the possible values.
 - seekToFirstFrame:Boolean (pending PARB approval) - This is a new property available on VideoDisplay/VideoPlayer.  When autoPlay = false, if seekToFirstFrame is set to true, then we will connect to the server to start downloading the video, figure out the size of the video and resize appropriately, and show the first frame of the video.  If seekToFirstFrame is false, then no connection to the server is made, there's no implicit size for this video, and the first frame will not be show automatically.  By default the value of this property is true.  In the old video component, when autoPlay = false, we always has the same behavior as seekToFirstFrame = true.  Now it is controllable through this property.  Eventually, (not for Flex 4.0), we will most-likely have support for a thumbnail source or a splash screen so the video's preview will show up without making an unneeded connection to the server.  The property name may change depending on PARB.

Other changes:

 - autoRewind: The default of autoRewind is now true instead of false
 - enabled: before we paused the video when the video component was explicitly set to enabled = false.  Now we pause the video when the video component or any of it's ancestors have been disabled.

VideoPlayer-only changes:

 - videoObject:flash.media.Video property is now a new property on VideoPlayer.  It was previously only on VideoDisplay.
 - The skin states for the old VideoPlayer were: connectionError, disabled, disconnected, loading, playing, stopped, connectionErrorAndFullScreen, disabledAndFullScreen, disconnectedAndFullScreen, loadingAndFullScreen, playingAndFullScreen, stoppedAndFullScreen.  The new skin states are: uninitialized, loading, ready, playing, paused, buffering, playbackError, disabled, uninitializedAndFullScreen, loadingAndFullScreen, readyAndFullScreen, playingAndFullScreen, pausedAndFullScreen, bufferingAndFullScreen, playbackErrorAndFullScreen, disabledAndFullScreen

DynamicStreamingVideoItem property changes:

 - bitRate:Number renamed to bitrate:Number

DynamicStreamingVideoSource property changes:

 - initialIndex has been added to DynamicSteramingVideoSource
 - live:Boolean has changed to streamType:String which accepts values: live, recorded, any.  See the enum class org.osmf.net.StreamType for more info.
 - serverURI:String renamed to host:Object
 - streamItems:Array has changed types to streamItems:Vector.<DynamicStreamingVideoItem>

ScrubBar property changes (THESE CHANGES ARE NOT DONE YET, BUT SHOULD BE DONE SOON)

 - bufferedStart will be removed
 - bufferedEnd will be renamed to loadedRangeEnd.  This property name still may change depending on PARB.
 - bufferedArea skin part needs to be renamed.  Probably will be renamed to loadedArea.  PARB still deciding.

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

Modified Paths:
--------------
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/mediaClasses/StreamItem.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/VideoElement.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/flex-config.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/mediaClasses/StreamingVideoSource.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/build.xml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer2.as" copyfrom-rev="12005" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/VideoPlayerSkin2.mxml" copyfrom-rev="12005" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/VideoPlayerSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer2.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/VideoElement.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/VideoPlayerSkin2.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VideoPlayerSkin.mxml</path>

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

--- frameworks/projects/spark/src/SparkClasses.as
+++ frameworks/projects/spark/src/SparkClasses.as
@@ -78,7 +78,6 @@
 import spark.skins.spark.TitleWindowCloseButtonSkin; TitleWindowCloseButtonSkin;
 import spark.skins.spark.ToggleButtonSkin; ToggleButtonSkin;
 import spark.skins.spark.VideoPlayerSkin; VideoPlayerSkin;
-import spark.skins.spark.VideoPlayerSkin2; VideoPlayerSkin2;
 import spark.skins.spark.VScrollBarSkin; VScrollBarSkin;
 import spark.skins.spark.VScrollBarThumbSkin; VScrollBarThumbSkin;
 import spark.skins.spark.VScrollBarTrackSkin; VScrollBarTrackSkin;


Transferred from the Adobe Open Source Subversion Repository

Revision: 3925
Author:   jimurphy@adobe.com
Date:     2008-10-28T15:28:25.006190Z

Log Message:
-----------
Merged gumbo_alpha revisions 3857-3860,3870,3872,3874-3876,3881,3884,3886,3889,3891,3893,3895,3908,3912 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxRotateEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxFadeEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/CubicBezierSegment.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/gumbo_alpha/frameworks/projects/flex4/src/mx/skins/spark/FxFocusSkin.as" copyfrom-rev="3895" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxFocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxVSliderExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/LineSegment.as</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/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxFadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxFade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxListExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxMoveEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/PathSegment.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/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/textLayout_conversion.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxAnimateColorEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/textLayout_core.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxAnimateEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxCheckBoxExample.mxml</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/gumbo_alpha/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/DataGroupExample.mxml" copyfrom-rev="3895" action="A">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/DataGroupExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimateColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flash/css/StyleDeclaration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/gumbo_alpha/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/GroupExample.mxml" copyfrom-rev="3895" action="A">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/GroupExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxSpinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/QuadraticBezierSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxNumericStepperExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxResizeEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxRotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxButtonExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxResize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxToggleButtonExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxSpinnerExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/PropertyValuesHolder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxMoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/textLayout_edit.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/TextViewExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxMove.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleModule.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxHSliderExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleDef.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/spark/src/SparkClasses.as
+++ frameworks/projects/spark/src/SparkClasses.as
@@ -27,6 +27,7 @@
 import mx.skins.spark.FxButtonSkin; FxButtonSkin;
 import mx.skins.spark.FxCheckBoxSkin; FxCheckBoxSkin;
 import mx.skins.spark.FxDataContainerSkin; FxDataContainerSkin;
+import mx.skins.spark.FxFocusSkin; FxFocusSkin;
 import mx.skins.spark.FxHScrollBarSkin; FxHScrollBarSkin;
 import mx.skins.spark.FxHScrollBarThumbSkin; FxHScrollBarThumbSkin;
 import mx.skins.spark.FxHSliderSkin; FxHSliderSkin;


* Fixed accessor to work with fields without properly defined types.

git-svn-id: cdbd3c3453b226d8644b39c93ea790e37ea3ca1b@212 8511d851-38f6-43ef-8cbd-b625791138e4

--- src/nanosome/util/access/Accessor.as
+++ src/nanosome/util/access/Accessor.as
@@ -100,7 +100,7 @@
 		private static var _objectMap : Object /* String -> Modifier */ = {};

 		// Lookup for the types that are to be concidered simple types
-		private static const SIMPLE_TYPE: Dictionary = new Dictionary();
+		private static const SIMPLE_TYPE : Dictionary = new Dictionary();
 		{
 			SIMPLE_TYPE[ int ] = true;
 			SIMPLE_TYPE[ uint ] = true;
@@ -233,9 +233,10 @@
 						name = XML( writeAble.@name ).toString();
 						_writableLookup[ name ] = true;
 						try {
-							_writableTypeLookup[ name ] = getDefinitionByName( writeAble.@type );
+							_writableTypeLookup[ name ] = getDefinitionByName( writeAble.@type ) || Object;
 						} catch( e: Error ) {
-							// If the type is not accessible it't not possible to do a verification!
+							// If the type is not accessible it't not possible to do a verification!
+							_writableTypeLookup[ name ] = Object;
 						}
 					}
 				}
@@ -258,9 +259,10 @@
 							}
 							_readWriteable.push( name );
 							try {
-								_readWriteableTypeLookup[ name ] = getDefinitionByName( readAble.@type );
+								_readWriteableTypeLookup[ name ] = getDefinitionByName( readAble.@type ) || Object;
 							} catch( e: Error ) {
-								// If the type is not accessible it't not possible to do a verification!
+								// If the type is not accessible it't not possible to do a verification!
+								_readWriteableTypeLookup[ name ] = Object;
 							}
 						}


Some rearrangement.
Fucking A.
It seems to default back to the size of the last snapshot taken
even if that snapshot was affected by the bug. When you quit and
then come back in, it is "stuck" to the last size. There's
no way to know what this size is.

Right now: logging everything, doing no adjustment.
Let's see if other people have problems, or what.

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

--- src/as/com/threerings/flash/CameraSnapshotter.as
+++ src/as/com/threerings/flash/CameraSnapshotter.as
@@ -16,6 +16,7 @@

 import flash.text.TextField;

+import com.threerings.util.Log;
 import com.threerings.util.MethodQueue;

 // TODO: use PreferredCamera?
@@ -84,7 +85,7 @@
                 removeChild(_video);
             }
             _bitmap = null;
-            _video = null;
+            detachVideo();
         }

         _camera = camera;
@@ -108,8 +109,9 @@
     {
         clearSnapshot();
         removeChild(_video);
+
+        detachVideo();
         _camera.setMode(width, height, fps, favorArea);
-
         attachVideo();
     }

@@ -125,13 +127,13 @@
         // than leaving everything alone, which mostly didn't work. But then again,
         // this code is specifically saying: "fuck up the scale", so if Adobe fixes their
         // bug in the future, this will cause broken behavior.
-        _bitmap.bitmapData.draw(_video,
-            new Matrix(_camera.width / 160, 0, 0, _camera.height / 120));
-//        com.threerings.util.Log.testing("Camera stuff",
-//            "camera.width", _camera.width, "camera.height", _camera.height,
-//            "video.width", _video.width, "video.height", _video.height,
-//            "videoWidth", _video.videoWidth, "videoHeight", _video.videoHeight,
-//            "bitmap.width", _bitmap.width, "bitmap.height", _bitmap.height);
+        _bitmap.bitmapData.draw(_video);
+            //new Matrix(_camera.width / 160, 0, 0, _camera.height / 120));
+        Log.getLog(this).debug("Camera snapshotted",
+            "camera.width", _camera.width, "camera.height", _camera.height,
+            "video.width", _video.width, "video.height", _video.height,
+            "videoWidth", _video.videoWidth, "videoHeight", _video.videoHeight,
+            "bitmap.width", _bitmap.width, "bitmap.height", _bitmap.height);

         if (_video.parent != null) {
             removeChild(_video);
@@ -162,10 +164,8 @@

     protected function attachVideo () :void
     {
-        if (_video != null) {
-            // shut down the old video
-            _video.attachCamera(null);
-        }
+        // detach any old first
+        detachVideo();

         _video = new Video(_camera.width, _camera.height);
         // the constructor args don't seem to do dick, so we set the values again...
@@ -176,6 +176,14 @@
         _bitmap = new Bitmap(new BitmapData(_camera.width, _camera.height, false));
     }

+    protected function detachVideo () :void
+    {
+        if (_video != null) {
+            _video.attachCamera(null);
+            _video = null;
+        }
+    }
+
     protected var _camera :Camera;

     protected var _video :Video;


Allow menu items to be configured with a callback function directly
(to which any args will be passed), instead of only dispatching
controller commands.

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

--- src/as/com/threerings/mx/controls/CommandMenu.as
+++ src/as/com/threerings/mx/controls/CommandMenu.as
@@ -7,18 +7,23 @@

 import mx.controls.Menu;
 import mx.core.mx_internal;
+import mx.core.ScrollPolicy;
 import mx.events.MenuEvent;

 import com.threerings.mx.events.CommandEvent;

 /**
  * A pretty standard menu that can submit CommandEvents if menu items
- * have "command" and possibly "arg" properties.
+ * have "command" and possibly "arg" properties. Commands are submitted to
+ * controllers for processing. Alternatively, you may specify
+ * "callback" properties that specify a function closure to call, with the
+ * "arg" property containing either a single arg or an array of args.
  *
  * Example dataProvider array:
  * [ { label: "Go home", icon: homeIconClass,
  *     command: Controller.GO_HOME, arg: homeId },
  *   { type: "separator"},
+     { label: "Crazytown", callback: setCrazy, arg: [ true, false ] },
  *   { label: "Other places", children: subMenuArray }
  * ];
  *
@@ -32,6 +37,7 @@
         super();

         addEventListener(MenuEvent.ITEM_CLICK, itemClicked);
+//        addEventListener(MenuEvent.MENU_SHOW, handleMenuShown);
     }

     /**
@@ -74,13 +80,41 @@
      */
     protected function itemClicked (event :MenuEvent) :void
     {
+        var arg :Object = getItemArgument(event.item);
         var cmd :String = getItemCommand(event.item);
-        if (cmd != null) {
+        var fn :Function;
+        if (cmd == null) {
+            fn = getItemCallback(event.item);
+        }
+        if (cmd != null || fn != null) {
             event.stopImmediatePropagation();
-            var arg :Object = getItemArgument(event.item);
-            CommandEvent.dispatch(mx_internal::parentDisplayObject, cmd, arg);
+            if (cmd != null) {
+                CommandEvent.dispatch(mx_internal::parentDisplayObject, cmd, arg);
+
+            } else {
+                try {
+                    var args :Array = (arg as Array);
+                    if (args == null && arg != null) {
+                        args = [ arg ];
+                    }
+                    fn.apply(null, args);
+
+                } catch (err :Error) {
+                    Log.getLog(this).warning("Unable to call menu callback: " +
+                        event.item);
+                }
+            }
         }
     }
+
+//    /**
+//     * Callback for MenuEvent.MENU_SHOW.
+//     */
+//    protected function handleMenuShown (event :MenuEvent) :void
+//    {
+//        // just ensure that every menu can scroll
+//        event.menu.verticalScrollPolicy = ScrollPolicy.ON;
+//    }

     /**
      * Get the command for the specified item, if any.
@@ -90,10 +124,29 @@
     {
         try {
             if (item is XML) {
-                return String(item.@command);
+                return (item.@command as String);

             } else if (item is Object) {
-                return String(item.command);
+                return (item.command as String);
+            }
+        } catch (e :Error) {
+            // fall through
+        }
+
+        return null;
+    }
+
+    /**
+     * Get the callback function for the specified item, if any.
+     */
+    protected function getItemCallback (item :Object) :Function
+    {
+        try {
+            if (item is XML) {
+                return (item.@callback as Function);
+
+            } else if (item is Object) {
+                return (item.callback as Function);
             }
         } catch (e :Error) {
             // fall through


Add a little padding on BOSH polling; sacrifices a tiny bit of responsiveness for some safety, HOPEFULLY fixing XIFF-31. r=Daniel

git-svn-id: c197267f952b24206666de142881703007ca05d5@10583 b35dd754-fafc-0310-a699-88a17e54d16e

--- src/org/jivesoftware/xiff/core/XMPPBOSHConnection.as
+++ src/org/jivesoftware/xiff/core/XMPPBOSHConnection.as
@@ -127,13 +127,14 @@
 			var attributes:Object = responseBody.attributes;
 			sid = attributes.sid;
 	        boshPollingInterval = attributes.polling * 1000;
-	        // if we have a polling interval of 1, we want to add an extra second for a little bit of
-	        // padding.
-	        if(boshPollingInterval <= 1000 && boshPollingInterval > 0)
-	            boshPollingInterval += 1000;

 	        wait = attributes.wait;
-	        inactivity = attributes.inactivity;
+	        inactivity = attributes.inactivity * 1000;
+	        if(inactivity - 2000 >= boshPollingInterval || (boshPollingInterval <= 1000 && boshPollingInterval > 0))
+	        {
+	        	boshPollingInterval += 1000;
+	        }
+
 	        var serverRequests:int = attributes.requests;
 	        if (serverRequests)
 	            maxConcurrentRequests = Math.min(serverRequests, maxConcurrentRequests);


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

--- frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/SortInfo.as
+++ frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/SortInfo.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.controls.advancedDataGridClasses
 {


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

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

 package spark.components
 {


- change: TextInput.value() now defaults to the empty string instead of null

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

--- src/reprise/controls/TextInput.as
+++ src/reprise/controls/TextInput.as
@@ -36,7 +36,7 @@
 		*							protected properties						   *
 		***************************************************************************/
 		protected var m_enabled : Boolean;
-		protected var m_labelStr : String;
+		protected var m_labelStr : String = '';
 		protected var m_verticalScrollingOn : Boolean;
 		protected var m_horizontalScrollingOn : Boolean;


added default properties to method

added default properties to method

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

--- src/reprise/tweens/SimpleTween.as
+++ src/reprise/tweens/SimpleTween.as
@@ -85,7 +85,8 @@
 		 */
 		public function addMultipleProperties (
 			scope:Object, properties:Array, startValues:Array, endValues:Array,
-			tweenFunction:Function, roundResults:Boolean, extraParams:Array) : void
+			tweenFunction:Function = null, roundResults:Boolean = false,
+			extraParams:Array = null) : void
 		{
 			for (var i : Number = 0; i < properties.length; i++)
 			{


Useful debug logging.

Useful debug logging.

--- OSMF/org/osmf/net/metrics/BandwidthMetric.as
+++ OSMF/org/osmf/net/metrics/BandwidthMetric.as
@@ -96,7 +96,9 @@
 			{
 				var fragmentDetails:FragmentDetails = history[i].lastDownloadedFragmentDetails;
 				var fragmentBandwidth:Number = fragmentDetails.size / fragmentDetails.downloadDuration;
-
+
+				trace("fragmentBandwidth=" + fragmentBandwidth + " weight[" + i + "]=" + _weights[i]);
+
 				bandwidth += fragmentBandwidth * _weights[i];
 				weightSum += _weights[i];
 			}
@@ -105,7 +107,7 @@

 			CONFIG::LOGGING
 			{
-				logger.info("Bandwidth metric is valid and has value: " + ABRUtils.roundNumber(bandwidth) + " B/s");
+				logger.info("Bandwidth metric is valid (N=" + history.length + ") and has value: " + ABRUtils.roundNumber(bandwidth) + " B/s has weights " + weights);
 			}

 			return new MetricValue(bandwidth, true);


DocStatus."Ok" -> "Yes"

DocStatus."Ok" -> "Yes"

--- exporter/src/main/as/flump/export/Exporter.as
+++ exporter/src/main/as/flump/export/Exporter.as
@@ -416,17 +416,17 @@

     public function updateValid (newValid :Ternary) :void {
         changeField("valid", function (..._) :void {
-            if (newValid == Ternary.TRUE) valid = OK;
+            if (newValid == Ternary.TRUE) valid = YES;
             else if (newValid == Ternary.FALSE) valid = ERROR;
             else valid = PENDING;
         });
     }

-    public function get isValid () :Boolean { return valid == OK; }
+    public function get isValid () :Boolean { return valid == YES; }

     public function updateModified (newModified :Ternary) :void {
         changeField("modified", function (..._) :void {
-            if (newModified == Ternary.TRUE) modified = OK;
+            if (newModified == Ternary.TRUE) modified = YES;
             else if (newModified == Ternary.FALSE) modified = " ";
             else modified = PENDING;
         });
@@ -446,5 +446,5 @@

     protected static const PENDING :String = "...";
     protected static const ERROR :String = "ERROR";
-    protected static const OK :String = "Ok";
+    protected static const YES :String = "Yes";
 }


Reload when our export directory changes

--- exporter/src/main/as/flump/export/Exporter.as
+++ exporter/src/main/as/flump/export/Exporter.as
@@ -157,6 +157,11 @@
             _win.title = name;
         };

+        function reloadNow () :void {
+            setImport(_importChooser.dir);
+            updatePreviewAndExport();
+        }
+
         function openConf () :void {
             try {
                 _conf = FlumpConf.fromJSON(JSONFormat.readJSON(_confFile));
@@ -194,10 +199,7 @@
             }
             curSelection = newSelection;
         });
-        _win.reload.addEventListener(MouseEvent.CLICK, function (..._) :void {
-            setImport(_importChooser.dir);
-            updatePreviewAndExport();
-        });
+        _win.reload.addEventListener(MouseEvent.CLICK, F.callback(reloadNow));
         _win.export.addEventListener(MouseEvent.CLICK, function (..._) :void {
             for each (var status :DocStatus in _libraries.selectedItems) {
                 exportFlashDocument(status);
@@ -209,7 +211,7 @@
         _importChooser = new DirChooser(null, _win.importRoot, _win.browseImport);
         _importChooser.changed.add(setImport);
         _exportChooser = new DirChooser(null, _win.exportRoot, _win.browseExport);
-        _exportChooser.changed.add(updatePreviewAndExport);
+        _exportChooser.changed.add(reloadNow);

         _importChooser.changed.add(F.callback(updateWindowTitle, true));
         _exportChooser.changed.add(F.callback(updateWindowTitle, true));


If we don't open projects on launch, create a new one

--- exporter/src/main/as/flump/export/FlumpApp.as
+++ exporter/src/main/as/flump/export/FlumpApp.as
@@ -55,7 +55,8 @@
                         project.win.nativeWindow.y = pws.windowY;
                     }
                 } else {
-                    showOpenProjectDialog();
+                    // If we have no previous projects to open, create a new project
+                    newProject();
                 }
             }
         });


unnecessary

unnecessary

--- exporter/src/main/as/flump/export/FlumpApp.as
+++ exporter/src/main/as/flump/export/FlumpApp.as
@@ -95,9 +95,6 @@
             _previewControls.activate();
             _previewWindow.activate();
         }
-
-        _previewWindow.orderToFront();
-        _previewControls.orderToFront();
     }

     public function newProject () :ProjectController {


Fixes bug that caused the DescribeTypeJSON detection to throw and prevent using the injector in Flash Player < 10.1

--- src/org/swiftsuspenders/utils/ClassDescriptor.as
+++ src/org/swiftsuspenders/utils/ClassDescriptor.as
@@ -28,9 +28,16 @@
 		public function ClassDescriptor(descriptionsCache : Dictionary)
 		{
 			_descriptionsCache = descriptionsCache;
-			_reflector = DescribeTypeJSON.available
+			try
+			{
+				_reflector = DescribeTypeJSON.available
 					? new DescribeTypeJSONReflector()
 					: new DescribeTypeReflector();
+			}
+			catch (e:Error)
+			{
+				_reflector = new DescribeTypeReflector();
+			}
 		}

 		public function getDescription(type : Class) : ConstructorInjectionPoint


added 'implements INotifier' to Notifier class declaration

--- org/puremvc/as3/patterns/observer/Notifier.as
+++ org/puremvc/as3/patterns/observer/Notifier.as
@@ -32,7 +32,7 @@
 	 * @see org.puremvc.as3.patterns.command.SimpleCommand SimpleCommand
 	 * @see org.puremvc.as3.patterns.command.MacroCommand MacroCommand
 	 */
-	public class Notifier
+	public class Notifier implements INotifier
 	{
 		/**
 		 * Create and send an INotification.