Thanks for the input... I've updated my code :)
James, I have the same question as Francisco: how do you get the
values from the class of an enum?
Cedric
On Fri, Sep 26, 2008 at 6:57 PM, francisco treacy
<[EMAIL PROTECTED]> wrote:
> * 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]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]