incubator-flex-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From p...@apache.org
Subject svn commit: r1369998 [7/9] - in /incubator/flex/trunk/mustella/tests/States: ./ CurrentSyntax/ CurrentSyntax/Clear/ CurrentSyntax/Dot/ CurrentSyntax/Events/ CurrentSyntax/ExcludeFrom/ CurrentSyntax/IncludeIn/ CurrentSyntax/IncludeIn/baselines/ CurrentS...
Date Mon, 06 Aug 2012 20:42:49 GMT
Added: incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_excludeStates.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_excludeStates.mxml?rev=1369998&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_excludeStates.mxml (added)
+++ incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_excludeStates.mxml Mon Aug  6 20:42:44 2012
@@ -0,0 +1,252 @@
+<mx:Application width="800" height="600" backgroundColor="0xffffff" 
+xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark"
+xmlns:comps="comps.*" 
+xmlns:filters="flash.filters.*"
+>
+
+<fx:Script>
+<![CDATA[
+    import mx.collections.ArrayCollection;
+    import mx.core.Container;
+    import mx.core.UIComponent;
+    import mx.events.StateChangeEvent;
+
+    // No, we can't make these on creationComplete in a method.
+    // The number and the text correspond to the test state in which it's used.
+    [Bindable] private var testObject1:Object = {Number:113,String:"one hundred thirteen"};
+    [Bindable] private var testObject2:Object = {Number:114,String:"one hundred fourteen"};
+    [Bindable] private var testObject3:Object = {Number:115,String:"one hundred fifteen"};
+    [Bindable] private var testObject4:Object = {Number:116,String:"one hundred sixteen"};
+    [Bindable] private var testObject5:Object = {Number:117,String:"one hundred seventeen"};
+
+    // These are for testing data binding of a property.
+    [Bindable] public var dc21Year:int = 2013;
+    [Bindable] public var dc22YearA:int = 2015;
+    [Bindable] public var dc22YearB:int = 2017;
+    [Bindable] public var dc23Year:int = 2019;
+
+    // These are for testing the data binding of a style.
+    [Bindable] public var blueShade:uint = 0x0000ff;
+    [Bindable] public var blueShade2:uint = 0x0000ff;
+    [Bindable] public var blueShade3:uint = 0x0000ff;
+    [Bindable] public var redShade:uint = 0xff0000;
+    [Bindable] public var redShade2:uint = 0xff0000;
+    [Bindable] public var redShade3:uint = 0xff0000;
+        
+    // Create some test items of type "Object" for testing.
+    // Any test case could start out in any state, depending on how the
+    // previous test failed.  Therefore, we cannot switch to a state and
+    // then wait, since we may already be in that state.
+    public function doManualReset():void{
+        if(currentState == "defaultState"){
+            dispatchEvent(new Event("manualResetComplete"));
+        }else{
+            addEventListener("currentStateChange", handleCurrentStateChange);
+            currentState = "defaultState";   
+        }
+    }
+
+    private function handleCurrentStateChange(e:StateChangeEvent):void{
+        dispatchEvent(new Event("manualResetComplete"));
+    }
+    
+    // Given a container, loops through its children checking IDs.
+    // It defaults to not searching recursively, but you can pass in a 3rd param as true to make it recurse.
+    // Returns true if a child with the given ID is present.
+    // Returns false if not.
+    public function childPresent(theContainer:Container, childID:String, recurse:Boolean = false):Boolean{
+        var i:int;
+        var theChild:Object;
+        var found:Boolean = false;
+        
+        for(i = 0; i < theContainer.numChildren && !found; ++i){
+            theChild = theContainer.getChildAt(i);
+            
+            if(theChild.id == childID){
+                found = true;
+            }else{
+                if(recurse)
+                    if(theChild is Container)
+                        found = childPresent(Container(theChild), childID, recurse);
+            }
+        }
+        
+        return found;
+    }
+
+    // Tells whether the given object is at the specified index in the given container.
+    // Returns true if it is, false if it is not.
+    public function confirmChildIndex(obj:Object, theContainer:Container, idx:int):Boolean{
+        var ret:Boolean = false;
+        var theChildren:Array = theContainer.getChildren();
+        var i:int;
+        
+        for(i = 0; i < theChildren.length; ++i){
+            if(obj === theChildren[i]){
+                if(i == idx){
+                    ret = true;
+                }
+                break;   
+            } 
+        }
+        
+        return ret;        
+    }
+
+
+    // These changeHandler functions are used for event handler testing.
+    private function changeHandler1(dispatcher:UIComponent):void{
+        dispatcher.dispatchEvent(new Event("changeHandler1"));
+    }
+
+    private function changeHandler2(dispatcher:UIComponent):void{
+        dispatcher.dispatchEvent(new Event("changeHandler2"));
+    }
+
+    private function changeHandler3(dispatcher:UIComponent):void{
+        dispatcher.dispatchEvent(new Event("changeHandler3"));
+    }
+
+    // Note that this one accepts an event!
+    public function changeHandler4(e:Event):void{
+        e.target.dispatchEvent(new Event("changeHandler4"));
+    }
+
+]]>
+</fx:Script>
+
+<!-- Embed fonts for cross platform compatibility of bitmap compares. -->
+<fx:Style>
+@namespace s "library://ns.adobe.com/flex/spark";
+@namespace mx "library://ns.adobe.com/flex/mx";
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Regular.ttf");
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Bold.ttf");
+        fontWeight: bold;
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Italic.ttf");
+        fontStyle: italic;
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    global{
+        fontFamily: EmbeddedVerdana;
+        fontAntiAliasType: normal;
+    }
+</fx:Style>
+
+<mx:states>
+    <!-- Base default state -->
+    <mx:State name="defaultState" />
+    
+    <!-- Test states -->
+    <mx:State name="state131" />
+    <mx:State name="state132" />
+    <mx:State name="state133" />
+    <mx:State name="state134" />
+    <mx:State name="state135" />
+    <mx:State name="state136" />
+    <mx:State name="state137" />
+    <mx:State name="state138" />
+    <mx:State name="state139" />
+    <mx:State name="state140" />
+    <mx:State name="state141" />
+    <mx:State name="state142" />
+    <mx:State name="state143" />
+    <mx:State name="state144" />
+    <mx:State name="state145" />
+    <mx:State name="state146" />
+    <mx:State name="state147" />
+    <mx:State name="state148" />
+    <mx:State name="state149" />
+    <mx:State name="state150" />
+    <mx:State name="state151" />
+    <mx:State name="state152" />
+    <mx:State name="state153" />
+    <mx:State name="state154" />
+    <mx:State name="state155" />
+    <mx:State name="state156" />
+    <mx:State name="state157" />
+    <mx:State name="state158" />
+    <mx:State name="state159" />
+</mx:states>
+
+<!-- includeIn, different forms of white space -->
+<comps:DefinedButton id="btn040" includeIn="state132,state133" />
+<comps:DefinedButton id="btn041" includeIn="state135, state136" />
+<comps:DefinedButton id="btn042" includeIn="state138,	state139" />
+<comps:DefinedButton id="btn043" includeIn="[state141,state142]" /> 
+
+<!--
+================================================================================
+excludeFrom
+================================================================================
+-->
+<!-- excludeFrom, basic tests -->
+<comps:DefinedButton id="btn044" excludeFrom="defaultState" />
+<comps:DefinedButton id="btn045" excludeFrom="defaultState" /><!-- state143 -->
+<comps:DefinedButton id="btn046" excludeFrom="defaultState" /><!-- state144 -->
+<comps:DefinedButton id="btn047" excludeFrom="defaultState, state146, state147, state148" />
+
+<!-- excludeFrom, in an array -->
+<mx:DateChooser id="dc24">
+    <mx:dayNames>
+        <fx:Array>
+            <fx:String excludeFrom="state151">a</fx:String><!-- Default is state 150.  Removes "a" when in state 151. -->
+            <fx:String>b</fx:String>
+            <fx:String>c</fx:String>
+            <fx:String>d</fx:String>
+            <fx:String>e</fx:String>
+            <fx:String>f</fx:String>
+            <fx:String>g</fx:String>
+        </fx:Array>
+    </mx:dayNames>
+</mx:DateChooser>
+
+<mx:DateChooser id="dc25">
+    <mx:dayNames>
+        <fx:Array><!-- 152 = "g" present, 153 = no "g", 154 = no "g". -->
+            <fx:String>a</fx:String>
+            <fx:String>b</fx:String>
+            <fx:String>c</fx:String>
+            <fx:String>d</fx:String>
+            <fx:String>e</fx:String>
+            <fx:String>f</fx:String>
+            <fx:String excludeFrom="state153,state154">g</fx:String>
+        </fx:Array>
+    </mx:dayNames>
+</mx:DateChooser>
+
+<mx:DateChooser id="dc26">
+    <mx:dayNames>
+        <fx:Array><!-- 155 = starts with a-b, 156 = starts with b-c, 157 = starts with a-c -->
+            <fx:String excludeFrom="state156">a</fx:String>
+            <fx:String excludeFrom="state157">b</fx:String>
+            <fx:String>c</fx:String>
+            <fx:String>d</fx:String>
+            <fx:String>e</fx:String>
+            <fx:String>f</fx:String>
+            <fx:String>g</fx:String>
+        </fx:Array>
+    </mx:dayNames>
+</mx:DateChooser>
+
+<mx:DateChooser id="dc27">
+    <mx:dayNames>
+        <fx:Array>
+            <fx:String excludeFrom="state159">a</fx:String><!-- Default is state 158 (one items).  Removes "a" when in state 159. -->
+        </fx:Array>
+    </mx:dayNames>
+</mx:DateChooser>
+
+</mx:Application>

Added: incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_includeIn.compile
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_includeIn.compile?rev=1369998&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_includeIn.compile (added)
+++ incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_includeIn.compile Mon Aug  6 20:42:44 2012
@@ -0,0 +1 @@
+ -theme=${flexlib}/themes/Halo/halo.swc

