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