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]