Added: incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_includeIn.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_includeIn.mxml?rev=1369998&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_includeIn.mxml (added)
+++ incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_includeIn.mxml Mon Aug  6 20:42:44 2012
@@ -0,0 +1,196 @@
+<mx:Application width="800" height="600" backgroundColor="0xffffff" 
+xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark"
+xmlns:comps="comps.*" 
+xmlns:filters="flash.filters.*"
+>
+
+<fx:Script>
+<![CDATA[
+    import mx.collections.ArrayCollection;
+    import mx.core.Container;
+    import mx.core.UIComponent;
+    import mx.events.StateChangeEvent;
+
+    // No, we can't make these on creationComplete in a method.
+    // The number and the text correspond to the test state in which it's used.
+    [Bindable] private var testObject1:Object = {Number:113,String:"one hundred thirteen"};
+    [Bindable] private var testObject2:Object = {Number:114,String:"one hundred fourteen"};
+    [Bindable] private var testObject3:Object = {Number:115,String:"one hundred fifteen"};
+    [Bindable] private var testObject4:Object = {Number:116,String:"one hundred sixteen"};
+    [Bindable] private var testObject5:Object = {Number:117,String:"one hundred seventeen"};
+
+    // These are for testing data binding of a property.
+    [Bindable] public var dc21Year:int = 2013;
+    [Bindable] public var dc22YearA:int = 2015;
+    [Bindable] public var dc22YearB:int = 2017;
+    [Bindable] public var dc23Year:int = 2019;
+
+    // These are for testing the data binding of a style.
+    [Bindable] public var blueShade:uint = 0x0000ff;
+    [Bindable] public var blueShade2:uint = 0x0000ff;
+    [Bindable] public var blueShade3:uint = 0x0000ff;
+    [Bindable] public var redShade:uint = 0xff0000;
+    [Bindable] public var redShade2:uint = 0xff0000;
+    [Bindable] public var redShade3:uint = 0xff0000;
+        
+    // Create some test items of type "Object" for testing.
+    // Any test case could start out in any state, depending on how the
+    // previous test failed.  Therefore, we cannot switch to a state and
+    // then wait, since we may already be in that state.
+    public function doManualReset():void{
+        if(currentState == "defaultState"){
+            dispatchEvent(new Event("manualResetComplete"));
+        }else{
+            addEventListener("currentStateChange", handleCurrentStateChange);
+            currentState = "defaultState";   
+        }
+    }
+
+    private function handleCurrentStateChange(e:StateChangeEvent):void{
+        dispatchEvent(new Event("manualResetComplete"));
+    }
+    
+    // Given a container, loops through its children checking IDs.
+    // It defaults to not searching recursively, but you can pass in a 3rd param as true to make it recurse.
+    // Returns true if a child with the given ID is present.
+    // Returns false if not.
+    public function childPresent(theContainer:Container, childID:String, recurse:Boolean = false):Boolean{
+        var i:int;
+        var theChild:Object;
+        var found:Boolean = false;
+        
+        for(i = 0; i < theContainer.numChildren && !found; ++i){
+            theChild = theContainer.getChildAt(i);
+            
+            if(theChild.id == childID){
+                found = true;
+            }else{
+                if(recurse)
+                    if(theChild is Container)
+                        found = childPresent(Container(theChild), childID, recurse);
+            }
+        }
+        
+        return found;
+    }
+
+    // Tells whether the given object is at the specified index in the given container.
+    // Returns true if it is, false if it is not.
+    public function confirmChildIndex(obj:Object, theContainer:Container, idx:int):Boolean{
+        var ret:Boolean = false;
+        var theChildren:Array = theContainer.getChildren();
+        var i:int;
+        
+        for(i = 0; i < theChildren.length; ++i){
+            if(obj === theChildren[i]){
+                if(i == idx){
+                    ret = true;
+                }
+                break;   
+            } 
+        }
+        
+        return ret;        
+    }
+
+
+    // These changeHandler functions are used for event handler testing.
+    private function changeHandler1(dispatcher:UIComponent):void{
+        dispatcher.dispatchEvent(new Event("changeHandler1"));
+    }
+
+    private function changeHandler2(dispatcher:UIComponent):void{
+        dispatcher.dispatchEvent(new Event("changeHandler2"));
+    }
+
+    private function changeHandler3(dispatcher:UIComponent):void{
+        dispatcher.dispatchEvent(new Event("changeHandler3"));
+    }
+
+    // Note that this one accepts an event!
+    public function changeHandler4(e:Event):void{
+        e.target.dispatchEvent(new Event("changeHandler4"));
+    }
+
+]]>
+</fx:Script>
+
+<!-- Embed fonts for cross platform compatibility of bitmap compares. -->
+<fx:Style>
+@namespace s "library://ns.adobe.com/flex/spark";
+@namespace mx "library://ns.adobe.com/flex/mx";
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Regular.ttf");
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Bold.ttf");
+        fontWeight: bold;
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Italic.ttf");
+        fontStyle: italic;
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    global{
+        fontFamily: EmbeddedVerdana;
+        fontAntiAliasType: normal;
+    }
+</fx:Style>
+
+<mx:states>
+    <!-- Base default state -->
+    <mx:State name="defaultState" />
+    
+    <!-- Test states -->
+    <mx:State name="state001" />
+    <mx:State name="state002" />
+    <mx:State name="state003" />
+    <mx:State name="state004" />
+    <mx:State name="state005" />
+    <mx:State name="state006" />
+    <mx:State name="state007" />
+    <mx:State name="state008" />
+    <mx:State name="state009" />
+    <mx:State name="state010" />
+    <mx:State name="state011" />
+    <mx:State name="state131" />
+    <mx:State name="state132" />
+    <mx:State name="state133" />
+    <mx:State name="state134" />
+    <mx:State name="state135" />
+    <mx:State name="state136" />
+    <mx:State name="state137" />
+    <mx:State name="state138" />
+    <mx:State name="state139" />
+    <mx:State name="state140" />
+    <mx:State name="state141" />
+    <mx:State name="state142" />
+</mx:states>
+
+    <!-- Controls for bitmap calibration -->
+    <mx:Box id="bxCalibrate" backgroundColor="0x008800" borderStyle="solid" borderThickness="1">
+        <comps:DefinedButton id="btnCalibrate1" />
+        <comps:DefinedButton id="btnCalibrate2" includeIn="state001" />
+    </mx:Box>
+    
+    <!-- includeIn, basic control tests -->
+    <comps:DefinedButton id="btn003" includeIn="defaultState" />
+    <comps:DefinedButton id="btn004" includeIn="defaultState" />
+    <comps:DefinedButton id="btn005" includeIn="defaultState" />
+    <comps:DefinedButton id="btn006" includeIn="defaultState,state006,state007,state008" />
+    
+    <!-- includeIn, different forms of white space -->
+    <comps:DefinedButton id="btn040" includeIn="state132,state133" />
+    <comps:DefinedButton id="btn041" includeIn="state135, state136" />
+    <comps:DefinedButton id="btn042" includeIn="state138,	state139" />
+    <comps:DefinedButton id="btn043" includeIn="[state141,state142]" /> 
+
+</mx:Application>

