Could it be that you slipped our CheckGroup/Check components? Cannot get 
simpler than that.

Sven

GS-ikiini wrote:
> this part of the concept i understand...what i don't get is a little
> deeper...from your example i am accessing a property in input. however, I
> don't have such a property in my object. I some how have to figure out if
> that mode is selected. basically, i want to implement imodel as show in a
> example on the forum to put my object in a collection if it is selected. In
> the example ivan implements imodel. and set  that model as the model that
> the checkbox works with. 
>
> http://www.nabble.com/Design-questions%3A-Use-of-controllers-and-wicket-models-tf3373279.html#a9510784
>
> i don't understand how the implentaion works. can you help me with
> understanding how that works please.
>
> -B 
>
>
>
> Eelco Hillenius wrote:
>   
>> Wicket models are a way to locate values.
>>
>> Let's take a look at wicket.examples.compref.CheckBoxPage. That page
>> has a nested static class called Input, with a property bool:
>>
>>      private static class Input implements Serializable
>>      {
>>              public Boolean bool = Boolean.TRUE;
>>      }
>>
>> Then, in CheckBoxPage's constructor we do (simplified):
>>
>>   final Input input = new Input();
>>   setModel(new CompoundPropertyModel(input));
>>   Form form = new Form("form");
>>   form.add(new CheckBox("bool"));
>>
>> CompoundPropertyModel might be a bit distracting, so let's rewrite
>> this to use a normal model:
>>
>>   final Input input = new Input();
>>   Form form = new Form("form");
>>   form.add(new CheckBox("bool", PropertyModel(input, "bool")));
>>
>> another way to rewrite the model:
>>
>>      form.add(new CheckBox("bool", new Model(input)
>>      {
>>              public Object getObject()
>>              {
>>                      return ((Input)super.getObject()).bool;
>>              }
>>
>>              public void setObject(Object object)
>>              {
>>                      ((Input)super.getObject()).bool = (Boolean)object;
>>              }
>>      }));
>>
>> and yet another to rewrite the model is:
>>
>>      form.add(new CheckBox("bool", new IModel()
>>      {
>>              public Object getObject()
>>              {
>>                      return input.bool;
>>              }
>>      
>>              public void setObject(Object object)
>>              {
>>                      input.bool = (Boolean)object;
>>              }
>>      
>>              public void detach()
>>              {
>>              }
>>      }));
>>
>> and *yet* another way is:
>>
>>      form.add(new CheckBox("bool", new AbstractCheckBoxModel()
>>      {
>>              @Override
>>              public boolean isSelected()
>>              {
>>                      return input.bool;
>>              }
>>
>>              @Override
>>              public void select()
>>              {
>>                      input.bool = true;
>>              }
>>
>>              @Override
>>              public void unselect()
>>              {
>>                      input.bool = false;
>>              }
>>      }));
>>
>> If you compare these examples, the constant factor is that we're after
>> the bool property of the Input instance. It is important that you
>> understand that the typical thing for Wicket models to do is to pass
>> and get values from other objects, typically your domain objects or
>> 'form beans' (that's the name which other frameworks often use). Here,
>> the Input instance is that object, and any of the above combinations
>> just provides the facility for components to work on that object in a
>> generic fashion.
>>
>> So... the CheckBox component calls getObject on it's model to
>> determine whether it should render itself as checked or not. It calls
>> setObject on the model when it receives input. The typical case for
>> that is when it is part of a form. The form calls updateModel on all
>> nested components, and the components then call setObject with the
>> received  (and converted) input.
>>
>> Now, to get back to your original question. We could rewrite the above
>> example to work on a list of checkboxes/ input objects like this:
>>
>>      List<Input> inputs = new ArrayList<Input>(Arrays.asList(new Input[] {
>> new Input(),
>>                      new Input(), new Input() }));
>>      ListView l = new ListView("list", inputs)
>>      {
>>              @Override
>>              protected void populateItem(ListItem item)
>>              {
>>                      // item.getModel().getObject() would give the Input 
>> instance for
>>                      // this particular list element
>>                      item.add(new CheckBox("bool", new 
>> PropertyModel(item.getModel(),
>> "bool")));
>>              }
>>      };
>>      form.add(l);
>>      System.err.println("selection for the second input: " +
>> inputs.get(1).bool);
>>
>> As you can see, the idea stays the same; in both cases we're after the
>> bool property of instances of Input.
>>
>> I'd say, let this sink in a bit, and try to play with this code
>> yourself, so that you understand better how it works.
>>
>> Hope this helps,
>>
>> Eelco
>>
>> On 3/27/07, GS-ikiini <[EMAIL PROTECTED]> wrote:
>>     
>>> ok so i'm trying to implement my own model but i have little idea what i
>>> am
>>> suppose to be trying to do here. can someone please give a brief overview
>>> as
>>> to what the getObject, and setObject expects and does please. I am really
>>> lost and need some help with this. also how does the model intereact with
>>> the componenet..what do they tell each other.?
>>>
>>> -B
>>>
>>>
>>>
>>> igor.vaynberg wrote:
>>>       
>>>> On 3/26/07, GS-ikiini <[EMAIL PROTECTED]> wrote:
>>>>         
>>>>> its saying that you create a custom model that takes as an argument in
>>>>> the
>>>>> constructor the object/model that you want to tie to a check box. this
>>>>> model
>>>>> is used as the model that we pass to our check box component. the
>>>>> setObject
>>>>> method gets called at the push of the submit button and sets that
>>>>> object/model as part of the collection if it is selected. is this
>>>>> correct?
>>>>>           
>>>> sounds about right.
>>>>
>>>> -igor
>>>>
>>>>
>>>>
>>>> -B
>>>>         
>>>>>
>>>>> igor.vaynberg wrote:
>>>>>           
>>>>>> if you dont grasp the concepts perhaps you should read the wiki page
>>>>>>             
>>> on
>>>       
>>>>>> models
>>>>>>
>>>>>> the concept is:
>>>>>>
>>>>>> since the checkbox works by setting/clearing a boolean the model
>>>>>> translates
>>>>>> a set boolean->insert into collection and clear boolean->remove from
>>>>>> collection.
>>>>>>
>>>>>> there is explanation there, try to read that too, not just look at
>>>>>>             
>>> the
>>>       
>>>>>> code.
>>>>>>
>>>>>> -igor
>>>>>>
>>>>>>
>>>>>> On 3/26/07, GS-ikiini <[EMAIL PROTECTED]> wrote:
>>>>>>             
>>>>>>> I don't quite grasp the concepts used in that tread. from what i
>>>>>>> understand i
>>>>>>> should create a separate model that takes the model that has to get
>>>>>>> set(the
>>>>>>> model that is selected via checkbox) in the object i'm making, and
>>>>>>>               
>>>>> places
>>>>>           
>>>>>>> it
>>>>>>> in a collection if it is selected. Is this correct?
>>>>>>>
>>>>>>> -B
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> igor.vaynberg wrote:
>>>>>>>               
>>>>>>>> please search mail archives before posting
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>> http://www.nabble.com/Design-questions%3A-Use-of-controllers-and-wicket-models-tf3373279.html#a9510784
>>>       
>>>>>>>> -igor
>>>>>>>>
>>>>>>>>
>>>>>>>> On 3/26/07, GS-ikiini <[EMAIL PROTECTED]> wrote:
>>>>>>>>                 
>>>>>>>>> Hey all,
>>>>>>>>>
>>>>>>>>> I have a list view that contains a list of objects. these
>>>>>>>>>                   
>>> objects
>>>       
>>>>> are
>>>>>           
>>>>>>>>> selectable via checkboxes. My problem is that i don't know how
>>>>>>>>>                   
>>> to
>>>       
>>>>> know
>>>>>           
>>>>>>> or
>>>>>>>               
>>>>>>>>> tell my code what objects have been selected. here is what i
>>>>>>>>>                   
>>> want
>>>       
>>>>> to
>>>>>           
>>>>>>> do.
>>>>>>>               
>>>>>>>>> i ahve a list of objects lets call them pens. So i have a list
>>>>>>>>>                   
>>> of 5
>>>       
>>>>>>>>> different types of pen objects. this object type is a property (
>>>>>>>>>                   
>>> a
>>>       
>>>>>>> list
>>>>>>>               
>>>>>>>>> of
>>>>>>>>> this object to be specific) in another object say a pencilCase. 
>>>>>>>>>                   
>>> i
>>>       
>>>>>>> want
>>>>>>> a
>>>>>>>               
>>>>>>>>> user to select 0-many different pens which will then be placed
>>>>>>>>>                   
>>> in
>>>       
>>>>> the
>>>>>           
>>>>>>>>> pencil
>>>>>>>>> case by the applicaition. what i am not sure how to do is
>>>>>>>>>                   
>>> associate
>>>       
>>>>>>> each
>>>>>>>               
>>>>>>>>> pen
>>>>>>>>> in the list with what is selected. I seen on the wiki that i can
>>>>>>>>>                   
>>>>> add
>>>>> a
>>>>>           
>>>>>>>>> boolean property to the pens called selected. and make that what
>>>>>>>>>                   
>>>>> the
>>>>>           
>>>>>>>>> checkbox renders on. but i don't have access to the pens to do
>>>>>>>>>                   
>>>>> that.
>>>>>           
>>>>>>> is
>>>>>>>               
>>>>>>>>> another some way i can do an association externally? I thought
>>>>>>>>>                   
>>> of
>>>       
>>>>>>>>> creating
>>>>>>>>> a
>>>>>>>>> separate list of booleans variables that i can compare side by
>>>>>>>>>                   
>>> side
>>>       
>>>>>>> with
>>>>>>>               
>>>>>>>>> the
>>>>>>>>> list of pens. selection of check boxes will set the booleans in
>>>>>>>>>                   
>>>>> that
>>>>>           
>>>>>>>>> list.
>>>>>>>>> then look at what is true and go get the pen in the pens list at
>>>>>>>>>                   
>>>>> that
>>>>>           
>>>>>>>>> position and do what i got to do with it. however I think this
>>>>>>>>>                   
>>>>> method
>>>>>           
>>>>>>> 1-
>>>>>>>               
>>>>>>>>> may
>>>>>>>>> not work and 2 - is to elementary and not very professional. I
>>>>>>>>>                   
>>> am
>>>       
>>>>> sure
>>>>>           
>>>>>>>>> there
>>>>>>>>> is another way to do this. Please advise.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> -B
>>>>>>>>> --
>>>>>>>>> View this message in context:
>>>>>>>>>
>>>>>>>>>                   
>>> http://www.nabble.com/check-box-questions-how-to-I-associate-an-object-with-a-boolean-seletion-from-a-checkbox-component-tf3469311.html#a9680769
>>>       
>>>>>>>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>> -------------------------------------------------------------------------
>>>       
>>>>>>>>> Take Surveys. Earn Cash. Influence the Future of IT
>>>>>>>>> Join SourceForge.net's Techsay panel and you'll get the chance
>>>>>>>>>                   
>>> to
>>>       
>>>>>>> share
>>>>>>>               
>>>>>>>>> your
>>>>>>>>> opinions on IT & business topics through brief surveys-and earn
>>>>>>>>>                   
>>>>> cash
>>>>>           
>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>>       
>>>>>>>>> _______________________________________________
>>>>>>>>> Wicket-user mailing list
>>>>>>>>> Wicket-user@lists.sourceforge.net
>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>>                 
>>> -------------------------------------------------------------------------
>>>       
>>>>>>>> Take Surveys. Earn Cash. Influence the Future of IT
>>>>>>>> Join SourceForge.net's Techsay panel and you'll get the chance to
>>>>>>>>                 
>>>>> share
>>>>>           
>>>>>>>> your
>>>>>>>> opinions on IT & business topics through brief surveys-and earn
>>>>>>>>                 
>>> cash
>>>       
>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>>       
>>>>>>>> _______________________________________________
>>>>>>>> Wicket-user mailing list
>>>>>>>> Wicket-user@lists.sourceforge.net
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>>
>>>>>>>               
>>> http://www.nabble.com/check-box-questions-how-to-I-associate-an-object-with-a-boolean-seletion-from-a-checkbox-component-tf3469311.html#a9682170
>>>       
>>>>>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>               
>>> -------------------------------------------------------------------------
>>>       
>>>>>>> Take Surveys. Earn Cash. Influence the Future of IT
>>>>>>> Join SourceForge.net's Techsay panel and you'll get the chance to
>>>>>>>               
>>>>> share
>>>>>           
>>>>>>> your
>>>>>>> opinions on IT & business topics through brief surveys-and earn
>>>>>>>               
>>> cash
>>>       
>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>>       
>>>>>>> _______________________________________________
>>>>>>> Wicket-user mailing list
>>>>>>> Wicket-user@lists.sourceforge.net
>>>>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>>>>>>
>>>>>>>               
>>>>>>             
>>> -------------------------------------------------------------------------
>>>       
>>>>>> Take Surveys. Earn Cash. Influence the Future of IT
>>>>>> Join SourceForge.net's Techsay panel and you'll get the chance to
>>>>>>             
>>> share
>>>       
>>>>>> your
>>>>>> opinions on IT & business topics through brief surveys-and earn cash
>>>>>>
>>>>>>             
>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>>       
>>>>>> _______________________________________________
>>>>>> Wicket-user mailing list
>>>>>> Wicket-user@lists.sourceforge.net
>>>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>>>>>
>>>>>>
>>>>>>             
>>>>> --
>>>>> View this message in context:
>>>>>
>>>>>           
>>> http://www.nabble.com/check-box-questions-how-to-I-associate-an-object-with-a-boolean-seletion-from-a-checkbox-component-tf3469311.html#a9682786
>>>       
>>>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>>
>>>>>           
>>> -------------------------------------------------------------------------
>>>       
>>>>> Take Surveys. Earn Cash. Influence the Future of IT
>>>>> Join SourceForge.net's Techsay panel and you'll get the chance to
>>>>>           
>>> share
>>>       
>>>>> your
>>>>> opinions on IT & business topics through brief surveys-and earn cash
>>>>>
>>>>>           
>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>>       
>>>>> _______________________________________________
>>>>> Wicket-user mailing list
>>>>> Wicket-user@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>>>>
>>>>>           
>>>>         
>>> -------------------------------------------------------------------------
>>>       
>>>> Take Surveys. Earn Cash. Influence the Future of IT
>>>> Join SourceForge.net's Techsay panel and you'll get the chance to share
>>>> your
>>>> opinions on IT & business topics through brief surveys-and earn cash
>>>>
>>>>         
>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>>       
>>>> _______________________________________________
>>>> Wicket-user mailing list
>>>> Wicket-user@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>>>
>>>>
>>>>         
>>> --
>>> View this message in context:
>>> http://www.nabble.com/check-box-questions-how-to-I-associate-an-object-with-a-boolean-seletion-from-a-checkbox-component-tf3469311.html#a9696881
>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>
>>>
>>> -------------------------------------------------------------------------
>>> Take Surveys. Earn Cash. Influence the Future of IT
>>> Join SourceForge.net's Techsay panel and you'll get the chance to share
>>> your
>>> opinions on IT & business topics through brief surveys-and earn cash
>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>> _______________________________________________
>>> Wicket-user mailing list
>>> Wicket-user@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>>
>>>       
>> -------------------------------------------------------------------------
>> Take Surveys. Earn Cash. Influence the Future of IT
>> Join SourceForge.net's Techsay panel and you'll get the chance to share
>> your
>> opinions on IT & business topics through brief surveys-and earn cash
>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>> _______________________________________________
>> Wicket-user mailing list
>> Wicket-user@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>
>>
>>     
>
>   


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to