Transferred from the Adobe Open Source Subversion Repository

Revision: 20083
Author:   cframpto@adobe.com
Date:     2011-02-03T01:30:21.215519Z

Log Message:
-----------
Fix vertical alignment of text in mobile TextInput, update ASdoc for StyleableTextField styles and include StyleableTextFieldStyles.as in StyleableTextField so style metadata is correct.

QE notes:
Doc notes:
Bugs: SDK-29291, SDK-27522
Reviewer: Ryan
Tests run: cyclone
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/BasicNonInheritingTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/SelectionFormatTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.as</path>

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

--- frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as
+++ frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as
@@ -10,7 +10,7 @@
 ////////////////////////////////////////////////////////////////////////////////

 /**
- *  TLF styles are not supported in the mobile theme.
+ *  This style is not supported in the mobile theme.
  *
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#alignmentBaseline
  *
@@ -22,7 +22,7 @@
 [Style(name="alignmentBaseline", type="String", enumeration="useDominantBaseline,roman,ascent,descent,ideographicTop,ideographicCenter,ideographicBottom", inherit="yes")]

 /**
- *  TLF styles are not supported in the mobile theme.
+ *  This style is not supported in the mobile theme.
  *
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#baselineShift
  *
@@ -34,7 +34,7 @@
 [Style(name="baselineShift", type="Object", inherit="yes")]

 /**
- *  TLF styles are not supported in the mobile theme.
+ *  This style is not supported in the mobile theme.
  *
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#cffHinting
  *
@@ -46,6 +46,15 @@
 [Style(name="cffHinting", type="String", enumeration="horizontalStem,none", inherit="yes")]

 /**
+ *  Color of the text.
+ *  The default value for the Spark theme is 0x000000.
+ *  The default value for the Mobile theme is 0xFFFFFF.
+ *
+ *
For the Mobile theme, this is the color of text in the component, including
+ *  the component label.

+ *
+ *
For the Spark theme:

+ *
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#color
  *
  *  @langversion 3.0
@@ -56,7 +65,7 @@
 [Style(name="color", type="uint", format="Color", inherit="yes")]

 /**
- *  TLF styles are not supported in the mobile theme.
+ *  This style is not supported in the mobile theme.
  *
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#digitCase
  *
@@ -68,7 +77,7 @@
 [Style(name="digitCase", type="String", enumeration="default,lining,oldStyle", inherit="yes")]

 /**
- *  TLF styles are not supported in the mobile theme.
+ *  This style is not supported in the mobile theme.
  *
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#digitWidth
  *
@@ -80,7 +89,7 @@
 [Style(name="digitWidth", type="String", enumeration="default,proportional,tabular", inherit="yes")]

 /**
- *  TLF styles are not supported in the mobile theme.
+ *  This style is not supported in the mobile theme.
  *
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#direction
  *
@@ -92,7 +101,7 @@
 [Style(name="direction", type="String", enumeration="ltr,rtl", inherit="yes")]

 /**
- *  TLF styles are not supported in the mobile theme.
+ *  This style is not supported in the mobile theme.
  *
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#dominantBaseline
  *
@@ -114,7 +123,7 @@
 [Style(name="fontFamily", type="String", inherit="yes")]

 /**
- *  TLF styles are not supported in the mobile theme.
+ *  This style is not supported in the mobile theme.
  *
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#fontLookup
  *
@@ -126,6 +135,14 @@
 [Style(name="fontLookup", type="String", enumeration="auto,device,embeddedCFF", inherit="yes")]

 /**
+ *  Height of the text, in pixels.
+ *  In the Spark theme, the default value is
+ *  12 for all controls except the ColorPicker control. For the Spark
+ *  themed ColorPicker control, the default value is 11.
+ *  The default value for the Mobile theme is 24.
+ *
+ *
For the Spark theme:

+ *
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#fontSize
  *
  *  @langversion 3.0
@@ -136,6 +153,13 @@
 [Style(name="fontSize", type="Number", format="Length", inherit="yes", minValue="1.0", maxValue="720.0")]

 /**
+ *  Determines whether the text is italic font.
+ *
+ *
For the Mobile theme recognized values are "normal" and
+ *  "italic".

+ *
+ *
For the Spark theme:

+ *
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#fontStyle
  *
  *  @langversion 3.0
@@ -146,6 +170,16 @@
 [Style(name="fontStyle", type="String", enumeration="normal,italic", inherit="yes")]

 /**
+ *  Determines whether the text is boldface.
+ *
+ *
For the Mobile theme:

+ *
+ *
Recognized values are normal and bold.
+ *  The default value for Button controls is bold.
+ *  The default value for all other controls is normal.

+ *
+ *
For the Spark theme:

+ *
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#fontWeight
  *
  *  @langversion 3.0
@@ -156,7 +190,7 @@
 [Style(name="fontWeight", type="String", enumeration="normal,bold", inherit="yes")]

 /**
- *  TLF styles are not supported in the mobile theme.
+ *  This style is not supported in the mobile theme.
  *
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#justificationRule
  *
@@ -168,7 +202,7 @@
 [Style(name="justificationRule", type="String", enumeration="auto,space,eastAsian", inherit="yes")]

 /**
- *  TLF styles are not supported in the mobile theme.
+ *  This style is not supported in the mobile theme.
  *
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#justificationStyle
  *
@@ -180,12 +214,12 @@
 [Style(name="justificationStyle", type="String", enumeration="auto,prioritizeLeastAdjustment,pushInKinsoku,pushOutOnly", inherit="yes")]

 /**
+ *  This style is not supported in the mobile theme.
+ *
  *
Kerning is enabled by default for Spark components, but is disabled by default for MX components.
  *  Spark components interpret default as auto,
  *  while MX components interpret default as false.

  *
- *  TLF styles are not supported in the mobile theme.
- *
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#kerning
  *
  *  @langversion 3.0
@@ -194,168 +228,11 @@
  *  @productversion Flex 4
  */
 [Style(name="kerning", type="String", enumeration="auto,on,off", inherit="yes")]