Added: incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_itemCreationPolicy.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_itemCreationPolicy.mxml?rev=1369998&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_itemCreationPolicy.mxml (added)
+++ incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_itemCreationPolicy.mxml Mon Aug  6 20:42:44 2012
@@ -0,0 +1,171 @@
+<mx:Application width="800" height="600" backgroundColor="0xffffff" 
+xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark"
+xmlns:comps="comps.*" 
+xmlns:filters="flash.filters.*"
+>
+
+<fx:Script>
+<![CDATA[
+    import mx.collections.ArrayCollection;
+    import mx.core.Container;
+    import mx.core.UIComponent;
+    import mx.events.StateChangeEvent;
+
+    // No, we can't make these on creationComplete in a method.
+    // The number and the text correspond to the test state in which it's used.
+    [Bindable] private var testObject1:Object = {Number:113,String:"one hundred thirteen"};
+    [Bindable] private var testObject2:Object = {Number:114,String:"one hundred fourteen"};
+    [Bindable] private var testObject3:Object = {Number:115,String:"one hundred fifteen"};
+    [Bindable] private var testObject4:Object = {Number:116,String:"one hundred sixteen"};
+    [Bindable] private var testObject5:Object = {Number:117,String:"one hundred seventeen"};
+
+    // These are for testing data binding of a property.
+    [Bindable] public var dc21Year:int = 2013;
+    [Bindable] public var dc22YearA:int = 2015;
+    [Bindable] public var dc22YearB:int = 2017;
+    [Bindable] public var dc23Year:int = 2019;
+
+    // These are for testing the data binding of a style.
+    [Bindable] public var blueShade:uint = 0x0000ff;
+    [Bindable] public var blueShade2:uint = 0x0000ff;
+    [Bindable] public var blueShade3:uint = 0x0000ff;
+    [Bindable] public var redShade:uint = 0xff0000;
+    [Bindable] public var redShade2:uint = 0xff0000;
+    [Bindable] public var redShade3:uint = 0xff0000;
+        
+    // Create some test items of type "Object" for testing.
+    // Any test case could start out in any state, depending on how the
+    // previous test failed.  Therefore, we cannot switch to a state and
+    // then wait, since we may already be in that state.
+    public function doManualReset():void{
+        if(currentState == "defaultState"){
+            dispatchEvent(new Event("manualResetComplete"));
+        }else{
+            addEventListener("currentStateChange", handleCurrentStateChange);
+            currentState = "defaultState";   
+        }
+    }
+
+    private function handleCurrentStateChange(e:StateChangeEvent):void{
+        dispatchEvent(new Event("manualResetComplete"));
+    }
+    
+    // Given a container, loops through its children checking IDs.
+    // It defaults to not searching recursively, but you can pass in a 3rd param as true to make it recurse.
+    // Returns true if a child with the given ID is present.
+    // Returns false if not.
+    public function childPresent(theContainer:Container, childID:String, recurse:Boolean = false):Boolean{
+        var i:int;
+        var theChild:Object;
+        var found:Boolean = false;
+        
+        for(i = 0; i < theContainer.numChildren && !found; ++i){
+            theChild = theContainer.getChildAt(i);
+            
+            if(theChild.id == childID){
+                found = true;
+            }else{
+                if(recurse)
+                    if(theChild is Container)
+                        found = childPresent(Container(theChild), childID, recurse);
+            }
+        }
+        
+        return found;
+    }
+
+    // Tells whether the given object is at the specified index in the given container.
+    // Returns true if it is, false if it is not.
+    public function confirmChildIndex(obj:Object, theContainer:Container, idx:int):Boolean{
+        var ret:Boolean = false;
+        var theChildren:Array = theContainer.getChildren();
+        var i:int;
+        
+        for(i = 0; i < theChildren.length; ++i){
+            if(obj === theChildren[i]){
+                if(i == idx){
+                    ret = true;
+                }
+                break;   
+            } 
+        }
+        
+        return ret;        
+    }
+
+
+    // These changeHandler functions are used for event handler testing.
+    private function changeHandler1(dispatcher:UIComponent):void{
+        dispatcher.dispatchEvent(new Event("changeHandler1"));
+    }
+
+    private function changeHandler2(dispatcher:UIComponent):void{
+        dispatcher.dispatchEvent(new Event("changeHandler2"));
+    }
+
+    private function changeHandler3(dispatcher:UIComponent):void{
+        dispatcher.dispatchEvent(new Event("changeHandler3"));
+    }
+
+    // Note that this one accepts an event!
+    public function changeHandler4(e:Event):void{
+        e.target.dispatchEvent(new Event("changeHandler4"));
+    }
+
+]]>
+</fx:Script>
+
+<!-- Embed fonts for cross platform compatibility of bitmap compares. -->
+<fx:Style>
+@namespace s "library://ns.adobe.com/flex/spark";
+@namespace mx "library://ns.adobe.com/flex/mx";
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Regular.ttf");
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Bold.ttf");
+        fontWeight: bold;
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Italic.ttf");
+        fontStyle: italic;
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    global{
+        fontFamily: EmbeddedVerdana;
+        fontAntiAliasType: normal;
+    }
+</fx:Style>
+
+<mx:states>
+    <!-- Base default state -->
+    <mx:State name="defaultState" />
+    
+    <!-- Test states -->
+    <mx:State name="state373" />
+
+    <mx:State name="state374" />
+    <mx:State name="state375" />
+    <mx:State name="state376" />
+    <mx:State name="state377" />
+    <mx:State name="state378" />
+</mx:states>
+
+<comps:DefinedButton id="btn226" includeIn="state373" itemCreationPolicy="deferred" />
+<comps:DefinedButton id="btn227" excludeFrom="defaultState" itemCreationPolicy="deferred" /><!-- uses state374 -->
+
+<comps:DefinedButton id="btn228" includeIn="defaultState" itemCreationPolicy="immediate" /><!-- uses state375 -->
+<comps:DefinedButton id="btn229" includeIn="state376" itemCreationPolicy="immediate" />
+
+<comps:DefinedButton id="btn230" excludeFrom="defaultState" itemCreationPolicy="immediate" /><!-- uses state377 -->
+<comps:DefinedButton id="btn231" excludeFrom="state378" itemCreationPolicy="immediate" />
+
+</mx:Application>

Added: incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_multiEvent.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_multiEvent.mxml?rev=1369998&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_multiEvent.mxml (added)
+++ incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_multiEvent.mxml Mon Aug  6 20:42:44 2012
@@ -0,0 +1,76 @@
+<?xml version="1.0"?>
+<!--
+
+  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.
+
+-->
+<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
+				xmlns:mx="library://ns.adobe.com/flex/mx" 
+				xmlns:s="library://ns.adobe.com/flex/spark" 
+				width="400">
+	
+	<fx:Script>
+		<![CDATA[
+			
+			[Bindable] public var nsOneCount:Number = 0;
+			[Bindable] public var nsTwoCount:Number = 0;
+			[Bindable] public var btnOneCount:Number = 0;
+			[Bindable] public var btnTwoCount:Number = 0;
+			
+			public function nsModOne():void{
+				nsOneCount++;
+			}
+			
+			public function nsModTwo():void{
+				nsTwoCount++;
+			}
+			
+			public function btnModOne():void{
+				btnOneCount++;			
+			}						
+			
+			public function btnModTwo():void{
+				btnTwoCount++;				
+			}			
+		]]>
+	</fx:Script>
+		
+	<s:layout>
+		<s:VerticalLayout paddingLeft="10" paddingTop="10"/>
+	</s:layout>
+	
+	<s:states>
+		<s:State name="One"/>		
+		<s:State name="Two"/>					
+	</s:states>
+	
+	<s:NumericStepper id="ns" change.Two="nsModTwo()" change.One="nsModOne()"/>
+	<s:Button id="btn" click="currentState='Two'" click.One="btnModOne()" click.Two="btnModTwo()"/>
+	
+	<s:HGroup>
+		<s:Label id="ns1count" text="{nsOneCount}"/>
+		<s:Label id="ns2count" text="{nsTwoCount}"/>		
+	</s:HGroup>
+
+	<s:HGroup>
+		<s:Label id="btn1count" text="{btnOneCount}"/>
+		<s:Label id="btn2count" text="{btnTwoCount}"/>		
+	</s:HGroup>
+	
+	<s:Button label.One="Go to Two" label.Two="Go to One" click.One="currentState='Two'" click.Two="currentState='One'"/>
+	
+	
+</s:Application>
\ No newline at end of file

Added: incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_properties.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_properties.mxml?rev=1369998&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_properties.mxml (added)
+++ incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_properties.mxml Mon Aug  6 20:42:44 2012
@@ -0,0 +1,161 @@
+<mx:Application width="800" height="600" backgroundColor="0xffffff" 
+xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark"
+xmlns:comps="comps.*" 
+xmlns:filters="flash.filters.*"
+>
+
+<fx:Script>
+<![CDATA[
+    import mx.collections.ArrayCollection;
+    import mx.core.Container;
+    import mx.core.UIComponent;
+    import mx.events.StateChangeEvent;
+
+    // No, we can't make these on creationComplete in a method.
+    // The number and the text correspond to the test state in which it's used.
+    [Bindable] private var testObject1:Object = {Number:113,String:"one hundred thirteen"};
+    [Bindable] private var testObject2:Object = {Number:114,String:"one hundred fourteen"};
+    [Bindable] private var testObject3:Object = {Number:115,String:"one hundred fifteen"};
+    [Bindable] private var testObject4:Object = {Number:116,String:"one hundred sixteen"};
+    [Bindable] private var testObject5:Object = {Number:117,String:"one hundred seventeen"};
+
+    // These are for testing data binding of a property.
+    [Bindable] public var dc21Year:int = 2013;
+    [Bindable] public var dc22YearA:int = 2015;
+    [Bindable] public var dc22YearB:int = 2017;
+    [Bindable] public var dc23Year:int = 2019;
+
+    // These are for testing the data binding of a style.
+    [Bindable] public var blueShade:uint = 0x0000ff;
+    [Bindable] public var blueShade2:uint = 0x0000ff;
+    [Bindable] public var blueShade3:uint = 0x0000ff;
+    [Bindable] public var redShade:uint = 0xff0000;
+    [Bindable] public var redShade2:uint = 0xff0000;
+    [Bindable] public var redShade3:uint = 0xff0000;
+        
+    // Create some test items of type "Object" for testing.
+    // Any test case could start out in any state, depending on how the
+    // previous test failed.  Therefore, we cannot switch to a state and
+    // then wait, since we may already be in that state.
+    public function doManualReset():void{
+        if(currentState == "defaultState"){
+            dispatchEvent(new Event("manualResetComplete"));
+        }else{
+            addEventListener("currentStateChange", handleCurrentStateChange);
+            currentState = "defaultState";   
+        }
+    }
+
+    private function handleCurrentStateChange(e:StateChangeEvent):void{
+        dispatchEvent(new Event("manualResetComplete"));
+    }
+    
+    // Given a container, loops through its children checking IDs.
+    // It defaults to not searching recursively, but you can pass in a 3rd param as true to make it recurse.
+    // Returns true if a child with the given ID is present.
+    // Returns false if not.
+    public function childPresent(theContainer:Container, childID:String, recurse:Boolean = false):Boolean{
+        var i:int;
+        var theChild:Object;
+        var found:Boolean = false;
+        
+        for(i = 0; i < theContainer.numChildren && !found; ++i){
+            theChild = theContainer.getChildAt(i);
+            
+            if(theChild.id == childID){
+                found = true;
+            }else{
+                if(recurse)
+                    if(theChild is Container)
+                        found = childPresent(Container(theChild), childID, recurse);
+            }
+        }
+        
+        return found;
+    }
+
+    // Tells whether the given object is at the specified index in the given container.
+    // Returns true if it is, false if it is not.
+    public function confirmChildIndex(obj:Object, theContainer:Container, idx:int):Boolean{
+        var ret:Boolean = false;
+        var theChildren:Array = theContainer.getChildren();
+        var i:int;
+        
+        for(i = 0; i < theChildren.length; ++i){
+            if(obj === theChildren[i]){
+                if(i == idx){
+                    ret = true;
+                }
+                break;   
+            } 
+        }
+        
+        return ret;        
+    }
+
+
+    // These changeHandler functions are used for event handler testing.
+    private function changeHandler1(dispatcher:UIComponent):void{
+        dispatcher.dispatchEvent(new Event("changeHandler1"));
+    }
+
+    private function changeHandler2(dispatcher:UIComponent):void{
+        dispatcher.dispatchEvent(new Event("changeHandler2"));
+    }
+
+    private function changeHandler3(dispatcher:UIComponent):void{
+        dispatcher.dispatchEvent(new Event("changeHandler3"));
+    }
+
+    // Note that this one accepts an event!
+    public function changeHandler4(e:Event):void{
+        e.target.dispatchEvent(new Event("changeHandler4"));
+    }
+
+]]>
+</fx:Script>
+
+<!-- Embed fonts for cross platform compatibility of bitmap compares. -->
+<fx:Style>
+@namespace s "library://ns.adobe.com/flex/spark";
+@namespace mx "library://ns.adobe.com/flex/mx";
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Regular.ttf");
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Bold.ttf");
+        fontWeight: bold;
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Italic.ttf");
+        fontStyle: italic;
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    global{
+        fontFamily: EmbeddedVerdana;
+        fontAntiAliasType: normal;
+    }
+</fx:Style>
+
+<mx:states>
+    <!-- Base default state -->
+    <mx:State name="defaultState" />
+    
+    <!-- Test states -->
+    <mx:State name="state001" />
+    <mx:State name="state002" />
+    <mx:State name="state003" />
+</mx:states>
+
+<comps:MXML_Subclass id="subclass1" />
+<comps:MXML_MXML_Subclass id="subclass2" />
+
+</mx:Application>

