You would also need to setVisible(false) on the WMC or wicket would throw an
exception at the missing child components.  I use a simple class
InvisibleComponent for this.


Eric Rotick wrote:
> 
> One more thing that was suggested in class.
> 
> Is it possible to define a Panel which had all suitable and appropriate
> sub
> components and then to no-op the ones that were not needed?
> 
> So in the earlier example there could be a panel
> 
> <wicket:panel>
> 
> 
>  
>  
> </wicket:panel>
> 
> and if the image was not needed it could be no-op'ed out by defining a
> WebMarkupContainer but with no children.
> 
> On Tue, Apr 8, 2008 at 6:53 PM, Eric Rotick <[EMAIL PROTECTED]> wrote:
> 
>> Many thanks for the clarification.
>>
>> As I am about to start teaching the rudiments of Wicket to a project team
>> I guess the teacher should know what they are talking about.
>>
>>
>> On Tue, Apr 8, 2008 at 6:50 PM, Igor Vaynberg <[EMAIL PROTECTED]>
>> wrote:
>>
>> > you dont need a panel for the repeater itself. as for variable
>> > component hierarchy inside the repeater itself, you are correct: you
>> > have to either use a panel or a fragment.
>> >
>> > -igor
>> >
>> >
>> > On Tue, Apr 8, 2008 at 9:37 AM, Eric Rotick <[EMAIL PROTECTED]>
>> > wrote:
>> > > I thought I understood the component hierarchy but then I started to
>> > tell
>> > >  the guys about it and now I'm not so sure.
>> > >
>> > >  If the markup defines a hierarchy as A contains B contains C, in
>> > effect,
>> > >  this means that C is added to B which is added to A. If we expand B
>> > to be
>> > >  more complex we can use maybe a Panel which we identify as B but
>> > inside it
>> > >  is BA , BB and so on. So, all the time there is a direct
>> relationship
>> > >  between the wicket identified tags in the markup and the components
>> > in the
>> > >  code.
>> > >
>> > >  Now we introduce a repeater of some kind and it appears that the
>> > component
>> > >  hierarchy is broken but it's not. So if C was a repeater and it had
>> 4
>> > >  children then the hierarchy is still A to B to C but within C there
>> > is C to
>> > >  C1, C to C2 and so on.
>> > >
>> > >  Now, if we need to have a runtime variable amount of markup which is
>> > >  variable, not in terms of the same markup repeated but completely
>> > different
>> > >  markup based on some logic then we might define a Panel which
>> handles
>> > the
>> > >  variation. This is fine but what if the contents of the Panel is
>> also
>> > >  variable. In this case further Panels are needed until the variable
>> > >  requirements are covered.
>> > >
>> > >  Now the rub; although there are components, such as
>> > WebMarkupContainer which
>> > >  can be used to group components, the use of any component which is
>> > not
>> > >  'transparent' must have the related wicket:id in some markup
>> > somewhere.
>> > >
>> > >  So, lets take an example where we have a list of items which can be
>> > just
>> > >  text or a link which has an optional image. It seems that I have to
>> > define
>> > >  panels for :-
>> > >
>> > >    - wrapper panel for the list
>> > >    - a link with it's text
>> > >    - a link with it's text and image
>> > >
>> > >  So we have markup such as
>> > >
>> > >  <wicket:panel>
>> > >  <ul>
>> > >  <li wicket:id="items"/>
>> > >  </ul>
>> > >  </wicket:panel>
>> > >
>> > >  <wicket:panel>
>> > >  
>> > >  
>> > >  
>> > >  </wicket:panel>
>> > >
>> > >  <wicket:panel>
>> > >  
>> > >  
>> > >   
>> > >   
>> > >  </wicket:panel>
>> > >
>> > >  Have I got this correct or have I gone astray somewhere?
>> > >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > For additional commands, e-mail: [EMAIL PROTECTED]
>> >
>> >
>>
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Question-on-component-hierarchy-tp16567888p16580692.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to