You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by pe...@apache.org on 2012/08/06 22:42:49 UTC
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...
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>