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]

Reply via email to