package org.ovirt.engine.ui.webadmin.widget.editor; import org.ovirt.engine.ui.webadmin.widget.AbstractValidatedWidgetWithLabel; import org.ovirt.engine.ui.webadmin.widget.renderer.StringRenderer; import com.google.gwt.editor.client.IsEditor; import com.google.gwt.text.shared.Renderer; import com.google.gwt.user.client.ui.ListBox; /** * Composite Editor that uses {@link ListModelListBox}. * * @param <T> * List box item type. */ public class ListModelListBoxEditor<T> extends AbstractValidatedWidgetWithLabel<T, ListModelListBox<T>> implements IsEditor<WidgetWithLabelEditor<T, TakesConstrainedValueEditor<T>, ListModelListBoxEditor<T>>> { private final WidgetWithLabelEditor<T, TakesConstrainedValueEditor<T>, ListModelListBoxEditor<T>> editor; public ListModelListBoxEditor() { this(new StringRenderer<T>()); } public ListModelListBoxEditor(Renderer<T> renderer) { super(new ListModelListBox<T>(renderer)); this.editor = WidgetWithLabelEditor.of(getContentWidget().asEditor(), this); } public ListBox asListBox() { return getContentWidget().asListBox(); } @Override public WidgetWithLabelEditor<T, TakesConstrainedValueEditor<T>, ListModelListBoxEditor<T>> asEditor() { return editor; } }