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

Reply via email to