* i meant enum class
On Fri, Sep 26, 2008 at 7:51 PM, francisco treacy
<[EMAIL PROTECTED]> wrote:
>> Also, you could have a varargs feature so that users could specify
>> exactly what they want without having to instantiate an array.
>
> yes, of course there is place for improvements...
> public EnumCheckGroup(String id, T... values)
>
>>> Why not just pass the enum class into the constructor?
>
> if i pass the enum object itself, how do i actually get the values?
>
> francisco
>
>>>
>>> On Fri, Sep 26, 2008 at 4:43 PM, francisco treacy
>>> <[EMAIL PROTECTED]> wrote:
>>>> i'm sorry i didn't see this post before-- i came up with a solution a
>>>> couple of weeks ago.
>>>>
>>>> i called it EnumCheckGroup (that is, i went for CheckGroup rather than
>>>> CheckBox).
>>>>
>>>> usage:
>>>>
>>>> for a given enum:
>>>>
>>>> public static enum Niveau {
>>>> etage, mezzanine, sous_sol;
>>>> }
>>>>
>>>> form.add(new EnumCheckGroup<Plan.Niveau>("niveaux",
>>>> Plan.Niveau.values()));
>>>>
>>>>
>>>> <span wicket:id="niveaux">
>>>> <span wicket:id="items">
>>>> <input type="checkbox" wicket:id="check" />
>>>> <span wicket:id="label"></span><br />
>>>> </span>
>>>> </span>
>>>>
>>>>
>>>> impl:
>>>>
>>>> public class EnumCheckGroup<T extends Enum<T>> extends CheckGroup<T> {
>>>>
>>>> public EnumCheckGroup(String id, T[] values) {
>>>> super(id);
>>>>
>>>> ListView<T> listview = new ListView<T>("items",
>>>> Arrays.asList(values)) {
>>>> protected void populateItem(ListItem<T> item) {
>>>> item.add(new Check<T>("check", item.getModel()));
>>>> item.add(new Label("label", new
>>>> ResourceModel(item.getModelObject().name())));
>>>> };
>>>> }.setReuseItems(true);
>>>>
>>>> add(listview);
>>>>
>>>> }
>>>>
>>>> }
>>>>
>>>> obviously you must have the keys in your properties file, such as:
>>>>
>>>> etage=Étage
>>>> mezzanine=Mezzanine
>>>> sous_sol=Sous-sol
>>>>
>>>>
>>>> francisco
>>>>
>>>>
>>>> On Fri, Sep 26, 2008 at 4:29 PM, Cédric Thiébault
>>>> <[EMAIL PROTECTED]> wrote:
>>>>> Thanks Igor, it was exactly what i needed :-)
>>>>>
>>>>> To complete this post, here is the solution I found :
>>>>> http://surunairdejava.blogspot.com/2008/09/wicket-checkbox-abstractcheckboxmodel.html
>>>>>
>>>>> Sorry it's in french but the code is easy to understand...
>>>>>
>>>>> Cedric
>>>>>
>>>>>
>>>>> On Wed, Sep 24, 2008 at 2:46 PM, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
>>>>>> see abstractcheckboxmodel
>>>>>>
>>>>>> -igor
>>>>>>
>>>>>> On Wed, Sep 24, 2008 at 11:37 AM, Cédric Thiébault
>>>>>> <[EMAIL PROTECTED]> wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> I'm trying to use a checkbox to set an enum value on my form object
>>>>>>> but I always get a type mismatch error (boolean is not an enum and
>>>>>>> vice versa).
>>>>>>>
>>>>>>> My form object has an enum and I want to display a list of checkboxes
>>>>>>> to allow the user to select the value.
>>>>>>> I don't want to use a radio because my enum can be null and I can't
>>>>>>> unselect my radio group once a radio is selected.
>>>>>>>
>>>>>>> I tried to extends Checkbox to convert teh boolean to the specified
>>>>>>> enum... it works only in one way (to set the enum value) but it does
>>>>>>> not work when my enum has a value and the checkbox need to render
>>>>>>> itself (the value must be a boolean).
>>>>>>>
>>>>>>>
>>>>>>> public class CheckBoxEnum extends CheckBox {
>>>>>>>
>>>>>>> private final Enum<?> enumValue;
>>>>>>>
>>>>>>> public CheckBoxEnum(String id, IModel model, String property,
>>>>>>> Enum<?> enumValue) {
>>>>>>> super(id, new PropertyModel(model, property));
>>>>>>> this.enumValue = enumValue;
>>>>>>> }
>>>>>>>
>>>>>>> @Override
>>>>>>> protected void convertInput() {
>>>>>>> String value = getValue();
>>>>>>> if (value != null && BooleanUtils.toBoolean(value))
>>>>>>> setConvertedInput(enumValue);
>>>>>>> }
>>>>>>> }
>>>>>>>
>>>>>>> Any ideas ?
>>>>>>>
>>>>>>> Thanks
>>>>>>>
>>>>>>> Cedric
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> 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]
>>>>>>
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> 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]
>>>>
>>>>
>>>
>>
>> ---------------------------------------------------------------------
>> 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]