class abstract parentpanel extends panel {
  private panel panel1, panel2, panel3;

  protected abstract panel newpanel1(string id, imodel model);
  protected abstract panel newpanel2(string id, imodel model);
  protected abstract panel newpanel3(string id, imodel model);

  protected void onbeforerender() {
        if (panel1==null) {
          add(panel1=newpanel1("p1", getdefaultmodel());
          add(panel2=newpanel1("p2", getdefaultmodel());
          add(panel3=newpanel1("p3", getdefaultmodel());
       }
      super.onbeforerender();
   }
}

-igor

On Tue, Feb 10, 2009 at 4:46 PM, uwe janner <ujan...@googlemail.com> wrote:
> dear wicketeers,
>
> i'm facing a problem with page composition where i cant find an elegant
> solution; i hope i can explain it comprehensible:
>
> i have a panel named CustomerInfo.
>
> there are 5 types of customers in the application.
>
> most of the CustomerInfo.html is the same for all types of customers -
> except three div's:
> DetailInfo, SpecialInfo and AdditionalInfo
>
> these two div's contain different html and different components for each
> type of customer;
>
> one way would be to create 15 different panels (DetailInfoCustomerType1,
> DetailInfoCustomerType2, DetailInfoCustomerType3, ....,
> SpecialInfoCustomerType1, .....)
> then, in CustomerInfo-panel i would include the right 3 panels depending on
> the customer type, e.g. (DetailInfoCustomerType1, SpecialInfoCustomerType1,
> AdditionalInfoCustomerType1);
>
> ok, its no good idea to have 15 separate panels, i want to group the 3
> html-snippets together (Detail, Special, Additional)
>
> how can i achieve this? as i understood, neither panels, nor fragments nor
> borders can be used for this.
> how could a parent container ( "CustomerInfo" ) fill 3 different areas (the
> 3 div's) with 3 different fragments of a child (e.g.
> DetailInfoCustomerType2, SpecialInfoCustomerType2,
> AdditionalInfoCustomerType2)?
>
> if the 3 different areas were contiguous/adjacent i could use simple page
> inheritance, bc then the parent container pulls out the whole child's
> content with <wicket:child/> .
>
> in my case i needed sth like <wicket:child id="detailInfo"/> .........<much
> html/>...<wicket:child id="specialInfo"/> .........<much
> html/>...<wicket:child id="additionalInfo"/> .........
> where with <wicket:child id="xxx"/> the parent would only include the part
> of the child with wicket:id "xxx"
>
> thxinadvance,uwe!
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to