-
-/**
- *  TLF styles are not supported in the mobile theme.
- *
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#ligatureLevel
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="ligatureLevel", type="String", enumeration="common,minimum,uncommon,exotic", inherit="yes")]
-
-/**
- *  TLF styles are not supported in the mobile theme.
- *
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#lineHeight
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="lineHeight", type="Object", inherit="yes")]
-
-/**
- *  TLF styles are not supported in the mobile theme.
- *
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#lineThrough
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="lineThrough", type="Boolean", inherit="yes")]
-
-/**
- * The locale of the text. Controls case transformations and shaping. Uses standard locale identifiers as described in Unicode Technical Standard #35. For example "en", "en_US" and "en-US" are all English, "ja" is Japanese.
- *
- *
The default value is undefined. This property inherits its value from an ancestor; if still undefined, it inherits from the global locale style.
- * During the application initialization, if the global locale style is undefined, then the default value is set to "en".

- *
- *
When using the Spark formatters and globalization classes, you can set this style on the root application to the value of the LocaleID.DEFAULT constant.
- * Those classes will then use the client operating system's international preferences.

- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="locale", type="String", inherit="yes")]
-
-/**
- *  TLF styles are not supported in the mobile theme.
- *
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#renderingMode
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="renderingMode", type="String", enumeration="cff,normal", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#textAlign
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="textAlign", type="String", enumeration="start,end,left,right,center,justify", inherit="yes")]
-
-/**
- *  TLF styles are not supported in the mobile theme.
- *
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#textAlignLast
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="textAlignLast", type="String", enumeration="start,end,left,right,center,justify", inherit="yes")]
-
-/**
- *  TLF styles are not supported in the mobile theme.
- *
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#textAlpha
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="textAlpha", type="Number", inherit="yes", minValue="0.0", maxValue="1.0")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#textDecoration
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="textDecoration", type="String", enumeration="none,underline", inherit="yes")]
-
-/**
- *  TLF styles are not supported in the mobile theme.
- *
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#textJustify
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="textJustify", type="String", enumeration="interWord,distribute", inherit="yes")]
-
-/**
- *  TLF styles are not supported in the mobile theme.
- *
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#trackingLeft
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="trackingLeft", type="Object", inherit="yes")]
-
-/**
- *  TLF styles are not supported in the mobile theme.
- *
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#trackingRight
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="trackingRight", type="Object", inherit="yes")]
-
-/**
- *  TLF styles are not supported in the mobile theme.
- *
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#typographicCase
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="typographicCase", type="String", enumeration="default,capsToSmallCaps,uppercase,lowercase,lowercaseToSmallCaps", inherit="yes")]
-

 /**
  *  Additional vertical space between lines of text.
  *
- *
The default value is 2.

+ *
The default value is 0.

  *
  *  @langversion 3.0
  *  @playerversion Flash 10.1
@@ -377,3 +254,184 @@
  *  @productversion Flex 4.5
  */
 [Style(name="letterSpacing", type="Number", inherit="yes", theme="mobile")]