Added: incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_reparent.compile
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_reparent.compile?rev=1369998&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_reparent.compile (added)
+++ incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_reparent.compile Mon Aug  6 20:42:44 2012
@@ -0,0 +1 @@
+ -theme=${flexlib}/themes/Halo/halo.swc

Added: incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_reparent.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_reparent.mxml?rev=1369998&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_reparent.mxml (added)
+++ incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_reparent.mxml Mon Aug  6 20:42:44 2012
@@ -0,0 +1,677 @@
+<mx:Application width="800" height="600" backgroundColor="0xffffff" 
+xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark"
+xmlns:comps="comps.*" 
+xmlns:filters="flash.filters.*"
+>
+
+<fx:Script>
+<![CDATA[
+    import mx.collections.ArrayCollection;
+    import mx.core.Container;
+    import mx.core.UIComponent;
+    import mx.events.StateChangeEvent;
+
+    // The number and the text correspond to the test state in which it's used.
+    [Bindable] private var testObject1:Object = {Number:113,String:"one hundred thirteen"};
+    [Bindable] private var testObject2:Object = {Number:114,String:"one hundred fourteen"};
+    [Bindable] private var testObject3:Object = {Number:115,String:"one hundred fifteen"};
+    [Bindable] private var testObject4:Object = {Number:116,String:"one hundred sixteen"};
+    [Bindable] private var testObject5:Object = {Number:117,String:"one hundred seventeen"};
+
+    // These are for testing data binding of a property.
+    [Bindable] public var dc21Year:int = 2013;
+    [Bindable] public var dc22YearA:int = 2015;
+    [Bindable] public var dc22YearB:int = 2017;
+    [Bindable] public var dc23Year:int = 2019;
+
+    // These are for testing the data binding of a style.
+    [Bindable] public var blueShade:uint = 0x0000ff;
+    [Bindable] public var blueShade2:uint = 0x0000ff;
+    [Bindable] public var blueShade3:uint = 0x0000ff;
+    [Bindable] public var redShade:uint = 0xff0000;
+    [Bindable] public var redShade2:uint = 0xff0000;
+    [Bindable] public var redShade3:uint = 0xff0000;
+        
+    // Create some test items of type "Object" for testing.
+    // Any test case could start out in any state, depending on how the
+    // previous test failed.  Therefore, we cannot switch to a state and
+    // then wait, since we may already be in that state.
+    public function doManualReset():void{
+        if(currentState == "defaultState"){
+            dispatchEvent(new Event("manualResetComplete"));
+        }else{
+            addEventListener("currentStateChange", handleCurrentStateChange);
+            currentState = "defaultState";   
+        }
+    }
+
+    private function handleCurrentStateChange(e:StateChangeEvent):void{
+        dispatchEvent(new Event("manualResetComplete"));
+    }
+    
+    // Given a container, loops through its children checking IDs.
+    // It defaults to not searching recursively, but you can pass in a 3rd param as true to make it recurse.
+    // Returns true if a child with the given ID is present.
+    // Returns false if not.
+    public function childPresent(theContainer:Container, childID:String, recurse:Boolean = false):Boolean{
+        var i:int;
+        var theChild:Object;
+        var found:Boolean = false;
+        
+        for(i = 0; i < theContainer.numChildren && !found; ++i){
+            theChild = theContainer.getChildAt(i);
+            
+            if(theChild.id == childID){
+                found = true;
+            }else{
+                if(recurse)
+                    if(theChild is Container)
+                        found = childPresent(Container(theChild), childID, recurse);
+            }
+        }
+        
+        return found;
+    }
+
+    // Tells whether the given object is at the specified index in the given container.
+    // Returns true if it is, false if it is not.
+    public function confirmChildIndex(obj:Object, theContainer:Container, idx:int):Boolean{
+        var ret:Boolean = false;
+        var theChildren:Array = theContainer.getChildren();
+        var i:int;
+        
+        for(i = 0; i < theChildren.length; ++i){
+            if(obj === theChildren[i]){
+                if(i == idx){
+                    ret = true;
+                }
+                break;   
+            } 
+        }
+        
+        return ret;        
+    }
+
+
+    // These changeHandler functions are used for event handler testing.
+    private function changeHandler1(dispatcher:UIComponent):void{
+        dispatcher.dispatchEvent(new Event("changeHandler1"));
+    }
+
+    private function changeHandler2(dispatcher:UIComponent):void{
+        dispatcher.dispatchEvent(new Event("changeHandler2"));
+    }
+
+    private function changeHandler3(dispatcher:UIComponent):void{
+        dispatcher.dispatchEvent(new Event("changeHandler3"));
+    }
+
+    // Note that this one accepts an event!
+    public function changeHandler4(e:Event):void{
+        e.target.dispatchEvent(new Event("changeHandler4"));
+    }
+
+]]>
+</fx:Script>
+
+<!-- Embed fonts for cross platform compatibility of bitmap compares. -->
+<fx:Style>
+@namespace s "library://ns.adobe.com/flex/spark";
+@namespace mx "library://ns.adobe.com/flex/mx";
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Regular.ttf");
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Bold.ttf");
+        fontWeight: bold;
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Italic.ttf");
+        fontStyle: italic;
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    global{
+        fontFamily: EmbeddedVerdana;
+        fontAntiAliasType: normal;
+    }
+</fx:Style>
+
+<mx:states>
+    <!-- Base default state -->
+    <mx:State name="defaultState" />
+    
+    <!-- Test states -->
+
+    <mx:State name="state176" />
+    <mx:State name="state177" />
+    <mx:State name="state178" />
+    <mx:State name="state179" />
+    <mx:State name="state180" />
+    <mx:State name="state181" />
+    <mx:State name="state182" />
+    <mx:State name="state183" />
+    <mx:State name="state184" />
+    <mx:State name="state185" />
+    <mx:State name="state186" />
+    <mx:State name="state186a" />
+    <mx:State name="state187" />
+    <mx:State name="state187a" />
+    <mx:State name="state187b" />
+    <mx:State name="state188" />
+    <mx:State name="state188a" />
+    <mx:State name="state189" />
+    <mx:State name="state189a" />
+    <mx:State name="state190" />
+    <mx:State name="state191" />
+    <mx:State name="state192" />
+    <mx:State name="state193" />
+    <mx:State name="state194" />
+    <mx:State name="state195" />
+    <mx:State name="state196" />
+    <mx:State name="state197" />
+    <mx:State name="state198" />
+    <mx:State name="state199" />
+    <mx:State name="state200" />
+    <mx:State name="state201" />
+    <mx:State name="state202" />
+    <mx:State name="state203" />
+    <mx:State name="state204" />
+    <mx:State name="state205" />
+    <mx:State name="state206" />
+    <mx:State name="state207" />
+    <mx:State name="state208" />
+    <mx:State name="state209" />
+    <mx:State name="state210" />
+    <mx:State name="state211" />
+    <mx:State name="state212" />
+    <mx:State name="state213" />
+    <mx:State name="state214" />
+    <mx:State name="state215" />
+    <mx:State name="state216" />
+    <mx:State name="state217" />
+    <mx:State name="state218" />
+    <mx:State name="state219" />
+</mx:states>
+
+<!--
+================================================================================
+Reparenting
+================================================================================
+-->
+<mx:Box id="bx01" borderColor="0x000000" borderStyle="solid" >
+    <comps:DefinedButton id="btn049" excludeFrom="state176" />
+</mx:Box>
+<fx:Reparent target="btn049" includeIn="state176" />
+
+<mx:Box id="bx02" borderColor="0x000000" borderStyle="solid" >
+    <fx:Reparent target="btn050" includeIn="state177" />
+</mx:Box>
+<comps:DefinedButton id="btn050" excludeFrom="state177" />
+
+<mx:Box id="bx03" excludeFrom="state178">
+    <comps:DefinedButton id="btn051" />
+    <mx:CheckBox id="ck01" />
+</mx:Box>
+<mx:Box id="bx04">
+    <fx:Reparent target="bx03" includeIn="state178" />
+</mx:Box>
+
+<mx:Box id="bx05" excludeFrom="state179">
+    <comps:DefinedButton id="btn052" />
+    <mx:CheckBox id="ck02" />
+</mx:Box>
+<mx:TabNavigator id="tabNav01">
+    <fx:Reparent target="bx05" includeIn="state179" />
+</mx:TabNavigator>
+
+<mx:TabNavigator id="tabNav02">
+    <mx:Box id="bx06" excludeFrom="state180">
+        <comps:DefinedButton id="btn053" />
+        <mx:CheckBox id="ck03" />
+    </mx:Box>
+</mx:TabNavigator>
+
+<fx:Reparent target="bx06" includeIn="state180" />
+
+<mx:Box id="bx07" borderStyle="solid" borderColor="0x000000">
+    <comps:DefinedButton id="btn054" excludeFrom="state181" />
+    <mx:Box id="bx08" borderStyle="solid" borderColor="0x000000" visible="false" >
+        <fx:Reparent target="btn054" includeIn="state181" />
+    </mx:Box>
+</mx:Box>
+
+<mx:Box id="bx09" borderStyle="solid" borderColor="0x000000">
+    <comps:DefinedButton id="btn055" excludeFrom="state182" />
+    <mx:Box id="bx10" borderStyle="solid" borderColor="0x000000" visible="false" >
+        <fx:Reparent target="btn055" includeIn="state182" />
+    </mx:Box>
+</mx:Box>
+
+<mx:Box id="bx11" borderStyle="solid" borderColor="0x000000">
+    <comps:DefinedButton id="btn057" visible="false" excludeFrom="state183" />
+    <mx:Box id="bx12" borderStyle="solid" borderColor="0x000000">
+        <fx:Reparent target="btn057" includeIn="state183" />
+    </mx:Box>
+</mx:Box>
+
+<mx:Box id="bx13" borderStyle="solid" borderColor="0x000000">
+    <comps:DefinedButton id="btn059" visible="false" excludeFrom="state184" />
+    <mx:Box id="bx14" borderStyle="solid" borderColor="0x000000">
+        <fx:Reparent target="btn059" includeIn="state184" />
+    </mx:Box>
+</mx:Box>
+
+<mx:DataGrid id="dg01">
+    <mx:columns>
+        <mx:DataGridColumn headerText="Name1" dataField="name" />
+        <mx:DataGridColumn id="dgc01" headerText="Breed" dataField="breed" excludeFrom="state185" />
+    </mx:columns>
+    <mx:dataProvider>
+        <mx:ArrayCollection>
+            <fx:Object name="Elektra" breed="Vizsla" />
+            <fx:Object name="Ted" breed="Whippet" />
+        </mx:ArrayCollection>
+    </mx:dataProvider>
+</mx:DataGrid>
+<mx:DataGrid id="dg02">
+    <mx:columns>
+        <mx:DataGridColumn headerText="Name2" dataField="name" />
+        <fx:Reparent target="dgc01" includeIn="state185" />
+    </mx:columns>
+    <mx:dataProvider>
+        <mx:ArrayCollection>
+            <fx:Object name="Elektra" breed="Vizsla" />
+            <fx:Object name="Ted" breed="Whippet" />
+        </mx:ArrayCollection>
+    </mx:dataProvider>
+</mx:DataGrid>
+
+<mx:DataGrid id="dg03">
+    <mx:columns>
+        <mx:DataGridColumn headerText="Name1" dataField="name" />
+        <mx:DataGridColumn id="dgc02" headerText="Breed" dataField="breed" excludeFrom="state186" />
+    </mx:columns>
+    <mx:dataProvider>
+        <mx:ArrayCollection>
+            <fx:Object name="Elektra" breed="Vizsla" />
+            <fx:Object name="Ted" breed="Whippet" />
+        </mx:ArrayCollection>
+    </mx:dataProvider>
+</mx:DataGrid>
+<mx:DataGrid id="dg04">
+    <mx:columns>
+        <mx:DataGridColumn headerText="Name2" dataField="name" />
+        <fx:Reparent target="dgc02" includeIn="state186" />
+    </mx:columns>
+    <mx:dataProvider>
+        <mx:ArrayCollection>
+            <fx:Object name="Elektra" breed="Vizsla" />
+            <fx:Object name="Ted" breed="Whippet" />
+        </mx:ArrayCollection>
+    </mx:dataProvider>
+</mx:DataGrid>
+
+<mx:DataGrid id="dg05">
+    <mx:dataProvider>
+        <mx:ArrayCollection>
+            <fx:Object name="Elektra" breed="Vizsla" id="obj01" excludeFrom="state187" />
+            <fx:Object name="Ted" breed="Whippet" />
+        </mx:ArrayCollection>
+    </mx:dataProvider>
+</mx:DataGrid>
+<mx:DataGrid id="dg06">
+    <mx:dataProvider>
+        <mx:ArrayCollection>
+            <fx:Reparent target="obj01" includeIn="state187" />
+            <fx:Object name="Ted" breed="Whippet" />
+        </mx:ArrayCollection>
+    </mx:dataProvider>
+</mx:DataGrid>
+
+<mx:DataGrid id="dg07">
+    <mx:dataProvider>
+        <mx:ArrayCollection>
+            <fx:Object name="Elektra" breed="Vizsla" id="obj02" excludeFrom="state188" />
+            <fx:Object name="Ted" breed="Whippet" />
+        </mx:ArrayCollection>
+    </mx:dataProvider>
+</mx:DataGrid>
+<mx:DataGrid id="dg08">
+    <mx:dataProvider>
+        <mx:ArrayCollection>
+            <fx:Reparent target="obj02" includeIn="state188" />
+            <fx:Object name="Ted" breed="Whippet" />
+        </mx:ArrayCollection>
+    </mx:dataProvider>
+</mx:DataGrid>
+
+<comps:DefinedButton id="btn060">
+    <comps:fillColors>
+        <fx:Array>
+            <fx:Number id="num01" excludeFrom="state187">0xff0000</fx:Number>
+            <fx:Number>0x00ff00</fx:Number>
+        </fx:Array>
+    </comps:fillColors>
+</comps:DefinedButton>
+<comps:DefinedButton id="btn061">
+    <comps:fillColors>
+        <fx:Array>
+            <fx:Reparent target="num01" includeIn="state187" />
+            <fx:Number>0x0000ff</fx:Number>
+        </fx:Array>
+    </comps:fillColors>
+</comps:DefinedButton>
+
+<comps:DefinedButton id="btn060a" >
+    <comps:fillColors>
+        <fx:Array>
+            <fx:Number id="num01a" includeIn="state187a">0xff0000</fx:Number>
+            <fx:Number>0x00ff00</fx:Number>
+        </fx:Array>
+    </comps:fillColors>
+</comps:DefinedButton>
+<comps:DefinedButton id="btn060b" >
+    <comps:fillColors>
+        <fx:Array>
+            <fx:Reparent target="num01a" includeIn="state187b" />
+            <fx:Number>0x0000ff</fx:Number>
+        </fx:Array>
+    </comps:fillColors>
+</comps:DefinedButton> 
+
+<mx:Button id="btn062">
+    <mx:filters>
+        <fx:Array>
+            <filters:GlowFilter id="gf01" excludeFrom="state189" />
+            <filters:BlurFilter id="bf01" />
+        </fx:Array>
+    </mx:filters>
+</mx:Button>
+<mx:Button id="btn063">
+    <mx:filters>
+        <fx:Array>
+            <fx:Reparent target="gf01" includeIn="state189" />
+            <filters:BlurFilter id="bf02" />
+        </fx:Array>
+    </mx:filters>
+</mx:Button>
+
+<mx:Text text="look at this:" />
+<mx:Button id="btn062a">
+    <mx:filters>
+        <fx:Array>
+            <filters:GlowFilter id="gf02" />
+            <filters:BlurFilter id="bf03" excludeFrom="state189a" />
+        </fx:Array>
+    </mx:filters>
+</mx:Button>
+<mx:CheckBox id="ck04">
+    <mx:filters>
+        <fx:Array>
+            <filters:GlowFilter id="gf03" />
+            <fx:Reparent target="bf03" includeIn="state189a" />
+        </fx:Array>
+    </mx:filters>
+</mx:CheckBox>
+
+<mx:DateChooser id="dc28">
+    <mx:dayNames>
+        <fx:Array>
+            <fx:String id="s01" excludeFrom="state190">a</fx:String>
+            <fx:String>b</fx:String>
+            <fx:String>c</fx:String>
+            <fx:String>d</fx:String>
+            <fx:String>e</fx:String>
+            <fx:String>f</fx:String>
+            <fx:String>g</fx:String>
+        </fx:Array>
+    </mx:dayNames>
+</mx:DateChooser>
+<mx:DateChooser id="dc29">
+    <mx:dayNames>
+        <fx:Array>
+            <fx:Reparent target="s01" includeIn="state190" />
+            <fx:String>h</fx:String>
+            <fx:String>i</fx:String>
+            <fx:String>j</fx:String>
+            <fx:String>k</fx:String>
+            <fx:String>l</fx:String>
+            <fx:String>m</fx:String>
+        </fx:Array>
+    </mx:dayNames>
+</mx:DateChooser>
+
+<mx:Box id="bx15">
+    <fx:Reparent target="btn064" includeIn="state191" />
+    <comps:DefinedButton id="btn064" excludeFrom="state191" />
+    <comps:DefinedButton id="btn065" />
+    <comps:DefinedButton id="btn066" />
+</mx:Box>
+
+<mx:Box id="bx16">
+    <comps:DefinedButton id="btn067" excludeFrom="state192" />
+    <fx:Reparent target="btn067" includeIn="state192" />
+    <comps:DefinedButton id="btn068" />
+    <comps:DefinedButton id="btn069" />
+</mx:Box>
+
+<mx:Box id="bx17">
+    <comps:DefinedButton id="btn070" excludeFrom="state193" />
+    <comps:DefinedButton id="btn071" />
+    <fx:Reparent target="btn070" includeIn="state193" />
+    <comps:DefinedButton id="btn072" />
+</mx:Box>
+
+<mx:Box id="bx18">
+    <comps:DefinedButton id="btn073" excludeFrom="state194" />
+    <comps:DefinedButton id="btn074"  />
+    <comps:DefinedButton id="btn075" />
+    <fx:Reparent target="btn073" includeIn="state194" />
+</mx:Box>
+
+<mx:Box id="bx19">
+    <fx:Reparent target="btn077" includeIn="state195" />
+    <comps:DefinedButton id="btn076" />
+    <comps:DefinedButton id="btn077" excludeFrom="state195"  />
+    <comps:DefinedButton id="btn078" />
+</mx:Box>
+
+<mx:Box id="bx20">
+    <comps:DefinedButton id="btn079" />
+    <fx:Reparent target="btn080" includeIn="state196" />
+    <comps:DefinedButton id="btn080" excludeFrom="state196"  />
+    <comps:DefinedButton id="btn081" />
+</mx:Box>
+
+<mx:Box id="bx21">
+    <comps:DefinedButton id="btn082" />
+    <comps:DefinedButton id="btn083" excludeFrom="state197"  />
+    <fx:Reparent target="btn083" includeIn="state197" />
+    <comps:DefinedButton id="btn084" />
+</mx:Box>
+
+<mx:Box id="bx22">
+    <comps:DefinedButton id="btn085" />
+    <comps:DefinedButton id="btn086" excludeFrom="state198" />
+    <comps:DefinedButton id="btn087" />
+    <fx:Reparent target="btn086" includeIn="state198" />
+</mx:Box>
+
+<mx:Box id="bx23">
+    <fx:Reparent target="btn090" includeIn="state199" />
+    <comps:DefinedButton id="btn088" />
+    <comps:DefinedButton id="btn089" />
+    <comps:DefinedButton id="btn090" excludeFrom="state199" />
+</mx:Box>
+
+<mx:Box id="bx24">
+    <comps:DefinedButton id="btn091" />
+    <fx:Reparent target="btn093" includeIn="state200" />
+    <comps:DefinedButton id="btn092" />
+    <comps:DefinedButton id="btn093" excludeFrom="state200" />
+</mx:Box>
+
+<mx:Box id="bx25">
+    <comps:DefinedButton id="btn094" />
+    <comps:DefinedButton id="btn095" />
+    <fx:Reparent target="btn096" includeIn="state201" />
+    <comps:DefinedButton id="btn096" excludeFrom="state201" />
+</mx:Box>
+
+<mx:Box id="bx26">
+    <comps:DefinedButton id="btn097" />
+    <comps:DefinedButton id="btn098" />
+    <comps:DefinedButton id="btn099" excludeFrom="state202" />
+    <fx:Reparent target="btn099" includeIn="state202" />
+</mx:Box>
+
+<mx:Box id="bx27">
+    <comps:DefinedButton id="btn100" excludeFrom="state203" />
+    <comps:DefinedButton id="btn101" />
+    <comps:DefinedButton id="btn102" />
+</mx:Box>
+<mx:Box id="bx28">
+    <fx:Reparent target="btn100" includeIn="state203" />
+    <comps:DefinedButton id="btn103" />
+    <comps:DefinedButton id="btn104" />
+</mx:Box>
+
+<mx:Box id="bx29">
+    <comps:DefinedButton id="btn105" excludeFrom="state204" />
+    <comps:DefinedButton id="btn106" />
+    <comps:DefinedButton id="btn107" />
+</mx:Box>
+<mx:Box id="bx30">
+    <comps:DefinedButton id="btn108" />
+    <fx:Reparent target="btn105" includeIn="state204" />
+    <comps:DefinedButton id="btn109" />
+</mx:Box>
+
+<mx:Box id="bx31">
+    <comps:DefinedButton id="btn110" excludeFrom="state205" />
+    <comps:DefinedButton id="btn111" />
+    <comps:DefinedButton id="btn112" />
+</mx:Box>
+<mx:Box id="bx32">
+    <comps:DefinedButton id="btn113" />
+    <comps:DefinedButton id="btn114" />
+    <fx:Reparent target="btn110" includeIn="state205" />
+</mx:Box>
+
+<mx:Box id="bx33">
+    <comps:DefinedButton id="btn115" />
+    <comps:DefinedButton id="btn116" excludeFrom="state206" />
+    <comps:DefinedButton id="btn117" />
+</mx:Box>
+<mx:Box id="bx34">
+    <fx:Reparent target="btn116" includeIn="state206" />
+    <comps:DefinedButton id="btn118" />
+    <comps:DefinedButton id="btn119" />
+</mx:Box>
+
+<mx:Box id="bx35">
+    <comps:DefinedButton id="btn120" />
+    <comps:DefinedButton id="btn121" excludeFrom="state207" />
+    <comps:DefinedButton id="btn122" />
+</mx:Box>
+<mx:Box id="bx36">
+    <comps:DefinedButton id="btn123" />
+    <fx:Reparent target="btn121" includeIn="state207" />
+    <comps:DefinedButton id="btn124" />
+</mx:Box>
+
+<mx:Box id="bx37">
+    <comps:DefinedButton id="btn125" />
+    <comps:DefinedButton id="btn126" excludeFrom="state208" />
+    <comps:DefinedButton id="btn127" />
+</mx:Box>
+<mx:Box id="bx38">
+    <comps:DefinedButton id="btn128" />
+    <comps:DefinedButton id="btn129" />
+    <fx:Reparent target="btn126" includeIn="state208" />
+</mx:Box>
+
+<mx:Box id="bx39">
+    <comps:DefinedButton id="btn130" />
+    <comps:DefinedButton id="btn131" />
+    <comps:DefinedButton id="btn132" excludeFrom="state209" />
+</mx:Box>
+<mx:Box id="bx40">
+    <fx:Reparent target="btn132" includeIn="state209" />
+    <comps:DefinedButton id="btn133" />
+    <comps:DefinedButton id="btn134" />
+</mx:Box>
+
+<mx:Box id="bx41">
+    <comps:DefinedButton id="btn135" />
+    <comps:DefinedButton id="btn136" />
+    <comps:DefinedButton id="btn137" excludeFrom="state210" />
+</mx:Box>
+<mx:Box id="bx42">
+    <comps:DefinedButton id="btn138" />
+    <fx:Reparent target="btn137" includeIn="state210" />
+    <comps:DefinedButton id="btn139" />
+</mx:Box>
+
+<mx:Box id="bx43">
+    <comps:DefinedButton id="btn140" />
+    <comps:DefinedButton id="btn141" />
+    <comps:DefinedButton id="btn142" excludeFrom="state211" />
+</mx:Box>
+<mx:Box id="bx44">
+    <comps:DefinedButton id="btn143" />
+    <fx:Reparent target="btn142" includeIn="state211" />
+    <comps:DefinedButton id="btn144" />
+</mx:Box>
+
+<mx:Box id="bx45" borderStyle="solid" borderColor="0xff0000">
+    <comps:DefinedButton id="btn145" excludeFrom="state212,state213" />
+</mx:Box>
+<mx:Box id="bx46" borderStyle="solid" borderColor="0x00ff00">
+    <fx:Reparent target="btn145" includeIn="state212" />
+</mx:Box>
+<mx:Box id="bx47" borderStyle="solid" borderColor="0x0000ff">
+    <fx:Reparent target="btn145" includeIn="state213" />
+</mx:Box>
+
+<mx:Box id="bx48" borderStyle="solid" borderColor="0xff0000">
+    <comps:DefinedButton id="btn146" excludeFrom="state214" />
+    <comps:DefinedButton id="btn147" excludeFrom="state214" />
+</mx:Box>
+<mx:Box id="bx49" borderStyle="solid" borderColor="0x00ff00">
+    <fx:Reparent target="btn146" includeIn="state214" />
+    <fx:Reparent target="btn147" includeIn="state214" />
+</mx:Box>
+
+<mx:Box id="bx50" borderStyle="solid" borderColor="0x0000ff" width="100" height="100">
+    <comps:DefinedButton id="btn148" includeIn="state215" />
+    <fx:Reparent target="btn150" includeIn="state216" />
+    <fx:Reparent target="btn149" includeIn="state217" />
+    <mx:Box id="bx51" borderStyle="solid" borderColor="0xff0000" width="100%" height="100%">
+        <comps:DefinedButton id="btn149" includeIn="state215" />
+        <fx:Reparent target="btn148" includeIn="state216" />
+        <fx:Reparent target="btn150" includeIn="state217" />
+        <mx:Box id="bx52" borderStyle="solid" borderColor="0x00ff00" width="100%" height="100%">
+            <comps:DefinedButton id="btn150" includeIn="state215" />
+            <fx:Reparent target="btn149" includeIn="state216" />
+            <fx:Reparent target="btn148" includeIn="state217" />
+        </mx:Box>
+    </mx:Box>
+</mx:Box>
+
+<mx:Box id="bx53" borderStyle="solid" borderColor="0xff0000">
+    <comps:DefinedButton id="btn151" includeIn="state218" />
+</mx:Box>
+<mx:Box id="bx54" borderStyle="solid" borderColor="0x00ff00">
+    <fx:Reparent target="btn151" excludeFrom="state218" />
+</mx:Box>
+
+</mx:Application>

