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