> 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]