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