Also, you could have a varargs feature so that users could specify
exactly what they want without having to instantiate an array.

On Fri, Sep 26, 2008 at 6:15 PM, James Carman
<[EMAIL PROTECTED]> wrote:
> Why not just pass the enum class into the constructor?  But, also have
> one that allows you to provide a subset of enum values (as you already
> have).
>
>
> 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]

Reply via email to