Added: incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_statefulObj.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_statefulObj.mxml?rev=1369998&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_statefulObj.mxml (added)
+++ incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesApp_statefulObj.mxml Mon Aug  6 20:42:44 2012
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?> 
+<!--
+
+  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.
+
+-->
+<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
+			   xmlns:s="library://ns.adobe.com/flex/spark" 
+			   xmlns:mx="library://ns.adobe.com/flex/mx" 
+			   minWidth="955" minHeight="600"> 
+
+	<fx:Style>
+		@namespace s "library://ns.adobe.com/flex/spark";
+		@namespace mx "library://ns.adobe.com/flex/mx";
+		
+		@font-face {
+			src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Regular.ttf");
+			fontFamily: EmbeddedVerdana;
+				embedAsCFF: false;
+		}
+
+		@font-face {
+			src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Bold.ttf");
+			fontWeight: bold;
+			fontFamily: EmbeddedVerdana;
+				embedAsCFF: false;
+		}
+
+		@font-face {
+			src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Italic.ttf");
+			fontStyle: italic;
+			fontFamily: EmbeddedVerdana;
+				embedAsCFF: false;
+		}
+
+		global{
+			fontFamily: EmbeddedVerdana;
+			fontAntiAliasType: normal;
+		}
+	</fx:Style>
+	
+	<fx:Declarations>
+		<fx:Array id="myArray">
+			<fx:Object name="Object in State 2" includeIn="state2"/>
+			<fx:Object name="Object from State 1" includeIn="state1"/>
+		</fx:Array>		
+		<s:ArrayCollection source="{myArray}" id="myAC"/>
+	</fx:Declarations>
+	
+	<fx:Script>
+		<![CDATA[
+			public function setDP():Boolean{
+				myLst.dataProvider = myAC;
+				return true;
+			}
+			
+			public function setLabelField():Boolean{
+				myLst.labelField = "name";
+				return true;
+			}
+		
+		]]>
+	</fx:Script>
+	
+	<s:states>
+		<s:State name="state1"/>
+		<s:State name="state2"/>
+	</s:states>
+	
+	<s:List id="myLst"/>
+	
+</s:Application>
\ No newline at end of file

