Friday, November 26, 2010

Re: Editor and enumeration or object cast

Thanks,

This solution works well !

On 17 nov, 23:20, mbmacri <mbma...@gmail.com> wrote:
> Hi.
>
> Here is my EnumEditor implementation based on a ListBox. It should
> give you an idea of how to implement it using option buttons:
>
> package com.leasingsaas.client.ui.widgets;
>
> import java.util.HashMap;
>
> import com.google.gwt.editor.client.LeafValueEditor;
> import com.google.gwt.user.client.ui.ListBox;
>
> public class EnumEditor<T extends Enum<T>> extends ListBox implements
> LeafValueEditor<T> {
>         Class<T> clazz;
>         HashMap<T, Integer> index = new HashMap<T, Integer>();
>
>         public EnumEditor(Class<T> e) {
>                 super();
>                 this.clazz = e;
>                 int idx = 0;
>                 for (T t : e.getEnumConstants()) {
>                         this.addItem(t.toString());
>                         index.put(t, idx);
>                         idx++;
>                 }
>         }
>
>         @Override
>         public void setValue(T value) {
>                 if (value == null) {
>                         setSelectedIndex(-1);
>                 } else {
>                         setSelectedIndex(index.get(value));
>                 }
>         }
>
>         @Override
>         public T getValue() {
>                 int idx = getSelectedIndex();
>                 if (idx == -1)
>                         return null;
>                 else {
>                         System.out.println("Returning value of: " + getItemText(idx));
>                         return Enum.valueOf(clazz, getItemText(idx));
>                 }
>         }
>
> }
>
> On 16 nov, 07:58, "JeromeC." <jerome.ca...@gmail.com> wrote:
>
>
>
>
>
>
>
> > nobody has an idea on how to manage enum with the neweditorframework
> > without rewriting a class for each enum ?
>
> > I just want to create a RadioButtonGroup which is used to editenumerationbut I don't know how tocastmy enum...
>
> > Any help is welcome.
>
> > On 12 nov, 11:39, "JeromeC." <jerome.ca...@gmail.com> wrote:
>
> > > Hello,
>
> > > I try to create editors with neweditormechanism. How do you do when
> > > your bean property is not the same that youreditor.
>
> > > For example, how can I have aneditorwhich can editEnumeration?
>
> > > I've tried to create a RadioButtonGroup which displays values of an
> > >enumerationand try to make this class aneditor.
>
> > > Here is the code: this is just a flow panel where each child is a
> > > RadioButton
>
> > > public class RadioButtonGroup<T extendsEnum<T>> extends FlowPanel
> > > implements LeafValueEditor<T>
> > > {
> > >         public RadioButtonGroup()
> > >         {
>
> > >         }
>
> > >         @Override
> > >         public T getValue()
> > >         {
> > >                 T result = null;
>
> > >                 for (int i = 0; i < getWidgetCount(); i++)
> > >                 {
> > >                         RadioButton radio = (RadioButton) getWidget(i);
>
> > >                         if (radio.getValue())
> > >                         {
> > >                                 // ????????? how can Icastit ?
> > >                                 result = radio.getFormValue();
> > >                                 break;
> > >                         }
> > >                 }
>
> > >                 return result;
> > >         }
>
> > >         @Override
> > >         public void setValue(T value)
> > >         {
> > >                 for (int i = 0; i < getWidgetCount(); i++)
> > >                 {
> > >                         RadioButton radio = (RadioButton) getWidget(i);
>
> > >                         if (radio.getFormValue().equals(value.toString()))
> > >                         {
> > >                                 radio.setValue(true);
> > >                                 break;
> > >                         }
> > >                 }
> > >         }
>
> > > }
>
> > > thanks for any help

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.

No comments:

Post a Comment