{ "type": "class",
  "qname": "mx.states.Transition",
  "baseClassname": "org.apache.royale.states.Transition"
  ,
    "description": "The Transition class defines a set of effects that play in response to a change of view state. While a view state definition defines how to change states, a transition defines the order in which visual changes occur during the state change.  <p>To define a transition, you set the <code>transitions</code> property of an Application to an Array of Transition objects. </p>  <p>You use the <code>toState</code> and <code>fromState</code> properties of the Transition class to specify the state changes that trigger the transition. By default, both the <code>fromState</code> and <code>toState</code> properties are set to &quot;&#42;&quot;, meaning apply the transition to any changes to the view state.</p>  <p>You can use the <code>fromState</code> property to explicitly specify a view state that your are changing from, and the <code>toState</code> property to explicitly specify a view state that you are changing to. If a state change matches two transitions, the <code>toState</code> property takes precedence over the <code>fromState</code> property. If more than one transition match, Flex uses the first definition in the transition array. </p>  <p>You use the <code>effect</code> property to specify the Effect object to play when you apply the transition. Typically, this is a composite effect object, such as the Parallel or Sequence effect, that contains multiple effects, as the following example shows:</p><pre>\\n \\n &lt;mx:Transition id=&quot;myTransition&quot; fromState=&quot;&#42;&quot; toState=&quot;&#42;&quot;&gt;\\n &lt;mx:Parallel&gt;\\n ...\\n &lt;/mx:Parallel&gt;\\n &lt;/mx:Transition&gt;\\n </pre>   <p>The <code>&lt;mx:Transition&gt;</code> tag defines the following attributes:</p>  <pre>\\n &lt;mx:Transition\\n <b>Properties</b>\\n id=&quot;ID&quot;\\n effect=&quot;&quot;\\n fromState=&quot;&#42;&quot;\\n toState=&quot;&#42;&quot;\\n autoReverse=&quot;false&quot;\\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "includeExample",
         "values": ["examples/TransitionExample.mxml"]},
      {  "tagName": "see",
         "values": ["mx.effects.AddChildAction", "mx.effects.RemoveChildAction", "mx.effects.SetPropertyAction", "mx.effects.SetStyleAction"]},
      {  "tagName": "mxml",
         "values": []},
      {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "mx.states.Transition",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "autoReverse",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Set to <code>true</code> to specify that this transition applies to both the forward and reverse view state changes. Therefore, use this transition on a change from view state A to view state B, and on the change from B to A.  <p>While the transition from view state A to view state B is playing, the reverse transition can occur to interrupt the current transition. The reverse transition always halts the current transition at its current location. That is, the reverse transition always plays as if the <code>interruptionBehavior</code> property was set to <code>stop</code>, regardless of the real value of <code>interruptionBehavior</code>.</p>  <p>This property is only checked when the new transition is going in the exact opposite direction of the currently playing one. That is, if a transition is playing between states A and B and then a transition to return to A is started. </p>  <p>If a transition uses the <code>toState</code> and <code>fromState</code> properties to explicitly handle the transition from view state B to A, then Flex ignores the <code>autoReverse</code> property. </p>",
        "tags": [
        {  "tagName": "default",
               "values": ["false"]},
            {  "tagName": "see",
               "values": ["Transition#interruptionBehavior"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