Added: incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesIntegrationApp_Box.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesIntegrationApp_Box.mxml?rev=1369998&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesIntegrationApp_Box.mxml (added)
+++ incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesIntegrationApp_Box.mxml Mon Aug  6 20:42:44 2012
@@ -0,0 +1,94 @@
+<mx:Application width="800" height="600" backgroundColor="0xffffff" 
+xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark"
+>
+
+<fx:Script>
+<![CDATA[
+
+    import mx.events.StateChangeEvent;
+
+    public function goToState1():void{
+        if(currentState == "state1"){
+            dispatchEvent(new Event("inState1"));
+        }else{
+            addEventListener("currentStateChange", handleCurrentStateChange);
+            currentState = "state1";   
+        }
+    }
+    
+    public function goToState2():void{
+        if(currentState == "state2"){
+            dispatchEvent(new Event("inState2"));
+        }else{
+            addEventListener("currentStateChange", handleCurrentStateChange);
+            currentState = "state2";   
+        }
+    }
+
+    private function handleCurrentStateChange(e:StateChangeEvent):void{
+        if(currentState == "state1")
+            dispatchEvent(new Event("inState1"));
+        else if(currentState == "state2")
+            dispatchEvent(new Event("inState2"));            
+    }
+
+]]>
+</fx:Script>
+
+<!-- Embed fonts for cross platform compatibility of bitmap compares. -->
+<fx:Style>
+@namespace s "library://ns.adobe.com/flex/spark";
+@namespace mx "library://ns.adobe.com/flex/mx";
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Regular.ttf");
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Bold.ttf");
+        fontWeight: bold;
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Italic.ttf");
+        fontStyle: italic;
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    global{
+        fontFamily: EmbeddedVerdana;
+        fontAntiAliasType: normal;
+    }
+</fx:Style>
+
+<mx:states>
+    <mx:State name="state1" />
+    <mx:State name="state2" />
+</mx:states>
+
+<mx:Box id="box01">
+    <s:Button includeIn="state1"/>
+</mx:Box>
+
+<mx:Box id="box02">
+    <s:Button includeIn="state2"/>
+</mx:Box>
+
+<mx:Box id="box03">
+    <s:Button excludeFrom="state1"/>
+</mx:Box>
+
+<mx:Box id="box04">
+    <s:Button excludeFrom="state2"/>
+</mx:Box>
+
+<mx:Box id="box05">
+    <s:Button includeIn="state2"/>
+    <s:Button excludeFrom="state2"/>
+</mx:Box>
+
+</mx:Application>

