Added setEnabled(boolean)/isEnabled() methods to FileUpload.java
Patch by: jlabanca
Review by: rjrjr
Issue: 633
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@5040 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/user/client/ui/FileUpload.java b/user/src/com/google/gwt/user/client/ui/FileUpload.java
index dba1f02..792c8d8 100644
--- a/user/src/com/google/gwt/user/client/ui/FileUpload.java
+++ b/user/src/com/google/gwt/user/client/ui/FileUpload.java
@@ -90,7 +90,8 @@
// Trigger a change event now.
if (eventPending) {
allowEvent = true;
- fileUpload.getElement().dispatchEvent(Document.get().createChangeEvent());
+ fileUpload.getElement().dispatchEvent(
+ Document.get().createChangeEvent());
allowEvent = false;
eventPending = false;
}
@@ -165,6 +166,15 @@
return getInputElement().getName();
}
+ /**
+ * Gets whether this widget is enabled.
+ *
+ * @return <code>true</code> if the widget is enabled
+ */
+ public boolean isEnabled() {
+ return !getElement().getPropertyBoolean("disabled");
+ }
+
@Override
public void onBrowserEvent(Event event) {
if (impl.onBrowserEvent(event)) {
@@ -172,6 +182,16 @@
}
}
+ /**
+ * Sets whether this widget is enabled.
+ *
+ * @param enabled <code>true</code> to enable the widget, <code>false</code>
+ * to disable it
+ */
+ public void setEnabled(boolean enabled) {
+ getElement().setPropertyBoolean("disabled", !enabled);
+ }
+
public void setName(String name) {
getInputElement().setName(name);
}
diff --git a/user/test/com/google/gwt/user/UISuite.java b/user/test/com/google/gwt/user/UISuite.java
index 0566294..f5ec867 100644
--- a/user/test/com/google/gwt/user/UISuite.java
+++ b/user/test/com/google/gwt/user/UISuite.java
@@ -45,6 +45,7 @@
import com.google.gwt.user.client.ui.DockPanelTest;
import com.google.gwt.user.client.ui.ElementWrappingTest;
import com.google.gwt.user.client.ui.FastStringMapTest;
+import com.google.gwt.user.client.ui.FileUploadTest;
import com.google.gwt.user.client.ui.FlexTableTest;
import com.google.gwt.user.client.ui.FlowPanelTest;
import com.google.gwt.user.client.ui.FocusPanelTest;
@@ -125,6 +126,7 @@
suite.addTestSuite(ElementWrappingTest.class);
suite.addTestSuite(EventTest.class);
suite.addTestSuite(FastStringMapTest.class);
+ suite.addTestSuite(FileUploadTest.class);
suite.addTestSuite(FlexTableTest.class);
suite.addTestSuite(FlowPanelTest.class);
suite.addTestSuite(FocusPanelTest.class);
diff --git a/user/test/com/google/gwt/user/client/ui/FileUploadTest.java b/user/test/com/google/gwt/user/client/ui/FileUploadTest.java
new file mode 100644
index 0000000..8663d03
--- /dev/null
+++ b/user/test/com/google/gwt/user/client/ui/FileUploadTest.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2009 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.user.client.ui;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+/**
+ * Tests for {@link FileUpload}.
+ *
+ */
+public class FileUploadTest extends GWTTestCase {
+
+ public String getModuleName() {
+ return "com.google.gwt.user.User";
+ }
+
+ public void testDisable() {
+ FileUpload fileUpload = new FileUpload();
+ assertTrue(fileUpload.isEnabled());
+ fileUpload.setEnabled(false);
+ assertFalse(fileUpload.isEnabled());
+ fileUpload.setEnabled(true);
+ assertTrue(fileUpload.isEnabled());
+ }
+}