Erik,

Unfortunately I'm not at liberty to share our source code, but I've 
created a component that is very similar to what you want.  I can 
describe the overall approach since we're not in the business of 
building component libraries, so no state secrets here.  But no code, sorry.

It did take us the better part of a week and was not a trivial task, 
although the volume of code is not great.  There are a lot of details 
that one must get right.  However, when done, you will wind up with a 
fairly general solution.

If you don't feel like doing all this work, at least it does give a 
sense of what effort is involved.  I am sure there are other recipes for 
doing this.  I would be surprised if they were much easier, though.

Here is a roadmap:

- structure the whole component as a specialized VBox subclass 
containing ViewStack children.  The ViewStack children switch between 
"compressed" and "expanded" appearances, as alternate subviews in the 
stack.  (The nice thing about ViewStacks is that you could have any 
number of appearances for each child view.)

- When a change in one or more childrens' appearance occurs, first hide 
or fade the contents of all changing ViewStacks (this speeds up the 
animation effect described below).  Then change the selectedChild 
property of all changing ViewStacks, which will trigger a relayout of 
the parent VBox.  You must be sure to do all the hiding/fading before 
changing any of the selectedChild properties.

- in your VBox subclass, override layoutChildren() to call 
super.layoutChildren() and then determine all changes that the 
superclass just made to the child ViewStack dimensions.  Then, trigger 
an effect to animate all child dimension changes simultaneously.  For 
better performance, first set the autoLayout property of changing 
chldren to false.

- After the resizing effect completes, restore autoLayout properties, 
then unhide/unfade the contents of the changing children.

For more flexibility, we found it most convenient to use the Tween class 
rather than the EffectManager framework to accomplish all of the above 
effects.

I would like to be more helpful but it's probably not going to be 
possible for me to walk through this at a finer level of detail due to 
time constraints.  The best I can do is assure you that the approach is 
solid.  Perhaps someone else will come up with some free code that does 
the same thing that they can share.

Good luck...

.       .    .  . ...j


Erik Westra wrote:
> With this email attached an swf. This swf was created by our designer.
> When u click the second item a pane opens. Its my job to make this into
> a component. However this component must be V2 compatable and should be
> usable like the accordian pane, via tags.
> 
> Does any1 have a clue where to find the right information I need to
> create a V2 component wich has the functionalities the attached
> representation has. 
> 
> The component has:
> - an variable amount of children
> - a variable space between different items
> - an mxml component (like TabNavigator and Accordion) as child per item
> 
> The component must be fully stylable and skinnable.
> 
> Does any1 have some hints on how to start?
> 
> Your help is greatly appreciated.
> 
> 
> Greetz Erik 
> 
> 
>  
> Yahoo! Groups Links
> 
> 
> 
>  



 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/flexcoders/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to