+
+/**
+ *  @copy flashx.textLayout.formats.ITextLayoutFormat#ligatureLevel
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="ligatureLevel", type="String", enumeration="common,minimum,uncommon,exotic", inherit="yes")]
+
+/**
+ *  This style is not supported in the mobile theme.
+ *
+ *  @copy flashx.textLayout.formats.ITextLayoutFormat#lineHeight
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="lineHeight", type="Object", inherit="yes")]
+
+/**
+ *  This style is not supported in the mobile theme.
+ *
+ *  @copy flashx.textLayout.formats.ITextLayoutFormat#lineThrough
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="lineThrough", type="Boolean", inherit="yes")]
+
+/**
+ * The locale of the text. Controls case transformations and shaping. Uses standard locale identifiers as described in Unicode Technical Standard #35. For example "en", "en_US" and "en-US" are all English, "ja" is Japanese.
+ *
+ *
The default value is undefined. This property inherits its value from an ancestor; if still undefined, it inherits from the global locale style.
+ * During the application initialization, if the global locale style is undefined, then the default value is set to "en".

+ *
+ *
When using the Spark formatters and globalization classes, you can set this style on the root application to the value of the LocaleID.DEFAULT constant.
+ * Those classes will then use the client operating system's international preferences.

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="locale", type="String", inherit="yes")]
+
+/**
+ *  This style is not supported in the mobile theme.
+ *
+ *  @copy flashx.textLayout.formats.ITextLayoutFormat#renderingMode
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="renderingMode", type="String", enumeration="cff,normal", inherit="yes")]
+
+/**
+ *  Alignment of text within a container.
+ *
+ *
For the Mobile theme:

+ *
+ *
Possible values are "left", "right",
+ *  or "center".

+ *
+ *
The default value for most components is "left".
+ *  For the FormItem component,
+ *  the default value is "right".
+ *  For the Button, LinkButton, and AccordionHeader components,
+ *  the default value is "center", and
+ *  this property is only recognized when the
+ *  labelPlacement property is set to "left" or
+ *  "right".
+ *  If labelPlacement is set to "top" or
+ *  "bottom", the text and any icon are centered.

+ *
+ *
For the Spark theme:

+ *
+ *  @copy flashx.textLayout.formats.ITextLayoutFormat#textAlign
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="textAlign", type="String", enumeration="start,end,left,right,center,justify", inherit="yes")]
+
+/**
+ *  This style is not supported in the mobile theme.
+ *
+ *  @copy flashx.textLayout.formats.ITextLayoutFormat#textAlignLast
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="textAlignLast", type="String", enumeration="start,end,left,right,center,justify", inherit="yes")]
+
+/**
+ *  This style is not supported in the mobile theme.
+ *
+ *  @copy flashx.textLayout.formats.ITextLayoutFormat#textAlpha
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="textAlpha", type="Number", inherit="yes", minValue="0.0", maxValue="1.0")]
+
+/**
+ *  Determines whether the text is underlined.
+ *
+ *
For the Mobile theme possible values are "none" and
+ *  "underline".  The default is "none".

+ *
+ *
For the Spark theme:

+ *
+ *  @copy flashx.textLayout.formats.ITextLayoutFormat#textDecoration
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="textDecoration", type="String", enumeration="none,underline", inherit="yes")]
+
+/**
+ *  This style is not supported in the mobile theme.
+ *
+ *  @copy flashx.textLayout.formats.ITextLayoutFormat#textJustify
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="textJustify", type="String", enumeration="interWord,distribute", inherit="yes")]
+
+/**
+ *  This style is not supported in the mobile theme.
+ *
+ *  @copy flashx.textLayout.formats.ITextLayoutFormat#trackingLeft
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="trackingLeft", type="Object", inherit="yes")]
+
+/**
+ *  This style is not supported in the mobile theme.
+ *
+ *  @copy flashx.textLayout.formats.ITextLayoutFormat#trackingRight
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="trackingRight", type="Object", inherit="yes")]
+
+/**
+ *  This style is not supported in the mobile theme.
+ *
+ *  @copy flashx.textLayout.formats.ITextLayoutFormat#typographicCase
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="typographicCase", type="String", enumeration="default,capsToSmallCaps,uppercase,lowercase,lowercaseToSmallCaps", inherit="yes")]


避免使用 construct 属性

避免使用 construct 属性

--- as3/com/netease/protobuf/messageToString.as
+++ as3/com/netease/protobuf/messageToString.as
@@ -28,14 +28,14 @@
 		return s
 	}
 }
-
+import com.netease.protobuf.*
 function fieldToString(message:Object, descriptor:XML, name:String):String {
 	var hasField:String = "has" + name.charAt(0).toUpperCase() + name.substr(1)
 	if (descriptor.accessor.(@name == hasField).length() != 0 && !message[hasField]) {
 		return ""
 	}
 	var field:* = message[name]
-	if (field != null && field.constructor == Array && field.length == 0) {
+	if (field != null && !(field is Message || field is ExtensibleMessage) && field is Array && field.length == 0) {
 		return ""
 	}
 	return name + "=" + field + ";\n"


TURN_HOLDER_REPLACED was already moved to TurnGameController in
because constant values cannot be defined in an interface in actionscript.

git-svn-id: a3e1eb16dde062992de22c830ed8045c8013209a@43 c613c5cb-e716-0410-b11b-feb51c14d237

--- src/as/com/threerings/parlor/turn/data/TurnGameObject.as
+++ src/as/com/threerings/parlor/turn/data/TurnGameObject.as
@@ -33,12 +33,6 @@
  */
 public interface TurnGameObject
 {
-    /** A special value used to communicate to the client that the current
-     * turn holder was replaced (perhaps due to disconnection or departure
-     * and being replaced by an AI). */
-//    public static final Name TURN_HOLDER_REPLACED =
-//        new Name("__TURN_HOLDER_REPLACED__");
-
     /**
      * Returns the distributed object field name of the
      * turnHolder field in the object that implements this


Added constants for all known OUYA/Playstation 3 controls

--- com/zehfernando/input/binding/GamepadControls.as
+++ com/zehfernando/input/binding/GamepadControls.as
@@ -6,14 +6,181 @@

 		// List of typical controls

-		public static const OUYA_DPAD_LEFT:String = "BUTTON_21";
-		public static const OUYA_DPAD_RIGHT:String = "BUTTON_22";
-		public static const OUYA_DPAD_UP:String = "BUTTON_19";
-		public static const OUYA_DPAD_DOWN:String = "BUTTON_20";
-		public static const OUYA_L2:String = "BUTTON_104";
-		public static const OUYA_L2_GRANULAR:String = "AXIS_17";
-		public static const OUYA_STICK_LEFT_HORIZONTAL:String = "AXIS_0";
-		public static const OUYA_O:String = "BUTTON_96";
-		public static const OUYA_U:String = "BUTTON_99";
+		/* Directional pad LEFT
+		 *
Style: digital

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const DPAD_LEFT:String = "BUTTON_21";
+
+		/* Directional pad RIGHT
+		 *
Style: digital

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const DPAD_RIGHT:String = "BUTTON_22";
+
+		/* Directional pad UP
+		 *
Style: digital

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const DPAD_UP:String = "BUTTON_19";
+
+		/* Directional pad DOWN
+		 *
Style: digital

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const DPAD_DOWN:String = "BUTTON_20";
+
+		/* Directional pad LEFT
+		 *
Style: pressure-sensitive/analog

+		 *
Works in: Playstation DS3

+		 */
+		public static const DPAD_LEFT_SENSITIVE:String = "BUTTON_39"; // TODO: this wasn't working. Must test.
+
+		/* Directional pad RIGHT
+		 *
Style: pressure-sensitive/analog

+		 *
Works in: Playstation DS3

+		 */
+		public static const DPAD_RIGHT_SENSITIVE:String = "BUTTON_37";
+
+		/* Directional pad UP
+		 *
Style: pressure-sensitive/analog

+		 *
Works in: Playstation DS3

+		 */
+		public static const DPAD_UP_SENSITIVE:String = "BUTTON_36";
+
+		/* Directional pad DOWN
+		 *
Style: pressure-sensitive/analog

+		 *
Works in: Playstation DS3

+		 */
+		public static const DPAD_DOWN_SENSITIVE:String = "BUTTON_38";
+
+		/* Shoulder button, upper left (LEFT 1)
+		 *
Style: digital

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const L1:String = "BUTTON_102";
+
+		/* Shoulder button, upper right (RIGHT 1)
+		 *
Style: digital

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const R1:String = "BUTTON_103";
+
+		/* Shoulder button, lower left (LEFT 2)
+		 *
Style: digital

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const L2:String = "BUTTON_104";
+
+		/* Should button, lower right (RIGHT 2)
+		 *
Style: digital

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const R2:String = "BUTTON_105";
+
+		/* Left stick press (LEFT 3)
+		 *
Style: digital

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const L3:String = "BUTTON_106";
+
+		/* Right stick press (RIGHT 3)
+		 *
Style: digital

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const R3:String = "BUTTON_107";
+
+		/* Shoulder button, lower left (LEFT 2)
+		 *
Style: pressure-sensitive/analog

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const L2_SENSITIVE:String = "AXIS_17";
+
+		/* Shoulder button, lower right (RIGHT 2)
+		 *
Style: pressure-sensitive/analog

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const R2_SENSITIVE:String = "AXIS_18";
+
+		/* Left analog stick, horizontal (X) axis
+		 *
Style: pressure-sensitive/analog

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const STICK_LEFT_X:String = "AXIS_0";
+
+		/* Left analog stick, vertical (Y) axis
+		 *
Style: pressure-sensitive/analog

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const STICK_LEFT_Y:String = "AXIS_1";
+
+		/* Right analog stick, horizontal (X) axis
+		 *
Style: pressure-sensitive/analog

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const STICK_RIGHT_X:String = "AXIS_11";
+
+		/* Right analog stick, vertical (Y) axis
+		 *
Style: pressure-sensitive/analog

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const STICK_RIGHT_Y:String = "AXIS_14";
+
+		/* Action button, down (O in the OUYA, cross in the Playstation)
+		 *
Style: digital

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const BUTTON_ACTION_DOWN:String = "BUTTON_96";
+
+		/* Action button, right (A in the OUYA, circle in the Playstation)
+		 *
Style: digital

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const BUTTON_ACTION_RIGHT:String = "BUTTON_97";
+
+		/* Action button, up (Y in the OUYA, triangle in the Playstation)
+		 *
Style: digital

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const BUTTON_ACTION_UP:String = "BUTTON_99";
+
+		/* Action button, left (U in the OUYA, square in the Playstation)
+		 *
Style: digital

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const BUTTON_ACTION_LEFT:String = "BUTTON_100";
+
+		/* Start button
+		 *
Style: digital

+		 *
Works in: Playstation DS3

+		 */
+		public static const START:String = "BUTTON_108";
+
+		// Unknowns
+
+		/* Unknown control; declared by the GameInput API, but never used
+		 *
Style: ?

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const BUTTON_UNKNOWN_BUTTON_32:String = "BUTTON_32";
+
+		/* Unknown control; declared by the GameInput API, but never used
+		 *
Style: ?

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const BUTTON_UNKNOWN_BUTTON_33:String = "BUTTON_33";
+
+		/* Unknown control; declared by the GameInput API, but never used
+		 *
Style: ?

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const BUTTON_UNKNOWN_BUTTON_34:String = "BUTTON_34";
+
+		/* Unknown control; declared by the GameInput API, but never used
+		 *
Style: ?

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const BUTTON_UNKNOWN_BUTTON_35:String = "BUTTON_35";
+
 	}
 }


Fix for the write network functionality  of the SBGNMLConverter class.

--- src/org/cytoscapeweb/model/converters/SBGNMLConverter.as
+++ src/org/cytoscapeweb/model/converters/SBGNMLConverter.as
@@ -32,9 +32,9 @@
 		public static const SBGNML_HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>"+
 			"<sbgn xmlns=\"http://sbgn.org/libsbgn/pd/0.1\">";
 		// Top level SBGN elements
-		public static const SBGNML:String    = "sbgn";
-		protected static const ARC:String    	 = "arc";
-		protected static const MAP:String    	 = "map";
+		public static const SBGNML:String   			 = "sbgn";
+		protected static const ARC:String    	 		 = "arc";
+		protected static const MAP:String    	 		 = "<map language=\"process description\"/>";

 		//Glyph attributes
 		protected static const GLYPH_ID:String = ID;
@@ -95,7 +95,8 @@
 		protected static const ATTRTYPE:String   = "attr.type";
 		protected static const DEFAULT:String    = "default";

-		protected static var sbgnml:XML;
+		protected static var glyphToXML:Object;
+		protected static var arcToXML:Object;

 		// map for reaching the owners of compartments from the port id.
 		protected var portIDtoOwnerGlyph:Object ={};
@@ -107,11 +108,51 @@
 		/** @inheritDoc */
 		public function write(ds:DataSet, output:IDataOutput=null):IDataOutput
 		{
+			var sbgnml:XML = new XML(<sbgn/>);
+			var map:XML = new XML(MAP);
+
 			if (output == null) output = new ByteArray();
 			sbgnml.setNamespace(new Namespace(SBGN_NAMESPACE));
+
+			//Write back glyphs
+			for each (var sprite:CompoundNodeSprite in (ds.nodes as GraphicsDataTable).dataSprites)
+			{
+				map.appendChild((writeGlyph(new XML(), sprite)));
+			}
+
+			//Write back arcs
+			for each (var edgeSprite:EdgeSprite in (ds.edges as GraphicsDataTable).dataSprites)
+			{
+				map.appendChild(arcToXML[edgeSprite.data.id]);
+			}
+
+			sbgnml.appendChild(map);
+
 			output.writeUTFBytes(sbgnml.toXMLString());
-
 			return output;
+		}
+
+		protected function writeGlyph(glyph:XML, cns:CompoundNodeSprite): XML
+		{
+			var tempXML:XML = glyphToXML[cns.data.id];
+			var bboxList:XMLList = tempXML.elements("bbox");
+
+			for each (var bbox:XML in bboxList)
+			{
+				var glyphBbox:Rectangle = cns.data.glyph_bbox;
+
+				bbox.@["x"] = cns.x - glyphBbox.width/2;
+				bbox.@["y"] = cns.y - glyphBbox.height/2;
+			}
+
+			glyph = tempXML;
+
+			for each (var childSprite:CompoundNodeSprite in cns.getNodes())
+			{
+				writeGlyph(glyph, childSprite);
+			}
+
+			return tempXML;
 		}

 		/**
@@ -121,8 +162,9 @@
 		 */
 		public function parse(sbgnML:XML):DataSet
 		{
-			sbgnml = sbgnML;
-
+			// Initialize lookup objects
+			glyphToXML = {};
+			arcToXML = {}
 			var lookup:Object = {};

 			var glyphSprites:Array = new Array();
@@ -136,8 +178,9 @@
 			var glyphSchema:DataSchema = initGlyphSchema();
 			var arcSchema:DataSchema = initArcSchema();

-			var glyphs:XMLList = sbgnml.elements("map")..glyph;
-			var arcs:XMLList = sbgnml.elements("map").elements("arc");
+			var glyphs:XMLList = sbgnML.elements("map")..glyph;
+			var arcs:XMLList = sbgnML.elements("map").elements("arc");
+

 			//parse glyphs
 			for each (var glyph:XML in glyphs)
@@ -168,6 +211,7 @@
 				}

 				lookup[cns.data.id] = cns;
+				glyphToXML[cns.data.id] = glyph;
 			}

 			// Add Child glyphs
