When we discussed this before (http://markmail.org/message/kjpunkvlvh5ofajp#query:wicket%20onbeforefirstrender%20carman+page:1+mid:cwx67dw5f5tgf4vs+state:results), it was thought that we'd have to add a bit flag to account for whether a component had been rendered before or not.
So, why don't we add an onBeforeFirstRender() method? On Thu, Dec 11, 2008 at 6:57 AM, Martijn Dashorst <[EMAIL PROTECTED]> wrote: > component#hasBeenRendered() > > http://wicket.apache.org/docs/wicket-1.3.2/wicket/apidocs/org/apache/wicket/Component.html#hasBeenRendered() > > Martijn > > On Thu, Dec 11, 2008 at 12:43 PM, James Carman > <[EMAIL PROTECTED]> wrote: >> You can always add the components during "first render" rather than at >> instantiation time. The problem is that you have to keep some state >> around to know whether you've been rendered yet or not. >> >> On Thu, Dec 11, 2008 at 2:45 AM, Nino Saturnino Martinez Vazquez Wael >> <[EMAIL PROTECTED]> wrote: >>> Yeah, but the other way are a bit cleaner java code wise... And I Scott >>> where heading into modifying a lot of stuff that would bring an over >>> complicated solution to work.. >>> >>> So the trickery would be to edit and a whole bunch of other >>> stuff(probably)IMarkupResourceStreamProvider, instead of facilitating the >>> simple features of wicket.. :) >>> >>> Jeremy Thomerson wrote: >>>> >>>> You can also do exactly as you mentioned.... >>>> >>>> In your base page, have a repeating view (i.e. ListView) that simply loops >>>> over a "List<Component> childPanels"..... Then your method >>>> addToRepeater(Component component) will add to that list. >>>> >>>> Should work exactly as you described. What trickery is needed? I guess I >>>> miss that part. >>>> >>>> On Wed, Dec 10, 2008 at 5:20 PM, Nino Saturnino Martinez Vazquez Wael < >>>> [EMAIL PROTECTED]> wrote: >>>> >>>> >>>>> >>>>> Scott, >>>>> >>>>> Think inheritance :) >>>>> >>>>> Just write a super which has abstract methods that returns components for >>>>> c1..c4() and thats it.. no need for trickery with >>>>> IMarkupResourceStreamProvider ... >>>>> >>>>> Should I elaborate more? >>>>> >>>>> You could also take a look at the wicketstuff accordion thing, it does >>>>> something along these lines[1]... >>>>> >>>>> >>>>> 1= >>>>> >>>>> http://wicketstuff.org/confluence/display/STUFFWIKI/wicket-contrib-accordion >>>>> >>>>> regards >>>>> >>>>> >>>>> smackie604 wrote: >>>>> >>>>> >>>>>> >>>>>> Hi, >>>>>> >>>>>> My team has adopted wicket as it's web framework and we have been busy >>>>>> creating a lot of interesting Panels to build pages for our product. It >>>>>> is >>>>>> turning out that most of the time all the components on the page are >>>>>> Panels >>>>>> and we end up with a situation like this: >>>>>> >>>>>> MyPage.java >>>>>> -------------- >>>>>> public class MyPage extends BasePage >>>>>> { >>>>>> MyPage() >>>>>> { >>>>>> add(SomePanel("c1")); >>>>>> add(SomePanel("c2")); >>>>>> add(SomePanel("c3")); >>>>>> add(SomePanel("c4")); >>>>>> } >>>>>> } >>>>>> >>>>>> MyPage.html >>>>>> --------------- >>>>>> <wicket:extend> >>>>>> <wicket:container wicket:id="c1"/> >>>>>> <wicket:container wicket:id="c2"/> >>>>>> <wicket:container wicket:id="c3"/> >>>>>> <wicket:container wicket:id="c4"/> >>>>>> </wicket:extend> >>>>>> >>>>>> It would be nice if we didn't have to write html files for pages in >>>>>> these >>>>>> situations and instead just do something like this: >>>>>> >>>>>> MyPage.java >>>>>> -------------- >>>>>> public class MyPage extends BasePage >>>>>> { >>>>>> MyPage() >>>>>> { >>>>>> addToRepeater(SomePanel("c1")); >>>>>> addToRepeater(SomePanel("c2")); >>>>>> addToRepeater(SomePanel("c3")); >>>>>> addToRepeater(SomePanel("c4")); >>>>>> } >>>>>> } >>>>>> >>>>>> Where BasePage will have a method called addToRepeater which just adds >>>>>> the >>>>>> component to the repeater. >>>>>> I see we could do some trickery by implementing >>>>>> IMarkupResourceStreamProvider on the BasePage to force the template of >>>>>> it's >>>>>> child classes to always use BasePage.html. I'm not sure this is the >>>>>> best >>>>>> way of doing this, does anyone have any comments on using this approach? >>>>>> >>>>>> Thanks, >>>>>> >>>>>> Scott >>>>>> >>>>>> >>>>>> >>>>> >>>>> -- >>>>> -Wicket for love >>>>> >>>>> Nino Martinez Wael >>>>> Java Specialist @ Jayway DK >>>>> http://www.jayway.dk >>>>> +45 2936 7684 >>>>> >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> -- >>> -Wicket for love >>> >>> Nino Martinez Wael >>> Java Specialist @ Jayway DK >>> http://www.jayway.dk >>> +45 2936 7684 >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > > -- > Become a Wicket expert, learn from the best: http://wicketinaction.com > Apache Wicket 1.3.4 is released > Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
