Here is a use-case for my request below:

Let's say I am implementing a traffic stop light Wicket component.  There are 
only two states, on and off.  The default state is off but I can manually 
change the state to on. (E.g. some component like a link outside of the traffic 
light wicket component).

WicketTrafficLight extends Panel {
  WicketTrafficLight() {
    super("trafficLight");
    setDefaultModel(new Model<String>("EnabledLight"));
  }  

  onAfterRender() {
   ...
   setDefaultModel(new Model<String>("DisabledLight"));
  }

}

Some Other Panel :

addAjaxLink() {
   onClick() {
      setDefaultModel(new Model<String>("EnabledLight"));      
   }
}

...
<span wicket:id="trafficLight"></span>

-----Original Message-----
From: Igor Vaynberg [mailto:igor.vaynb...@gmail.com] 
Sent: Tuesday, January 25, 2011 1:01 PM
To: users@wicket.apache.org
Subject: Re: Call onAfterRender and change default model without error

you didnt answer my question

-igor

On Tue, Jan 25, 2011 at 9:58 AM, Brown, Berlin [GCG-PFS] 
<berlin.br...@primerica.com> wrote:
> If we can update the model object and changes its value without problem. 
> Shouldn't we also be able to assign a new model?
>
>  onBeforeRender() {
>   ...
>   this.setDefaultModel(new ReadonlyStaticModel("state1"));
>  }
>
>  onAfterRender() {
>  this.setDefaultModel(new ReadonlyStaticModel("state2-reset"));
>  }
>
> I guess I could use the backing model object as opposed to the model to 
> change the state.
> ... Changed to:
>
>  onBeforeRender() {
>   ...
>  getDefaultModel().set("state1"));
>  }
>
>  onAfterRender() {
>   getDefaultModel().set("state2"));
> }
>
>
> -----Original Message-----
> From: Igor Vaynberg [mailto:igor.vaynb...@gmail.com]
> Sent: Tuesday, January 25, 2011 12:40 PM
> To: users@wicket.apache.org
> Subject: Re: Call onAfterRender and change default model without error
>
> whats the usecase?
>
> -igor
>
> On Tue, Jan 25, 2011 at 9:37 AM, Brown, Berlin [GCG-PFS] 
> <berlin.br...@primerica.com> wrote:
>> I tried to do the following below but I got an error could not update 
>> component hierarchy.
>> WicketMessage: Cannot modify component hierarchy after render phase 
>> has started (page version cant change then anymore)
>>
>> Is there an event method (like onAfterRender) that I could use 
>> without error?
>>
>> Component:
>>
>> onBeforeRender() {
>>  ...
>>  this.setDefaultModel(...);
>> }
>>
>> onAfterRender() {
>>  this.setSetDefaultModel(...);
>> }
>>
>> Berlin Brown (POL)
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

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




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

Reply via email to