@@ -221,11 +265,11 @@
 			//parse arcs
 			for each (var arc:XML in arcs)
 			{
-				e = parseArcData(arc,arcSchema);
+				e = parseArcData(arc,arcSchema);
 				arcSprites.push(e);
-			}
-
-
+				arcToXML[e[ID]] = arc;
+			}
+
 			return new DataSet(
 				new DataTable(glyphSprites,glyphSchema),
 				new DataTable(arcSprites,arcSchema)
@@ -288,7 +332,6 @@

 						if(portIDtoOwnerGlyph[tmpStr] != null)
 							n[ARC_TARGET] = portIDtoOwnerGlyph[tmpStr];
-						trace("TARGET "+n[ARC_TARGET]);

 					}
 					else if (attr.name() == "source")
@@ -299,7 +342,6 @@

 						if(portIDtoOwnerGlyph[tmpStr] != null)
 							n[ARC_SOURCE] = portIDtoOwnerGlyph[tmpStr];
-						trace("SOURCE "+n[ARC_SOURCE]);
 					}
 					else if (attr.name() == CLASS)
 					{
@@ -340,6 +382,9 @@
 						n[ARC_END_Y] = DataUtil.parseValue(attr.toString(), field.type);
 					}
 				}
+
+				// set arc id
+				n[ID] = n[ARC_SOURCE] + "to" + n[ARC_TARGET];

 			}


These are breaking asdoc.

These are breaking asdoc.

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

--- src/as/com/threerings/util/ImmutableProxyObject.as
+++ src/as/com/threerings/util/ImmutableProxyObject.as
@@ -19,25 +19,25 @@
         _throwErrors = throwErrors;
     }

