OK, thanks. Just in case, here are the base classes:

TiledCanvas < Container (100%)
..PodChrome < VBox (n of these)
....ReportModuleA < VBox (100%) (not a real module, just a VBox)
......ReportChrome < Canvas (100%)
........ReportA < VBox (100%, minimum 500)
..........Grid

On Tue, Jul 29, 2008 at 10:30 PM, Alex Harui <[EMAIL PROTECTED]> wrote:
> In theory, if measure() returns different numbers than the last time it got
> called, invalidateDisplayList gets called and eventually you get
> updateDisplayList and go through layout again.
>
>
>
> Also, in theory, measuredMinWidth/measuredWidth (and heights) will be
> different if you have % on reportChrome or not which might yield a clue.  Or
> the updateDL gets called a different number of times.  I don't know what
> each of these levels have for base classes.  That might make a difference as
> well.
>
>
>
> If you build up a test case base on the base classes for these components,
> maybe that should be posted so we can take a closer look.  Otherwise it
> points to your custom code.
>
>
>
> -Alex
>
>
>
> ________________________________
>
> From: [email protected] [mailto:[EMAIL PROTECTED] On
> Behalf Of Richard Rodseth
> Sent: Tuesday, July 29, 2008 9:52 PM
> To: [email protected]
> Subject: [flexcoders] Measurement and percentages (was measurement and
> template components)
>
>
>
> Alex requested that I start a new thread to review. Here's the
> relevant portion of the hierarchy (stated values are in both x and y
> directions):
>
> TiledCanvas (100%)
> ..PodChrome(n of these)
> ....ReportModuleA (100%) (not a real module, just a VBox)
> ......ReportChrome (100%)
> ........ReportA (100%, minimum 500)
> ..........Grid
>
> PodChrome and ReportModuleA are created in ActionScript at runtime.
>
> TiledCanvas is supposed to have scrollbars. Tested in isolation (i.e.
> with a bunch of buttons as children, some with minimums set, it does.
> In the above hierarchy, If I remove the 100% from ReportChrome, it
> does. But with the percentage sizing of ReportChrome, it doesn't.
>
> It appears that all the measure() methods get called and return 500 or more.
> I noticed the following in Container.getScrollableRect(). Possibly related?
>
> // width/height can be NaN if using percentages and
> // hasn't been layed out yet.
> if (!isNaN(child.width))
> right = Math.max(right, child.x + child.width);
> if (!isNaN(child.height))
> bottom = Math.max(bottom, child.y + child.height);
>
> I also notice some code in UIComponent (I think) that was calling
> invalidateDisplayList() immediately after invalidateSize(). Do those
> need to be paired? Perhaps my code which constructs PodChrome and
> ReportModuleA needs to call invalidateDisplayList.
>
> 

Reply via email to