Probably just a sintax choice: having them all toghether could be useful to
quickly have an outlook of the states stuff when you open an MXML document,
instead of searching for a number of sparse <s:states> blocks (they are the
state of the main MXML component, after all) - on the other hand, defining
them inline maybe feels "right" and the resulting code snippets are more
manageable.


2013/6/6 jude <flexcapaci...@gmail.com>

> Yeah. I like the state delegates. What if you took it one step further and
> added inline states?
>
> <s:states>
>       <s:State name="up"/>
>      <s:State name="down"/>
>      <s:State name="over"/>
> </s:states>
>
>
> <s:Group id="focusGroup">
>      <s:states>
>          <s:State name="nonFocused"/>
>           <s:State name="focused"/>
>      </s:states>
>
>       <s:transitions>
>            <s:Transition fromState"nonDefault" toState"default">
>                 <s:Fade target="{focusRect}" alphaFrom="0" alphaTo="1"/>
>            <s:/Transition>
>        </s:transitions>
>
>       <s:Rect id="focusRect" top="0" bottom="0" left="0" right="0"
> alpha="0" alpha.default="1"/>
>           <s:stroke><s:SolidColorStroke color="..."/></s:stroke>
>       </s:Rect>
> </s:Group>
>
>
>
> On Thu, Jun 6, 2013 at 2:12 AM, Cosma Colanicchia <cosma...@gmail.com
> >wrote:
>
> > Multiple states using spaces (e.g. currentState="up default") looks nice
> to
> > the eyes.
> >
> > I was thinking about impact on the transitions management - I'm not sure
> > that the current transition approach (fromState/toState) scales well once
> > we go this way.
> >
> > A possible idea could be to support "state delegates", i.e. allow to
> break
> > up the MXML component in subcomponents, and let each of these
> subcomponents
> > manage its own set of states and the related transitions.
> >
> > Elaborating on the Bill approach, something like:
> >
> > <s:states>
> > <s:ExclusiveStateGroup id="mouse">
> >  <s:State name="up"/>
> > <s:State name="down"/>
> > <s:State name="over"/>
> >  </s:ExclusiveStateGroup>
> > <s:ExclusiveStateGroup id="focus" stateDelegate="focusGroup">
> >  <s:State name="nonFocused"/>
> > <s:State name="focused"/>
> > </s:ExclusiveStateGroup>
> >  <s:ExclusiveStateGroup id="selection">
> > <s:State name="nonDefault"/>
> > <s:State name="default"/>
> >  </s:ExclusiveStateGroup>
> > </s:states>
> >
> > [...]
> >
> > <s:Group id="focusGroup"
> > top="0" bottom="0" left="0" right="0">
> >  <s:transitions>
> > <s:Transition fromState"nonDefault" toState"default">
> >  <s:Fade target="{focusRect}"
> > alphaFrom="0" alphaTo="1"/>
> > <s:/Transition>
> >  </s:transitions>
> > <s:Rect id="focusRect"
> > top="0" bottom="0" left="0" right="0"
> >  alpha="0" alpha.default="1"/>
> > <s:stroke>
> > <s:SolidColorStroke color="..."/>
> >  </s:stroke>
> > </s:Rect>
> > </s:Group>
> >
> >
> > This would allow multiple transitions in each "exclusive state group" to
> be
> > managed indipendently, and make sense to me as well, because often each
> set
> > of these state groups only impacts a specific part of the component (or
> of
> > the skin): in the example, focus just add a glowing border on top of the
> > rest.
> >
> > This allow to grab one or two set of states, and subtract them from the
> > cartesian multiplication (and also simplify the related transitions
> > management, isolating it from other states). When the "stateDelegate" is
> > not provided, it just means that the related states are managed by the
> top
> > MXML component.
> >
> > In a sense, responding to Jude, this aims to bring the benefits of the
> > composition approach (versus the inheritance provided by basedOn states).
> >
> >
>

Reply via email to