Hi Gordon, 

I've been using Canvas with ViewStack too. The reason is that I don't 
know of a lower level alternative that extends Container. I would 
have thought UIComponent was a good option as it does have Container 
as a sub-class but I get type coercion error failed to convert to 
mx.core.containers. What is a good container to extend?

Cheers


Nick


--- In flexcoders@yahoogroups.com, "Gordon Smith" <[EMAIL PROTECTED]> wrote:
>
> By the way, why are you wrapping your <Login> and <Register> 
components
> inside <Canvas>es to put them into the <ViewStack>? This probably 
isn't
> necessary. The children of a ViewStack must be some kind of 
Container,
> and I'm guessing that Login and Register are subclasses of 
Container.
> 
>  
> 
> Gordon Smith
> 
> Adobe Flex SDK Team
> 
>  
> 
> ________________________________
> 
> From: flexcoders@yahoogroups.com 
[mailto:[EMAIL PROTECTED] On
> Behalf Of Gordon Smith
> Sent: Wednesday, April 16, 2008 2:43 PM
> To: flexcoders@yahoogroups.com
> Subject: RE: [flexcoders] Re: Flex Compenents, how to make them talk
> 
>  
> 
> A click handler in Login's <Script> could do
> 
>  
> 
>     Application.application.vsApp.selectedChild =
> Application.application.vsRegister;
> 
>  
> 
> but it wouldn't be good practice because it means that Login has too
> much knowledge about Application. If you don't want to use events, 
put
> 
>  
> 
>     public function showRegister()
> 
>     {
> 
>         vsApp.selectedChild = vsRegister;
> 
>     }
> 
>  
> 
> in Application's <Script> and have your click handler in Login's
> <Script> call it:
> 
>  
> 
>     Application.application.showRegister();
> 
>  
> 
> or
> 
>  
> 
>     parentDocument.showRegister();
> 
>  
> 
> That way, Login asks Application to do something without telling it 
how
> to do it.
> 
>  
> 
> Gordon Smith
> 
> Adobe Flex SDK Team
> 
>  
> 
> ________________________________
> 
> From: flexcoders@yahoogroups.com 
[mailto:[EMAIL PROTECTED] On
> Behalf Of timgerr
> Sent: Wednesday, April 16, 2008 2:23 PM
> To: flexcoders@yahoogroups.com
> Subject: [flexcoders] Re: Flex Compenents, how to make them talk
> 
>  
> 
> Lets say I have a Flex Component called test1.mxml and that 
> component has a view stack. I then create another component called 
> test2.mxml and I want to reference the view stack in test1.mxml, 
can 
> I do that?
> 
> The problem is I want to change states so I have a component that 
is 
> register.mxml and another one that says login.mxml. So here I have 
> a veiwStack on the main application for 
> 
> <Application xmlns:log="com.login.*" mxlns:reg="com.register.*">
> <mx:ViewStack id="vsApp" width="100%" height="100%">
> 
> <mx:Canvas label="vsScreenLogin" id="vsScreenLogin">
> <log:Login x="302" y="138"/>
> </mx:Canvas>
> 
> <mx:Canvas label="vsRegister" id="vsRegister">
> <reg:Register/>
> </mx:Canvas>
> 
> </mx:ViewStack>
> 
> </Application>
> 
> OK, so in the login.mxml I have a button that says register and 
when 
> that is clicked I want to run this to change the state:
> vsApp.selectedChild=vsScreenLogin. I am unable to run this command 
> from Login.mxml because login.mxml dosnt know about the main app. 
> How can I pass information from a Flex component to the main 
> application????
> 
> Thanks for the help,
> timgerr
> 
> --- In flexcoders@yahoogroups.com <mailto:flexcoders%
40yahoogroups.com>
> , "Gordon Smith" <gosmith@> 
> wrote:
> >
> > If you have
> > 
> > 
> > 
> > <Application>
> > 
> > <MyContainer id="myContainer">
> > 
> > <MyControl id="myControl"/>
> > 
> > </myContainer>
> > 
> > </Application>
> > 
> > 
> > 
> > then in the Application's <Script> you can simply refer to the
> > MyContainer instance as myContainer and to the MyControl instance 
> as
> > myControl (NOT myContainer.myControl). 
> > 
> > 
> > 
> > In MyContainer's <Script> you can refer to the Application 
> instance as
> > parentDocument or as Application.application.
> > 
> > 
> > 
> > In MyControls' <Script> you can refer to to the MyContainer 
> instance as
> > parentDocument and to the Application instance as
> > parentDocument.parentDocument or as Application.application.
> > 
> > 
> > 
> > In general, you can access anything from anywhere.
> > 
> > 
> > 
> > Gordon Smith
> > 
> > Adobe Flex SDK Team
> > 
> > 
> > 
> > ________________________________
> > 
> > From: flexcoders@yahoogroups.com <mailto:flexcoders%
40yahoogroups.com>
> 
> [mailto:flexcoders@yahoogroups.com <mailto:flexcoders%
40yahoogroups.com>
> ] On
> > Behalf Of timgerr
> > Sent: Tuesday, April 15, 2008 8:20 PM
> > To: flexcoders@yahoogroups.com <mailto:flexcoders%
40yahoogroups.com> 
> > Subject: [flexcoders] Flex Compenents, how to make them talk
> > 
> > 
> > 
> > I was wondering if I create a Flex Application and have 5 Flex
> > components that integrate within my Flex App, how can they all 
> talk to
> > each other???? Since they do not know about each other till the 
swf
> > file is compiled, I am unable to have one component event trigger
> > something on another component because they dont know about each 
> other.
> > 
> > Thanks for the help,
> > 
> > Timgerr
> >
>


Reply via email to