Added: incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesIntegrationApp_ComboBox.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesIntegrationApp_ComboBox.mxml?rev=1369998&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesIntegrationApp_ComboBox.mxml (added)
+++ incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesIntegrationApp_ComboBox.mxml Mon Aug  6 20:42:44 2012
@@ -0,0 +1,255 @@
+<mx:Application width="800" height="600" backgroundColor="0xffffff" 
+xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark"
+>
+
+<fx:Script>
+<![CDATA[
+
+    import mx.events.StateChangeEvent;
+    
+    public function goToState2():void{
+        if(currentState == "state2"){
+            dispatchEvent(new Event("inState2"));
+        }else{
+            addEventListener("currentStateChange", handleCurrentStateChange);
+            currentState = "state2";   
+        }
+    }
+
+    private function handleCurrentStateChange(e:StateChangeEvent):void{
+        dispatchEvent(new Event("inState2"));
+    }
+
+]]>
+</fx:Script>
+
+<!-- Embed fonts for cross platform compatibility of bitmap compares. -->
+<fx:Style>
+@namespace s "library://ns.adobe.com/flex/spark";
+@namespace mx "library://ns.adobe.com/flex/mx";
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Regular.ttf");
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Bold.ttf");
+        fontWeight: bold;
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Italic.ttf");
+        fontStyle: italic;
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    global{
+        fontFamily: EmbeddedVerdana;
+        fontAntiAliasType: normal;
+    }
+</fx:Style>
+
+<mx:states>
+    <mx:State name="state1" />
+    <mx:State name="state2" />
+</mx:states>
+
+<!-- 
+================================================================================
+    ComboBox:
+        Its default property is 'dataProvider', which is type 'Object'.
+================================================================================
+-->
+
+<mx:ComboBox id="cbx1">
+    <fx:String includeIn="state1">string in state1</fx:String>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx2">
+    <fx:String includeIn="state2">string in state2</fx:String>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx3">
+    <fx:String includeIn="state1">string in state1</fx:String>
+    <fx:String includeIn="state1">another string in state1</fx:String>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx4">
+    <fx:String includeIn="state2">string in state2</fx:String>
+    <fx:String includeIn="state2">another string in state2</fx:String>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx5">
+    <fx:String includeIn="state1">string in state1</fx:String>
+    <fx:String includeIn="state2">string in state2</fx:String>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx6">
+    <fx:String includeIn="state2">string in state2</fx:String>
+    <fx:String includeIn="state1">string in state1</fx:String>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx7">
+    <fx:Array includeIn="state1">
+        <fx:String>array in state1</fx:String>
+    </fx:Array>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx8">
+    <fx:Array includeIn="state2">
+        <fx:String>array in state2</fx:String>
+    </fx:Array>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx9">
+    <fx:Array includeIn="state1">
+        <fx:String>array in state1</fx:String>
+    </fx:Array>
+    <fx:Array includeIn="state1">
+        <fx:String>another array in state1</fx:String>
+    </fx:Array>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx10">
+    <fx:Array includeIn="state2">
+        <fx:String>array in state2</fx:String>
+    </fx:Array>
+    <fx:Array includeIn="state2">
+        <fx:String>another array in state2</fx:String>
+    </fx:Array>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx11">
+    <fx:Array includeIn="state1">
+        <fx:String>array in state1</fx:String>
+    </fx:Array>
+    <fx:Array includeIn="state2">
+        <fx:String>array in state2</fx:String>
+    </fx:Array>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx12">
+    <fx:Array includeIn="state2">
+        <fx:String>array in state2</fx:String>
+    </fx:Array>
+    <fx:Array includeIn="state1">
+        <fx:String>array in state1</fx:String>
+    </fx:Array>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx13">
+    <fx:Array includeIn="state1">
+        <fx:String>array in state1</fx:String>
+    </fx:Array>
+    <fx:String includeIn="state1">string in state1</fx:String>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx14">
+    <fx:String includeIn="state1">string in state1</fx:String>
+    <fx:Array includeIn="state1">
+        <fx:String>array in state1</fx:String>
+    </fx:Array>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx15">
+    <fx:Array includeIn="state2">
+        <fx:String>array in state2</fx:String>
+    </fx:Array>
+    <fx:String includeIn="state2">string in state2</fx:String>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx16">
+    <fx:String includeIn="state2">string in state2</fx:String>
+    <fx:Array includeIn="state2">
+        <fx:String>array in state2</fx:String>
+    </fx:Array>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx17">
+    <fx:Array includeIn="state1">
+        <fx:String>array in state1</fx:String>
+    </fx:Array>
+    <fx:String includeIn="state2">string in state2</fx:String>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx18">
+    <fx:Array includeIn="state2">
+        <fx:String>array in state2</fx:String>
+    </fx:Array>
+    <fx:String includeIn="state1">string in state1</fx:String>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx19">
+    <fx:String includeIn="state2">string in state2</fx:String>
+    <fx:Array includeIn="state1">
+        <fx:String>array in state1</fx:String>
+    </fx:Array>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx20">
+    <fx:String includeIn="state1">string in state1</fx:String>
+    <fx:Array includeIn="state2">
+        <fx:String>array in state2</fx:String>
+    </fx:Array>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx21">
+    <fx:Array includeIn="state1">
+        <fx:String>array in state1</fx:String>
+    </fx:Array>
+    <fx:String>string always present</fx:String>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx22">
+    <fx:Array includeIn="state2">
+        <fx:String>array in state2</fx:String>
+    </fx:Array>
+    <fx:String>string always present</fx:String>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx23">
+    <fx:String>string always present</fx:String>
+    <fx:Array includeIn="state1">
+        <fx:String>array in state1</fx:String>
+    </fx:Array>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx24">
+    <fx:String>string always present</fx:String>
+    <fx:Array includeIn="state2">
+        <fx:String>array in state2</fx:String>
+    </fx:Array>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx25">
+    <fx:String includeIn="state1">string in state1</fx:String>
+    <fx:Array>
+        <fx:String>array always present</fx:String>
+    </fx:Array>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx26">
+    <fx:String includeIn="state2">string in state2</fx:String>
+    <fx:Array>
+        <fx:String>array always present</fx:String>
+    </fx:Array>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx27">
+    <fx:Array>
+        <fx:String>array always present</fx:String>
+    </fx:Array>
+    <fx:String includeIn="state1">string in state1</fx:String>
+</mx:ComboBox>
+
+<mx:ComboBox id="cbx28">
+    <fx:Array>
+        <fx:String>array always present</fx:String>
+    </fx:Array>
+    <fx:String includeIn="state2">string in state2</fx:String>
+</mx:ComboBox>
+</mx:Application>

