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