Sorry about the indenting. I keep forgetting to put periods in. It's like this
TiledCanvas ..PodChrome ....ReportModuleA (not a real module, just a VBox) ......ReportChrome ........ReportA ..........Grid I also apologize for giving incorrect information earlier. The measure() methods *are* all getting called and the values look right. i.e. if I set ReportA to minimum 500x500 that shows up all the way up the hierarchy. Yet, if I set ReportChrome to 100%/100% the scroll bars don't appear, but if I don't do that, they do. Very puzzling. My theory about parentApplication is probably wrong, because I set a break in UIComponent.get parentApplication and it only got called when showing a progress window. So now I am setting break points in Container.createScrollbarsIfNeeded, but in the case where the percentages are set, it doesn't get to the needVertical=true part. I'll keep digging, but any suggestions for further key logic points to check would be appreciated. I assume getScrollableRect() is returning a different value, but I can't imagine why that would be. On Tue, Jul 29, 2008 at 1:47 PM, Alex Harui <[EMAIL PROTECTED]> wrote: > You know that any indenting you do in the hierarchy doesn't come through > email, right? The whole list is flat. > > > > If a measure() method does not get called then either nobody called > invalidateSize() on it (or caused it to be called via some deeper > invalidation), or it has fixed width/height and doesn't need to be measured. > > > > ________________________________ > > From: [email protected] [mailto:[EMAIL PROTECTED] On > Behalf Of Richard Rodseth > Sent: Tuesday, July 29, 2008 11:47 AM > To: [email protected] > Subject: Re: [flexcomponents] RE: [flexcoders] Re: Measurement and template > component > > > > Actually, I take it back. Only the pseudo-module names are determined > in the service layer - instantiation occurs in an observer. Still, > tI'm concerned about the messed-up parentApplication. > > On Tue, Jul 29, 2008 at 11:33 AM, Richard Rodseth <[EMAIL PROTECTED]> > wrote: >> Good suggestion. For good measure (groan) I added a few overrides of >> measure() that call super, that I could set breakpoints in. >> Recall that the hierarchy is like this: >> >> TiledCanvas >> PodChrome >> ReportModuleA (not a real module, just a VBox) >> ReportChrome >> ReportA >> Grid >> >> I notice that ReportModuleA.measure() does not get called. I also >> noticed in the debugger that ReportModuleA.parentApplication is not >> set (the debugger gives a 1009 error) when you select that property). >> Seems suspect, doesn't it? >> >> ReportModuleA and PodChrome are instantiated in ActionScript, and >> ReportModuleA is actually instantiated in the service layer via a >> static method in its MXML file. Then a parent of TiledCanvas observes >> a list of the pseudo-modules, wraps them in chrome and adds them to >> the TiledCanvas. Seemed reasonable at the time. >> >> On Mon, Jul 28, 2008 at 9:46 PM, Alex Harui <[EMAIL PROTECTED]> wrote: >>> You'll have to walk through the measure() methods on each container to >>> see >>> what it is computing and why. >>> >>> >>> >>> ________________________________ >>> >>> From: [email protected] [mailto:[EMAIL PROTECTED] On >>> Behalf Of Richard Rodseth >>> Sent: Monday, July 28, 2008 2:19 PM >>> To: [EMAIL PROTECTED]; [email protected] >>> Subject: [flexcoders] Re: Measurement and template component >>> >>> >>> >>> Oops. Meant for flexcoders. >>> >>> On Mon, Jul 28, 2008 at 2:18 PM, Richard Rodseth <[EMAIL PROTECTED]> >>> wrote: >>>> Turns out to be unrelated to the fact that ReportChrome is a template >>>> component (the same thing happens if it's a plain Canvas). >>>> Removing width="100%" height="100%" on ReportChrome results in the >>>> TiledCanvas tiling correctly but then I am forced to set >>>> minWidth/Height on ReportA or its children, or they shrink to nothing. >>>> >>>> I'm not sure I understand this - I would expect that the measured >>>> values would bubble up regardless, and that the measured width/height >>>> of a Canvas or subclass thereof (ReportChrome in this case) would be >>>> the maximum of the measured children or the specified container >>>> percentage. >>>> >>>> On Wed, Jul 23, 2008 at 5:18 PM, Richard Rodseth <[EMAIL PROTECTED]> >>>> wrote: >>>>> My application has a structure like this, portions of which are >>>>> created dynamically: >>>>> >>>>> TiledCanvas >>>>> PodChrome(1) >>>>> ReportModuleA >>>>> ReportChrome(1) >>>>> ReportA >>>>> Grid >>>>> PodChrome(2) >>>>> ReportModuleB >>>>> ReportChrome(2) >>>>> ReportB >>>>> Chart >>>>> etc. >>>>> >>>>> PodChrome and ReportChrome are template components. >>>>> TiledCanvas is functional - when tiling it correctly reflects a >>>>> minWidth/minHeight set way deep (eg. on the Grid). But only if I omit >>>>> the ReportChrome wrapper. ReportChrome is just a Canvas with two >>>>> states, that does an addChild in init(). I added a call to >>>>> this.invalidateSize() and child.invalidateSize() after the addChild() >>>>> to no avail. Any ideas what I could be doing wrong? >>>>> >>>> >>> >>> >> > >