Added: incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesIntegrationApp_Group.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesIntegrationApp_Group.mxml?rev=1369998&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesIntegrationApp_Group.mxml (added)
+++ incubator/flex/trunk/mustella/tests/States/CurrentSyntax/SWFs/statesIntegrationApp_Group.mxml Mon Aug  6 20:42:44 2012
@@ -0,0 +1,307 @@
+<mx:Application width="800" height="600" backgroundColor="0xffffff" 
+xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark"
+>
+
+<fx:Script>
+<![CDATA[
+
+    import mx.events.StateChangeEvent;
+    
+    public function goToState2():void{
+        if(currentState == "state2"){
+            dispatchEvent(new Event("inState2"));
+        }else{
+            addEventListener("currentStateChange", handleCurrentStateChange);
+            currentState = "state2";   
+        }
+    }
+
+    private function handleCurrentStateChange(e:StateChangeEvent):void{
+        dispatchEvent(new Event("inState2"));
+    }
+
+]]>
+</fx:Script>
+
+<!-- Embed fonts for cross platform compatibility of bitmap compares. -->
+<fx:Style>
+@namespace s "library://ns.adobe.com/flex/spark";
+@namespace mx "library://ns.adobe.com/flex/mx";
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Regular.ttf");
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Bold.ttf");
+        fontWeight: bold;
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    @font-face {
+        src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Italic.ttf");
+        fontStyle: italic;
+        fontFamily: EmbeddedVerdana;
+			embedAsCFF: false;
+    }
+
+    global{
+        fontFamily: EmbeddedVerdana;
+        fontAntiAliasType: normal;
+    }
+</fx:Style>
+
+<mx:states>
+    <mx:State name="state1" />
+    <mx:State name="state2" />
+</mx:states>
+
+<!-- 
+================================================================================
+    Group:
+        Its default property is 'mxmlContent', which is type 'Array'.
+================================================================================
+-->
+
+<s:VGroup id="g1" >
+    <mx:Label includeIn="state1" text="string in state1" />
+</s:VGroup>
+
+<s:VGroup id="g2" >
+    <mx:Label includeIn="state2" text="string in state2" />
+</s:VGroup>
+
+<s:VGroup id="g3" >
+    <mx:Label includeIn="state1" text="string in state1" />
+    <mx:Label includeIn="state1" text="another string in state1" />
+</s:VGroup>
+    
+<s:VGroup id="g4" >
+    <mx:Label includeIn="state2" text="string in state2" />
+    <mx:Label includeIn="state2" text="another string in state2" />
+</s:VGroup>
+
+<s:VGroup id="g5" >
+    <mx:Label includeIn="state1" text="string in state1" />
+    <mx:Label includeIn="state2" text="string in state2" />
+</s:VGroup>
+
+<s:VGroup id="g6" >
+    <mx:Label includeIn="state2" text="string in state2" />
+    <mx:Label includeIn="state1" text="string in state1" />
+</s:VGroup>
+
+<s:VGroup id="g7" >
+    <fx:Array includeIn="state1">
+        <mx:Label text="array in state1" />
+    </fx:Array>
+</s:VGroup>
+
+<s:VGroup id="g8" >
+    <fx:Array includeIn="state2">
+        <mx:Label text="array in state2" />
+    </fx:Array>
+</s:VGroup>
+
+<s:DataGroup id="g9" itemRenderer="spark.skins.spark.DefaultItemRenderer" >
+    <s:layout>
+        <s:VerticalLayout/>
+    </s:layout>
+    <mx:ArrayCollection>
+        <fx:Array includeIn="state1">
+            <fx:String>array in state1</fx:String>
+        </fx:Array>
+        <fx:Array includeIn="state1">
+            <fx:String>another array in state1</fx:String>
+        </fx:Array>
+    </mx:ArrayCollection>
+</s:DataGroup>
+
+<s:DataGroup id="g10" itemRenderer="spark.skins.spark.DefaultItemRenderer" >
+    <s:layout>
+        <s:VerticalLayout/>
+    </s:layout>
+    <mx:ArrayCollection>
+        <fx:Array includeIn="state2">
+            <fx:String>array in state2</fx:String>
+        </fx:Array>
+        <fx:Array includeIn="state2">
+            <fx:String>another array in state2</fx:String>
+        </fx:Array>
+    </mx:ArrayCollection>
+</s:DataGroup>
+
+<s:DataGroup id="g11" itemRenderer="spark.skins.spark.DefaultItemRenderer" >
+   <s:layout>
+       <s:VerticalLayout/>
+   </s:layout>
+    <mx:ArrayCollection>
+        <fx:Array includeIn="state1">
+            <fx:String>array in state1</fx:String>
+        </fx:Array>
+        <fx:Array includeIn="state2">
+            <fx:String>array in state2</fx:String>
+        </fx:Array>
+    </mx:ArrayCollection>
+</s:DataGroup>
+
+<s:DataGroup id="g12" itemRenderer="spark.skins.spark.DefaultItemRenderer" >
+    <s:layout>
+        <s:VerticalLayout/>
+    </s:layout>
+    <mx:ArrayCollection>
+        <fx:Array includeIn="state2">
+            <fx:String>array in state2</fx:String>
+        </fx:Array>
+        <fx:Array includeIn="state1">
+            <fx:String>array in state1</fx:String>
+        </fx:Array>
+    </mx:ArrayCollection>
+</s:DataGroup>
+
+<s:DataGroup id="g13" itemRenderer="spark.skins.spark.DefaultItemRenderer" >
+    <s:layout>
+        <s:VerticalLayout/>
+    </s:layout>
+    <mx:ArrayCollection>
+        <fx:Array includeIn="state1">
+            <fx:String>array in state1</fx:String>
+        </fx:Array>
+        <mx:Label includeIn="state1" text="string in state1" />
+    </mx:ArrayCollection>
+</s:DataGroup>
+
+<s:DataGroup id="g14" itemRenderer="spark.skins.spark.DefaultItemRenderer" >
+    <s:layout>
+        <s:VerticalLayout/>
+    </s:layout>
+    <mx:ArrayCollection>
+        <mx:Label includeIn="state1" text="string in state1" />
+        <fx:Array includeIn="state1">
+            <fx:String>array in state1</fx:String>
+        </fx:Array>
+    </mx:ArrayCollection>
+</s:DataGroup>
+
+<s:DataGroup id="g15" itemRenderer="spark.skins.spark.DefaultItemRenderer" >
+    <s:layout>
+        <s:VerticalLayout/>
+    </s:layout>
+    <mx:ArrayCollection>
+        <fx:Array includeIn="state2">
+            <fx:String>array in state2</fx:String>
+        </fx:Array>
+        <mx:Label includeIn="state2" text="string in state2" />
+    </mx:ArrayCollection>
+</s:DataGroup>
+
+<s:DataGroup id="g16" itemRenderer="spark.skins.spark.DefaultItemRenderer" >
+    <s:layout>
+        <s:VerticalLayout/>
+    </s:layout>
+    <mx:ArrayCollection>
+        <mx:Label includeIn="state2" text="string in state2" />
+        <fx:Array includeIn="state2">
+            <fx:String>array in state2</fx:String>
+        </fx:Array>
+    </mx:ArrayCollection>
+</s:DataGroup>
+    
+<s:DataGroup id="g17" itemRenderer="spark.skins.spark.DefaultItemRenderer" >
+    <s:layout>
+        <s:VerticalLayout/>
+    </s:layout>
+    <mx:ArrayCollection>
+        <fx:Array includeIn="state1">
+            <fx:String>array in state1</fx:String>
+        </fx:Array>
+        <mx:Label includeIn="state2" text="string in state2" />
+    </mx:ArrayCollection>
+</s:DataGroup>
+
+<s:DataGroup id="g18" itemRenderer="spark.skins.spark.DefaultItemRenderer" >
+    <s:layout>
+        <s:VerticalLayout/>
+    </s:layout>
+    <mx:ArrayCollection>
+        <fx:Array includeIn="state2">
+            <fx:String>array in state2</fx:String>
+        </fx:Array>
+        <mx:Label includeIn="state1" text="string in state1" />
+    </mx:ArrayCollection>
+</s:DataGroup>
+
+<s:DataGroup id="g19" itemRenderer="spark.skins.spark.DefaultItemRenderer" >
+    <s:layout>
+        <s:VerticalLayout/>
+    </s:layout>
+    <mx:ArrayCollection>
+        <mx:Label includeIn="state2" text="string in state2" />
+        <fx:Array includeIn="state1">
+            <fx:String>array in state1</fx:String>
+        </fx:Array>
+    </mx:ArrayCollection>
+</s:DataGroup>
+    
+<s:DataGroup id="g20" itemRenderer="spark.skins.spark.DefaultItemRenderer" >
+    <s:layout>
+        <s:VerticalLayout/>
+    </s:layout>
+    <mx:ArrayCollection>
+        <mx:Label includeIn="state1" text="string in state1" />
+        <fx:Array includeIn="state2">
+            <fx:String>array in state2</fx:String>
+        </fx:Array>
+    </mx:ArrayCollection>
+</s:DataGroup>
+
+<s:DataGroup id="g21" itemRenderer="spark.skins.spark.DefaultItemRenderer" >
+    <s:layout>
+        <s:VerticalLayout/>
+    </s:layout>
+    <mx:ArrayCollection>
+        <mx:Label includeIn="state1" text="string in state1" />
+        <fx:Array>
+            <fx:String>array always present</fx:String>
+        </fx:Array>
+    </mx:ArrayCollection>
+</s:DataGroup>
+
+<s:DataGroup id="g22" itemRenderer="spark.skins.spark.DefaultItemRenderer" >
+    <s:layout>
+        <s:VerticalLayout/>
+    </s:layout>
+    <mx:ArrayCollection>
+        <mx:Label includeIn="state2" text="string in state2" />
+        <fx:Array>
+            <fx:String>array always present</fx:String>
+        </fx:Array>
+    </mx:ArrayCollection>
+</s:DataGroup>
+
+<s:DataGroup id="g23" itemRenderer="spark.skins.spark.DefaultItemRenderer" >
+    <s:layout>
+        <s:VerticalLayout/>
+    </s:layout>
+    <mx:ArrayCollection>
+        <fx:Array>
+            <fx:String>array always present</fx:String>
+        </fx:Array>
+        <mx:Label includeIn="state1" text="string in state1" />
+    </mx:ArrayCollection>
+</s:DataGroup>
+
+<s:DataGroup id="g24" itemRenderer="spark.skins.spark.DefaultItemRenderer" >
+    <s:layout>
+        <s:VerticalLayout/>
+    </s:layout>
+    <mx:ArrayCollection>
+        <fx:Array>
+            <fx:String>array always present</fx:String>
+        </fx:Array>
+        <mx:Label includeIn="state2" text="string in state2" />
+    </mx:ArrayCollection>
+</s:DataGroup>
+</mx:Application>



Mime
View raw message