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]
<mailto:rrodseth%40gmail.com> > 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]
<mailto:aharui%40adobe.com> > 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:flexcoders%40yahoogroups.com>
[mailto:[email protected] <mailto:flexcoders%40yahoogroups.com>
] On
>> Behalf Of Richard Rodseth
>> Sent: Monday, July 28, 2008 2:19 PM
>> To: [EMAIL PROTECTED]
<mailto:flexcomponents%40yahoogroups.com> ; [email protected]
<mailto:flexcoders%40yahoogroups.com> 
>> Subject: [flexcoders] Re: Measurement and template component
>>
>>
>>
>> Oops. Meant for flexcoders.
>>
>> On Mon, Jul 28, 2008 at 2:18 PM, Richard Rodseth <[EMAIL PROTECTED]
<mailto:rrodseth%40gmail.com> > 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]
<mailto:rrodseth%40gmail.com> >
>>> 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?
>>>>
>>>
>>
>> 
>

 

Reply via email to