Let ValueListBox implement HasEnabled
fixes issue 6112
Change-Id: Ib866657960d0a3d41e0b3b1f08fa9a97091149a9
diff --git a/user/src/com/google/gwt/user/client/ui/ValueListBox.java b/user/src/com/google/gwt/user/client/ui/ValueListBox.java
index 1bdbdf8..61f6f85 100644
--- a/user/src/com/google/gwt/user/client/ui/ValueListBox.java
+++ b/user/src/com/google/gwt/user/client/ui/ValueListBox.java
@@ -42,7 +42,8 @@
* @param <T> the value type
*/
public class ValueListBox<T> extends Composite implements
- Focusable, HasConstrainedValue<T>, IsEditor<TakesValueEditor<T>> {
+ Focusable, HasConstrainedValue<T>, HasEnabled,
+ IsEditor<TakesValueEditor<T>> {
private final List<T> values = new ArrayList<T>();
private final Map<Object, Integer> valueKeyToIndex = new HashMap<Object, Integer>();
@@ -97,6 +98,11 @@
return value;
}
+ @Override
+ public boolean isEnabled() {
+ return getListBox().isEnabled();
+ }
+
public void setAcceptableValues(Collection<T> newValues) {
values.clear();
valueKeyToIndex.clear();
@@ -116,6 +122,11 @@
}
@Override
+ public void setEnabled(boolean enabled) {
+ getListBox().setEnabled(enabled);
+ }
+
+ @Override
public void setFocus(boolean focused) {
getListBox().setFocus(focused);
}
diff --git a/user/test/com/google/gwt/user/client/ui/ValueListBoxTest.java b/user/test/com/google/gwt/user/client/ui/ValueListBoxTest.java
index bc6384e..714de32 100644
--- a/user/test/com/google/gwt/user/client/ui/ValueListBoxTest.java
+++ b/user/test/com/google/gwt/user/client/ui/ValueListBoxTest.java
@@ -65,6 +65,14 @@
return "com.google.gwt.user.User";
}
+ public void testEnabled() {
+ subject.setEnabled(true);
+ assertTrue(subject.isEnabled());
+
+ subject.setEnabled(false);
+ assertFalse(subject.isEnabled());
+ }
+
public void xx_testExtraValueSet() { // TODO(rjrjr) Strange failures on firefox
Foo[] values = new Foo[] {new Foo("able"), new Foo("baker")};
Foo baz = new Foo("baz");