-    public function hasOwnProperty (name :String) :Boolean
-    {
-        return _source.hasOwnProperty(name);
-    }
-
-    public function isPrototypeOf (theClass :Object) :Boolean
-    {
-        return _source.isPrototypeOf(theClass);
-    }
-
-    public function propertyIsEnumerable (name :String) :Boolean
-    {
-        return _source.propertyIsEnumerable(name);
-    }
-
-    public function setPropertyIsEnumerable (name :String, isEnum :Boolean = true) :void
-    {
-        immutable();
-    }
+//    public function hasOwnProperty (name :String) :Boolean
+//    {
+//        return _source.hasOwnProperty(name);
+//    }
+//
+//    public function isPrototypeOf (theClass :Object) :Boolean
+//    {
+//        return _source.isPrototypeOf(theClass);
+//    }
+//
+//    public function propertyIsEnumerable (name :String) :Boolean
+//    {
+//        return _source.propertyIsEnumerable(name);
+//    }
+//
+//    public function setPropertyIsEnumerable (name :String, isEnum :Boolean = true) :void
+//    {
+//        immutable();
+//    }

     public function toString () :String
     {


Centred Image

Centred Image

--- src/com/merlinds/miracle_tool/viewer/ViewerView.as
+++ src/com/merlinds/miracle_tool/viewer/ViewerView.as
@@ -5,6 +5,7 @@
  */
 package com.merlinds.miracle_tool.viewer {
 	import com.merlinds.miracle.Miracle;
+	import com.merlinds.miracle.display.MiracleImage;
 	import com.merlinds.miracle.utils.Asset;
 	import com.merlinds.miracle_tool.models.AppModel;

@@ -66,10 +67,17 @@
 			var asset:Asset = new Asset(_model.viewerInput.name, byteArray);
 			var name:String = asset.name;
 			Miracle.createScene(new <Asset>[asset], 1);
-			for(var i:int = 0; i < 100; i++){
-				Miracle.currentScene.createImage(name).moveTO(50 * i, 400);
-			}
+			Miracle.currentScene.createImage(name)
+					.addEventListener(Event.ADDED_TO_STAGE, this.imageAddedToStage);
 			Miracle.resume();
+		}
+
+		private function imageAddedToStage(event:Event):void {
+			var target:MiracleImage = event.target as MiracleImage;
+			target.moveTO(
+					this.stage.stageWidth - target.width >> 1,
+					this.stage.stageHeight - target.height >> 1
+			);
 		}
 		//} endregion EVENTS HANDLERS ==================================================


Transferred from the Adobe Open Source Subversion Repository

Revision: 6127
Author:   aharui@adobe.com
Date:     2009-04-10T15:24:44.711126Z

Log Message:
-----------
EmbeddedFonts in Modules for TLF.

Requires build 411 of TLF (to be checked in next)

QE Notes: None
Doc Notes: Yes.  New API on DownloadProgressBar
Bugs:
Reviewer: gordon
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/utilities/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/haloclassic/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText2.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/BasicTextLayoutFormatStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText.as</path>

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

--- frameworks/projects/framework/src/mx/core/FlexModuleFactory.as
+++ frameworks/projects/framework/src/mx/core/FlexModuleFactory.as
@@ -21,8 +21,11 @@
 import flash.system.ApplicationDomain;
 import flash.text.TextField;
 import flash.text.TextFieldAutoSize;
+import flash.text.engine.TextBlock;
+import flash.text.engine.TextLine;
 import flash.utils.Timer;
 import flash.utils.getDefinitionByName;
+import flashx.textLayout.elements.ITextLineCreator;
 import mx.core.RSLItem;
 import mx.core.RSLListLoader;
 import mx.events.ModuleEvent;
@@ -34,7 +37,7 @@
 /**
  *  @private
  */
-public class FlexModuleFactory extends MovieClip implements IFlexModuleFactory
+public class FlexModuleFactory extends MovieClip implements IFlexModuleFactory, ITextLineCreator
 {
 	include "../core/Version.as";

@@ -207,6 +210,22 @@
 	//  Methods
 	//
 	//--------------------------------------------------------------------------
+
+  	/**
+	 *  Implementation of ITextLineCreator.createTextLine
+   	 */
+    public function createTextLine(textBlock:TextBlock, previousLine:TextLine=null, width:Number=1000000, lineOffset:Number=0.0, fitSomething:Boolean=false):TextLine
+    {
+	    return textBlock.createTextLine(previousLine, width, lineOffset, fitSomething);
+    }
+
+  	/**
+	 *  Implementation of ITextLineCreator.recreateTextLine
+   	 */
+    public function recreateTextLine(textBlock:TextBlock, textLine:TextLine, previousLine:TextLine=null, width:Number=1000000, lineOffset:Number=0.0, fitSomething:Boolean=false):TextLine
+    {
+	    return textBlock["recreateTextLine"] ? textBlock["recreateTextLine"](textLine, previousLine, width, lineOffset, fitSomething) : null;
+    }

   	/**
    	 *  @private


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

--- frameworks/projects/mx/src/mx/accessibility/ListBaseAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/ListBaseAccImpl.as
@@ -0,0 +1,521 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.accessibility
+{
+
+import flash.accessibility.Accessibility;
+import flash.events.Event;
+import mx.collections.CursorBookmark;
+import mx.collections.IViewCursor;
+import mx.controls.listClasses.IListItemRenderer;
+import mx.controls.listClasses.ListBase;
+import mx.core.UIComponent;
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+/**
+ *  The ListBaseAccImpl class is the accessibility class
+ *  for ListBase.
+ *  Since List inherits from ListBase,
+ *  this class is used in ListAccImpl as well.
+ *
+ *  @helpid 3009
+ *  @tiptext This is the ListBase Accessibility Class.
+ *  @review
+ */
+public class ListBaseAccImpl extends AccImpl
+{
+    include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class initialization
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Static variable triggering the hookAccessibility() method.
+	 *  This is used for initializing ListBaseAccImpl class to hook its
+	 *  createAccessibilityImplementation() method to ListBase class
+	 *  before it gets called from UIComponent.
+	 */
+	private static var accessibilityHooked:Boolean = hookAccessibility();
+
+	/**
+	 *  @private
+	 *  Static method for swapping the createAccessibilityImplementation()
+	 *  method of ListBase with the ListBaseAccImpl class.
+	 */
+	private static function hookAccessibility():Boolean
+	{
+		ListBase.createAccessibilityImplementation =
+			createAccessibilityImplementation;
+
+		return true;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Role of listItem.
+	 */
+	private static const ROLE_SYSTEM_LISTITEM:uint = 0x22;
+
+	/**
+	 *  @private
+	 */
+	private static const STATE_SYSTEM_FOCUSED:uint = 0x00000004;
+
+	/**
+	 *  @private
+	 */
+	private static const STATE_SYSTEM_INVISIBLE:uint = 0x00008000;
+
+	/**
+	 *  @private
+	 */
+	private static const STATE_SYSTEM_OFFSCREEN:uint = 0x00010000;
+
+	/**
+	 *  @private
+	 */
+	private static const STATE_SYSTEM_SELECTABLE:uint = 0x00200000;
+
+	/**
+	 *  @private
+	 */
+	private static const STATE_SYSTEM_SELECTED:uint = 0x00000002;
+
+	/**
+	 *  @private
+	 *  Event emitted if 1 item is selected.
+	 */
+	private static const EVENT_OBJECT_FOCUS:uint = 0x8005;
+
+	/**
+	 *  @private
+	 *  Event emitted if 1 item is selected.
+	 */
+	private static const EVENT_OBJECT_SELECTION:uint = 0x8006;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Method for creating the Accessibility class.
+	 *  This method is called from UIComponent.
+	 *  @review
+	 */
+	mx_internal static function createAccessibilityImplementation(
+								component:UIComponent):void
+	{
+		component.accessibilityImplementation =
+			new ListBaseAccImpl(component);
+	}
+
+	/**
+	 *  Method call for enabling accessibility for a component.
+	 *  This method is required for the compiler to activate
+	 *  the accessibility classes for a component.
+	 */
+	public static function enableAccessibility():void
+	{
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param master The UIComponent instance that this AccImpl instance
+	 *  is making accessible.
+	 */
+	public function ListBaseAccImpl(master:UIComponent)
+	{
+		super(master);
+
+		role = 0x21;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden properties: AccImpl
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  eventsToHandle
+	//----------------------------------
+
+	/**
+	 *  @private
+	 *	Array of events that we should listen for from the master component.
+	 */
+	override protected function get eventsToHandle():Array
+	{
+		return super.eventsToHandle.concat([ "change" ]);
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: AccessibilityImplementation
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Gets the role for the component.
+	 *
+	 *  @param childID children of the component
+	 */
+	override public function get_accRole(childID:uint):uint
+	{
+		if (childID == 0)
+			return role;
+
+		return ROLE_SYSTEM_LISTITEM;
+	}
+
+	/**
+	 *  @private
+	 *  IAccessible method for returning the value of the ListItem/ListBox
+	 *  which is spoken out by the screen reader
+	 *  The listBox should return the name of the currently selected item
+	 *  with m of n string as value when focus moves to list box.
+	 *
+	 *  @param childID uint
+	 *
+	 *  @return Value String
+	 *  @review
+	 */
+	override public function get_accValue(childID:uint):String
+	{
+		var accValue:String;
+
+		var listBase:ListBase = ListBase(master);
+
+		var index:int = listBase.selectedIndex;
+		if (childID == 0)
+		{
+			if (index > -1)
+			{
+				var item:Object = getItemAt(index);
+
+				if (item is String)
+				{
+					accValue = item + " " + (index + 1) + " of " + listBase.dataProvider.length;
+				}
+				else
+				{
+					accValue = listBase.itemToLabel(item) + " " + (index + 1) +
+							   " of " + listBase.dataProvider.length;
+				}
+			}
+		}
+		/*
+		else
+		{
+			if (index > -1)
+			{
+				accValue = (listBase.selectedIndex + 1) + "";
+			}
+		}
+		*/
+
+		return accValue;
+	}
+
+	/**
+	 *  @private
+	 *  IAccessible method for returning the state of the ListItem.
+	 *  States are predefined for all the components in MSAA.
+	 *  Values are assigned to each state.
+	 *  Depending upon the listItem being Selected, Selectable,
+	 *  Invisible, Offscreen, a value is returned.
+	 *
+	 *  @param childID uint
+	 *
+	 *  @return State uint
+	 */
+	override public function get_accState(childID:uint):uint
+	{
+		var accState:uint = getState(childID);
+
+		if (childID > 0)
+		{
+			var listBase:ListBase = ListBase(master);
+
+			var index:uint = childID - 1;
+
+			// For returning states (OffScreen and Invisible)
+			// when the list Item is not in the displayed rows.
+			if (index < listBase.verticalScrollPosition ||
+				index >= listBase.verticalScrollPosition + listBase.rowCount)
+			{
+				accState |= (STATE_SYSTEM_OFFSCREEN |
+							 STATE_SYSTEM_INVISIBLE);
+			}
+			else
+			{
+				accState |= STATE_SYSTEM_SELECTABLE;
+
+				var item:Object = getItemAt(index);
+
+				var renderer:IListItemRenderer =
+					listBase.itemToItemRenderer(item);
+
+				if (renderer != null && listBase.isItemSelected(renderer.data))
+					accState |= STATE_SYSTEM_SELECTED | STATE_SYSTEM_FOCUSED;
+			}
+		}
+
+		return accState;
+	}
+
+	/**
+	 *  @private
+	 *  IAccessible method for returning the Default Action.
+	 *
+	 *  @param childID uint
+	 *
+	 *  @return DefaultAction String
+	 */
+	override public function get_accDefaultAction(childID:uint):String
+	{
+		if (childID == 0)
+			return null;
+
+		return "Double Click";
+	}
+
+	/**
+	 *  @private
+	 *  IAccessible method for executing the Default Action.
+	 *
+	 *  @param childID uint
+	 */
+	override public function accDoDefaultAction(childID:uint):void
+	{
+		if (childID > 0)
+			ListBase(master).selectedIndex = childID - 1;
+	}
+
+ 	/**
+	 *  @private
+	 *  Method to return an array of childIDs.
+	 *
+	 *  @return Array
+	 */
+	override public function getChildIDArray():Array
+	{
+		var childIDs:Array = [];
+
+		if (ListBase(master).dataProvider)
+		{
+			var n:uint = ListBase(master).dataProvider.length;
+			for (var i:int = 0; i < n; i++)
+			{
+				childIDs[i] = i + 1;
+			}
+		}
+		return childIDs;
+	}
+
+	/**
+	 *  @private
+	 *  IAccessible method for returning the bounding box of the ListItem.
+	 *
+	 *  @param childID uint
+	 *
+	 *  @return Location Object
+	 */
+	override public function accLocation(childID:uint):*
+	{
+		var listBase:ListBase = ListBase(master);
+
+		var index:uint = childID - 1;
+
+		if (index < listBase.verticalScrollPosition ||
+			index >= listBase.verticalScrollPosition + listBase.rowCount)
+		{
+			return null;
+		}
+		var item:Object = getItemAt(index);
+
+		return listBase.itemToItemRenderer(item);
+	}
+
+	/**
+	 *  @private
+	 *  IAccessible method for returning the child Selections in the List.
+	 *
+	 *  @param childID uint
+	 *
+	 *  @return focused childID.
+	 */
+	override public function get_accSelection():Array
+	{
+		var accSelection:Array = [];
+
+		var selectedIndices:Array = ListBase(master).selectedIndices;
+
+		var n:int = selectedIndices.length;
+		for (var i:int = 0; i < n; i++)
+		{
+			accSelection[i] = selectedIndices[i] + 1;
+		}
+
+		return accSelection;
+	}
+
+	/**
+	 *  @private
+	 *  IAccessible method for returning the childFocus of the List.
+	 *
+	 *  @param childID uint
+	 *
+	 *  @return focused childID.
+	 */
+	override public function get_accFocus():uint
+	{
+		var index:uint = ListBase(master).selectedIndex;
+
+		return index >= 0 ? index + 1 : 0;
+	}
+
+	/**
+	 *  @private
+	 *  IAccessible method for selecting an item.
+	 *
+	 *  @param childID uint
+	 */
+	override public function accSelect(selFlag:uint, childID:uint):void
+	{
+		var listBase:ListBase = ListBase(master);
+
+		var index:uint = childID - 1;
+
+		if (index >= 0 && index < listBase.dataProvider.length)
+			listBase.selectedIndex = index;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: AccImpl
+	//
+	//--------------------------------------------------------------------------
+
+ 	/**
+	 *  @private
+	 *  method for returning the name of the ListItem/ListBox
+	 *  which is spoken out by the screen reader.
+	 *  The ListItem should return the label as the name
+	 *  with m of n string and ListBox should return the name
+	 *  specified in the Accessibility Panel.
+	 *
+	 *  @param childID uint
+	 *
+	 *  @return Name String
+	 *  @review
+	 */
+	override protected function getName(childID:uint):String
+	{
+		if (childID == 0 || childID > 100000)
+			return "";
+
+		var listBase:ListBase = ListBase(master);
+		var item:Object = getItemAt(childID - 1);
+
+		// Assuming childID is always ItemID + 1
+		// because getChildIDArray is not always invoked.
+
+		// Sometimes item may be an object.
+		if (item is String)
+		{
+			return item + " " + childID + " of " + listBase.dataProvider.length;
+		}
+		else
+		{
+			return listBase.itemToLabel(item) + " " + childID +
+				   " of " + listBase.dataProvider.length;
+		}
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden event handlers: AccImpl
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Override the generic event handler.
+	 *  All AccImpl must implement this
+	 *  to listen for events from its master component.
+	 */
+	override protected function eventHandler(event:Event):void
+	{
+		switch (event.type)
+		{
+			case "change":
+			{
+				var index:uint = ListBase(master).selectedIndex;
+
+				if (index >= 0)
+				{
+					var childID:uint = index + 1;
+
+					Accessibility.sendEvent(master, childID,
+											EVENT_OBJECT_FOCUS);
+
+					Accessibility.sendEvent(master, childID,
+											EVENT_OBJECT_SELECTION);
+				}
+			}
+			break;
+		}
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private function getItemAt(index:int):Object
+	{
+		var iterator:IViewCursor = ListBase(master).collectionIterator;
+		iterator.seek(CursorBookmark.FIRST, index);
+		return iterator.current;
+	}
+
+}
+
+}


limited double click path selection to modify tool

--- src/controllers/MainController.as
+++ src/controllers/MainController.as
@@ -313,8 +313,11 @@

 		private function onNodeDoubleClick(e:MouseEvent):void
 		{
-			deselectAllNodes()
-			selectAllNodesOnPath(e.currentTarget as Node);
+			if (_projectModel.currentTool == ToolType.MODIFY)
+			{
+				deselectAllNodes();
+				selectAllNodesOnPath(e.currentTarget as Node);
+			}
 		}

 		private function onNodeRightMouseDown(e:MouseEvent):void


fix codin style

fix codin style

--- src/aerys/minko/render/geometry/Geometry.as
+++ src/aerys/minko/render/geometry/Geometry.as
@@ -64,12 +64,12 @@

 		private var _name			: String;

-		public function get name():String
+		public function get name() : String
 		{
 			return _name;
 		}

-		public function set name(value:String):void
+		public function set name(value : String) : void
 		{
 			_name = value;
 		}


VertexStream from ByteArray fix bug

VertexStream from ByteArray fix bug

M Multiplie the position of the bytearray by the size of the read data

--- src/aerys/minko/type/stream/VertexStream.as
+++ src/aerys/minko/type/stream/VertexStream.as
@@ -151,46 +151,54 @@
 		}

-		public static function fromByteArray(data 		: ByteArray,
+		public static function fromByteArray(bytes 		: ByteArray,
 											 count		: int,
-											 format		: VertexFormat,
-											 dynamic	: Boolean	= false,
-											 reader 	: Function 	= null) : VertexStream
-		{
-			var numFormats		: int				= format.components.length;
-			var nativeFormats	: Vector.<int>		= new Vector.<int>(numFormats, true);
-			var length			: int				= 0;
-			var tmp				: Vector.<Number>	= null;
-			var stream			: VertexStream		= new VertexStream(null, format, dynamic);
-
-			for (var k : int = 0; k < numFormats; k++)
-				nativeFormats[k] = format.components[k].nativeFormat;
-
-			if (reader == null)
-				reader = data.readFloat;
-
-			tmp = new Vector.<Number>(format.dwordsPerVertex * count, true);
-
-			for (var j : int = 0; j < count; ++j)
+											 formatIn	: VertexFormat,
+											 formatOut	: VertexFormat	= null,
+											 dynamic	: Boolean		= false,
+											 reader 	: Function 		= null,
+											 dwordSize	: uint			= 4) : VertexStream
+		{
+			formatOut ||= formatIn;
+			reader ||= bytes.readFloat;
+
+			var dataLength		: int						= 0;
+			var data			: Vector.<Number>			= null;
+			var stream			: VertexStream				= new VertexStream(null, formatOut, dynamic);
+			var start			: int						= bytes.position;
+			var componentsOut	: Vector.<VertexComponent>	= formatOut.components;
+			var numComponents	: int						= componentsOut.length;
+			var nativeFormats	: Vector.<int>				= new Vector.<int>(numComponents, true);
+
+			for (var k : int = 0; k < numComponents; k++)
+				nativeFormats[k] = componentsOut[k].nativeFormat;
+
+			data = new Vector.<Number>(formatOut.dwordsPerVertex * count, true);
+			for (var vertexId : int = 0; vertexId < count; ++vertexId)
 			{
-				for (var i : int = 0; i < numFormats; ++i)
+				for (var componentId : int = 0; componentId < numComponents; ++componentId)
 				{
-					switch (nativeFormats[i])
+					bytes.position = start + formatIn.dwordsPerVertex * vertexId * dwordSize
+									+ formatIn.getOffsetForComponent(componentsOut[componentId]) * dwordSize;
+
+					switch (nativeFormats[componentId])
 					{
 						case VertexComponentType.FLOAT_4 :
-							tmp[int(length++)] = reader();
+							data[int(dataLength++)] = reader();
 						case VertexComponentType.FLOAT_3 :
-							tmp[int(length++)] = reader();
+							data[int(dataLength++)] = reader();
 						case VertexComponentType.FLOAT_2 :
-							tmp[int(length++)] = reader();
+							data[int(dataLength++)] = reader();
 						case VertexComponentType.FLOAT_1 :
-							tmp[int(length++)] = reader();
+							data[int(dataLength++)] = reader();
 							break ;
 					}
 				}
 			}
-
-			stream._data = tmp;
+			// make sure the ByteArray position is at the end of the buffer
+			bytes.position = start + formatIn.dwordsPerVertex * count * dwordSize;
+
+			stream._data = data;
 			stream.invalidate();

 			return stream;


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

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

 package mx.accessibility
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/airframework/src/mx/managers/WindowedSystemRawChildrenList.as
+++ frameworks/projects/airframework/src/mx/managers/WindowedSystemRawChildrenList.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  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.
+//  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: 5119
Author:   smgilson@adobe.com
Date:     2009-03-01T15:19:39.936226Z

Log Message:
-----------
Clean up some ASDoc tags from the addition of the @productversion/@playerversion tags

QE Notes: None
Doc Notes: None
Bugs: -

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ToolTip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/ResultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/Operation.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/frameworks/projects/framework/src/mx/effects/EffectManager.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/messages/HTTPRequestMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CalendarLayout.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/framework/src/mx/core/UITextField.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/halo/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/NCManager.as</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/framework/src/mx/utils/Base64Encoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/validators/StringValidator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SchemaMarshaller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IInteractiveObjectInterface.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/framework/src/mx/core/ContainerRawChildrenList.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/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/FaultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDL.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/SparkSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Tween.as</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/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/HistoryManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/Schema.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/utils/HexEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDisplayObjectInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDisplayObjectContainerInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SoundEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Text.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISpriteInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/haloclassic/src/haloclassic/HaloRectBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/mxml/Operation.as</path>

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

--- frameworks/projects/mx/src/mx/controls/Button.as
+++ frameworks/projects/mx/src/mx/controls/Button.as
@@ -1042,7 +1042,7 @@
         _data = value;

         if (_listData && _listData is DataGridListData &&
-        	DataGridListData(_listData).dataField !=null)
+            DataGridListData(_listData).dataField !=null)
         {
             newSelected = _data[DataGridListData(_listData).dataField];

@@ -1633,8 +1633,8 @@
         }
         catch(e:Error)
         {
-		    bm = new EdgeMetrics(3, 3, 3, 3);
-		}
+            bm = new EdgeMetrics(3, 3, 3, 3);
+        }

         var tempCurrentIcon:IFlexDisplayObject = getCurrentIcon();
         var iconWidth:Number = tempCurrentIcon ? tempCurrentIcon.width : 0;
@@ -1709,7 +1709,7 @@
         var textWidth:Number = 0;
         var textHeight:Number = 0;

-		// trace("measure: Button " + this + " label = " + label);
+        // trace("measure: Button " + this + " label = " + label);
         if (label)
         {
             var lineMetrics:TextLineMetrics = measureText(label);
@@ -2860,16 +2860,6 @@
         mouse up while over Button -> "over" phase
         continue with step 2 of first three sequences above

-    *
-
-    *  @langversion 3.0
-
-    *  @playerversion Flash 9
-
-    *  @playerversion AIR 1.1
-
-    *  @productversion Flex 3
-
     */

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 5119
Author:   smgilson@adobe.com
Date:     2009-03-01T15:19:39.936226Z

Log Message:
-----------
Clean up some ASDoc tags from the addition of the @productversion/@playerversion tags

QE Notes: None
Doc Notes: None
Bugs: -

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ToolTip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/ResultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/Operation.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/frameworks/projects/framework/src/mx/effects/EffectManager.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/messages/HTTPRequestMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CalendarLayout.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/framework/src/mx/core/UITextField.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/halo/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/NCManager.as</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/framework/src/mx/utils/Base64Encoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/validators/StringValidator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SchemaMarshaller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IInteractiveObjectInterface.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/framework/src/mx/core/ContainerRawChildrenList.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/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/FaultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDL.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/SparkSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Tween.as</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/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/HistoryManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/Schema.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/utils/HexEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDisplayObjectInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDisplayObjectContainerInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SoundEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Text.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISpriteInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/haloclassic/src/haloclassic/HaloRectBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/mxml/Operation.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/xml/Schema.as
+++ frameworks/projects/rpc/src/mx/rpc/xml/Schema.as
@@ -200,11 +200,6 @@

         2. Also, check that the schema being added does not cause a cyclic
         relationship.
-    *
-    *  @langversion 3.0
-    *  @playerversion Flash 9
-    *  @playerversion AIR 1.1
-    *  @productversion Flex 3
     */
     public function addImport(targetNamespace:Namespace, schema:Schema):void
     {


Made puts method of printer public.

Made puts method of printer public.

--- src/as3spec/Printer.as
+++ src/as3spec/Printer.as
@@ -114,7 +114,7 @@
 		  }
 		}

-		private function puts(s : String) : void {
+		public function puts(s : String) : void {
 		  if(printTrace) trace('[as3spec] ' + s);
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 17827
Author:   chiedozi@adobe.com
Date:     2010-09-23T22:26:49.287708Z

Log Message:
-----------
Replaced the active property setter in View and ViewNavigator with an mx_internal method
TabbedViewNavigator and TabbedMobileApplication now use their creationPolicy property to determine if the top views for all their child navigators should be created or not
ViewNavigator now has a destructionPolicy property that determines whether the active view should be destroyed when the navigator is deactivated
TabbedViewNavigator now pops to the first view if the selected tab is clicked
ViewNavigator can now indicate whether it wants to save its navigation history when it is deactivated using the maintainNavigationStack property

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/core/ContainerDestructionPolicy.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedMobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as
@@ -21,6 +21,7 @@
 import spark.components.SkinnableContainer;
 import spark.components.View;
 import spark.events.DisplayLayerObjectExistenceEvent;
+import spark.core.ContainerDestructionPolicy;

 use namespace mx_internal;

@@ -119,15 +120,17 @@

     /**
      * @private
-     */
-    public function set active(value:Boolean):void
+     * Setting the active state is hidden and should be managed my
+     * the components that manage navigators.
+     */
+    mx_internal function setActive(value:Boolean):void
     {
         if (_active != value)
         {
             _active = value;

             if (activeView)
-                activeView.active = value;
+                activeView.setActive(value);

             var eventName:String = _active ? FlexEvent.NAVIGATOR_ACTIVATE :
                                              FlexEvent.NAVIGATOR_DEACTIVATE;
@@ -181,6 +184,37 @@
     public function get canCancelBackKeyBehavior():Boolean
     {
         return false;
+    }
+
+    //----------------------------------
+    //  destructionPolicy
+    //----------------------------------
+
+    private var _destructionPolicy:String = ContainerDestructionPolicy.AUTO;
+
+    /**
+     *  Sets the destructionPolicy for the navigator.  This property determines
+     *  if the contents of the navigator should be destroyed when the navigator
+     *  is deactivated by another component, such as TabbedViewNavigator.
+     *
+     *  @default auto
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function get destructionPolicy():String
+    {
+        return _destructionPolicy;
+    }
+
+    /**
+     *  @private
+     */
+    public function set destructionPolicy(value:String):void
+    {
+        _destructionPolicy = value;
     }

     //----------------------------------
@@ -458,6 +492,17 @@

     /**
      *  @private
+     *  Creates the top view of the navigator and adds it to the
+     *  display list.  This method is used when the navigator exists
+     *  inside a TabbedViewNavigator.
+     */
+    mx_internal function createTopView():void
+    {
+        // Override in sub class
+    }
+
+    /**
+     *  @private
      *
      *  @langversion 3.0
      *  @playerversion Flash 10.1


Transferred from the Adobe Open Source Subversion Repository

Revision: 17360
Author:   chiedozi@adobe.com
Date:     2010-08-18T00:07:57.520197Z

Log Message:
-----------
ViewNavigator now executes navigation operations a frame later to allow renderers to properly redraw themselves before creating a view (SDK-27068).
Refactored some of the session persistence logic out of the application classes into ViewNavigatorBase.
The label, icon and activeView properties now exist on ViewNavigatorBase

QE notes:
Doc notes:
Bugs: SDK-27068
Reviewer: Ryan
Tests run: checkintests
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedMobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/NavigationStack.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as
@@ -11,6 +11,9 @@

 package spark.components.supportClasses
 {
+import flash.utils.getDefinitionByName;
+import flash.utils.getQualifiedClassName;
+
 import mx.core.mx_internal;
 import mx.events.FlexEvent;

@@ -122,10 +125,122 @@
         {
             _active = value;

+            if (activeView)
+                activeView.active = value;
+
             var eventName:String = _active ? FlexEvent.NAVIGATOR_ACTIVATE :
                                              FlexEvent.NAVIGATOR_DEACTIVATE;
             if (hasEventListener(eventName))
                 dispatchEvent(new FlexEvent(eventName));
+        }
+    }
+
+    //----------------------------------
+    //  activeView
+    //----------------------------------
+
+    /**
+     *  The currently active view of the navigator.  Only one view can
+     *  be active at a time.
+     *
+     *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function get activeView():View
+    {
+        return null;
+    }
+
+    //----------------------------------
+    //  canCancelBackKeyBehavior
+    //----------------------------------
+    /**
+     *  This method determines if a device's default back key handler can
+     *  be canceled.  For example, by default, when the back key is pressed
+     *  on android devices, the application exits.  By returning true, that
+     *  action will be canceled and the navigator's backKeyHandler() method
+     *  is called.
+     *
+     *
This method is only called if the navigator is the main navigator
+     *  of a MobileApplication class
.
+     *
+     *  @return Flag indicating the default behavior can be canceled.  By
+     *  default, this method returns false.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    // TODO (chiedozi): PARB? exitOnBack?
+    public function get canCancelBackKeyBehavior():Boolean
+    {
+        return false;
+    }
+
+    //----------------------------------
+    //  icon
+    //----------------------------------
+
+    private var _icon:Class;
+
+    /**
+     *  Returns the icon that should be used when this navigator is represented
+     *  by a visual component.
+     *
+     *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function get icon():Class
+    {
+        return _icon;
+    }
+    /**
+     *  @private
+     */
+    public function set icon(value:Class):void
+    {
+        _icon = value;
+    }
+
+    //----------------------------------
+    //  label
+    //----------------------------------
+
+    private var _label:String;
+
+    [Bindable]
+    /**
+     *  The label to be used when this stack is represented by a visual component.
+     *
+     *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function get label():String
+    {
+        return _label;
+    }
+
+    /**
+     *  @private
+     */
+    public function set label(value:String):void
+    {
+        if (_label != value)
+        {
+            _label = value;
         }
     }

@@ -268,29 +383,6 @@
     }

     /**
-     *  This method determines if a device's default back key handler can
-     *  be canceled.  For example, by default, when the back key is pressed
-     *  on android devices, the application exits.  By returning true, that
-     *  action will be canceled and the navigator's backKeyHandler() method
-     *  is called.
-     *
-     *
This method is only called if the navigator is the main navigator
-     *  of a MobileApplication class
.
-     *
-     *  @return Flag indicating the default behavior can be canceled.  By
-     *  default, this method returns false.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.1
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    public function canCancelDefaultBackKeyBehavior():Boolean
-    {
-        return false;
-    }
-
-    /**
      *  @private
      *
      *  @langversion 3.0
@@ -309,6 +401,45 @@
     }

     /**
+     *  This method is responsible for serializing all data related to
+     *  the navigator's children into an object that can be saved
+     *  by the persistence manager.  This object will be sent to the
+     *  restoreViewData method when the navigator is reinstantiated.
+     *
+     *  @return The object that represents the navigators state
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function saveViewData():Object
+    {
+        return {label:label, iconClassName:getQualifiedClassName(icon)};
+    }
+
+    /**
+     *  This method is responsible for restoring the navigator's view
+     *  data based on the object that is passed in.
+     *
+     *  @param value The saved object that should be used to restore
+     *  the navigators state
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    // TODO (chiedozi): This is not module safe
+    public function restoreViewData(value:Object):void
+    {
+        label = value.label;
+
+        var iconClassName:String = value.iconClassName;
+        icon = (iconClassName == "null") ? null : getDefinitionByName(iconClassName) as Class;
+    }
+
+    /**
      *  This method updates various properties of the navigator when a
      *  new view is added and activated.
      *