When you hide an object, its children's visible property is not changed.
True visibility requires walking the parent chain to the top to be sure
everyone has visible=true.

 

So, listening to the parent isn't good enough.  Listening to the
viewstack in capture phase should be more helpful.  You will get lots of
extraneous events from all of the children, but you will be able to see
the things you care about change visibility and react accordingly.

 

-Alex

 

________________________________

From: [email protected]
[mailto:[EMAIL PROTECTED] On Behalf Of dustyjewett
Sent: Monday, January 15, 2007 4:35 PM
To: [email protected]
Subject: [flexcomponents] Re: Determining whether parent is
visible/invisible

 

Well, I'm listening to the component's parent's Show/Hide Event, but
it doesn't fire :-(... I had put in a "trace(realParent.visible)" in
the mouseover function, but it always reports that the parent is
visible. 

I'm guessing that somewhere in the AVM, if you hide an object, all
children are hidden, but their hide event doesn't fire.

Do I just have figure out how deep my component is, then subscribe to
all parents' show/hide events?

--- In [email protected]
<mailto:flexcomponents%40yahoogroups.com> , "Alex Harui" <[EMAIL PROTECTED]>
wrote:
>
> I don't have time to dig into your code right now, but hopefully
others
> will.
> 
> 
> 
> Keep in mind that the event model supports a capture phase. Listening
> to show/hide on the viewstack at the capture phase will let you see
> visible changes in all children of the viewstack.
> 
> 
> 
> -Alex
> 
> 
> 
> ________________________________
> 
> From: [email protected]
<mailto:flexcomponents%40yahoogroups.com> 
> [mailto:[email protected]
<mailto:flexcomponents%40yahoogroups.com> ] On Behalf Of dustyjewett
> Sent: Monday, January 15, 2007 12:34 PM
> To: [email protected]
<mailto:flexcomponents%40yahoogroups.com> 
> Subject: [flexcomponents] Re: Determining whether parent is
> visible/invisible
> 
> 
> 
> I uploaded the file to:
> http://dustyjewett.com/wp-content/uploads/2007/01/drawerdemo.zip
<http://dustyjewett.com/wp-content/uploads/2007/01/drawerdemo.zip> 
> <http://dustyjewett.com/wp-content/uploads/2007/01/drawerdemo.zip
<http://dustyjewett.com/wp-content/uploads/2007/01/drawerdemo.zip> > 
> 
> The original code is good, but my additions are pretty messy, I
> apologize... I've fixed one problem I was having (with Viewstacks, the
> first block of code in "getPosition()"... ), but the damn thing won't
> hide when switching tabs.... I'm subscribed the the hide/show events,
> but those don't bubble down.
> 
> Thanks for the help guys!
> 
> -Dusty
> 
> --- In [email protected]
<mailto:flexcomponents%40yahoogroups.com> , "dustyjewett"
<dusty.jewett@>
> wrote:
> >
> > Hello,
> > 
> > I'm attempting to extend the "Drawer" component found here:
> > http://kuwamoto.org/2006/05/11/example-code-updated-for-beta-3/
<http://kuwamoto.org/2006/05/11/example-code-updated-for-beta-3/> 
> > 
> > I've made changes so that:
> > A) it's a bottom-of-the-screen only component
> > B) it d! oesn't expand to the full width of the screen, only the
width
> > of the Container it's in... this allows multiple drawers to be on
the
> > screen.
> > 
> > Unfortunately, there's one thing I can't figure out. The previous
> > code assumes that the parent will be the component that is
> > shown/hidden... However, if you have the Drawer attached to a
> > component nested deep down inside other components, you can't
> > determine if the parent component is really appearing on screen!
> > 
> > If I do the equivalent of "trace(parent.visible)" (in this code,
it's
> > "realParent" not "parent"), it always appears true, even though the
> > TabNavigator is on a completely different tab. How can I determine
if
> > the parent component really is being displayed on the screen?
> >
>

 

Reply via email to