The primary reason for not using IModel's as control mechanisms for
visibility and enabling of components is memory usage. Wicket applications
can have millions of Component instances at any given time in runtime
memory, and adding 2 references plus the overhead of the IModel objects
would be quite heavy.

This is also why we didn't opt for lambda's as a basic construct when we
migrated Wicket to Java 8.

Martijn


On Mon, May 10, 2021 at 4:29 PM <s...@stantastic.nl> wrote:

> So I finally took the plunge and joined the mailing list.
>
> I have been using Wicket for well over a year now and am very happy to
> have stumbled across it. There's just one question that I never really
> found an answer to. I have searched the users list a couple of times and
> found that some people are trying to use the 'setVisible' and
> 'setEnabled' methods with a Model-argument. They want do this in order
> to dynamically change visibility or access to a component. This idea has
> also crossed my mind a couple of times.
>
> The thing is... Wicket doesn't appear to work that way.
>
> When I look at the answers, I see two approaches. One is overriding
> 'isVisible', the other is to configure visibility from the 'onConfigure'
> method in the parent component. I tend to use the later.
>
> Because I always like to understand how things work, I would like to ask
> about the reasoning behind this. Why can't 'setVisible' and 'setEnabled'
> be controlled using IModel<Boolean> arguments? Is there a technical
> limitation here? Or is it just a quirk?
>
> Thanks.
>
> Stan
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

-- 
Become a Wicket expert, learn from the best: http://wicketinaction.com

Reply via email to