summaryrefslogtreecommitdiffstats
path: root/src/com/itmill/toolkit/ui/Upload.java
diff options
context:
space:
mode:
authorJani Laakso <jani.laakso@itmill.com>2008-02-08 15:09:51 +0000
committerJani Laakso <jani.laakso@itmill.com>2008-02-08 15:09:51 +0000
commit2af6fce62747adccb45b9332a0e5d8a84042ac03 (patch)
treedc85def3f99674501823628685cd135dca76205b /src/com/itmill/toolkit/ui/Upload.java
parent3c447bac504ddc6770e1ad15f38e4b0bec165851 (diff)
downloadvaadin-framework-2af6fce62747adccb45b9332a0e5d8a84042ac03.tar.gz
vaadin-framework-2af6fce62747adccb45b9332a0e5d8a84042ac03.zip
Deprecated Application.setFocusedComponent and Application.consumeFocus(), this design flaw will be fixed in later releases.
Upload setFocus() now works even if it is not yet attached. svn changeset:3755/svn branch:trunk
Diffstat (limited to 'src/com/itmill/toolkit/ui/Upload.java')
-rw-r--r--src/com/itmill/toolkit/ui/Upload.java25
1 files changed, 22 insertions, 3 deletions
diff --git a/src/com/itmill/toolkit/ui/Upload.java b/src/com/itmill/toolkit/ui/Upload.java
index 10123d3d5e..af5344c3cd 100644
--- a/src/com/itmill/toolkit/ui/Upload.java
+++ b/src/com/itmill/toolkit/ui/Upload.java
@@ -10,6 +10,7 @@ import java.io.OutputStream;
import java.lang.reflect.Method;
import java.util.Map;
+import com.itmill.toolkit.Application;
import com.itmill.toolkit.terminal.PaintException;
import com.itmill.toolkit.terminal.PaintTarget;
import com.itmill.toolkit.terminal.UploadStream;
@@ -42,6 +43,8 @@ import com.itmill.toolkit.terminal.UploadStream;
*/
public class Upload extends AbstractComponent implements Component.Focusable {
+ private boolean delayedFocus;
+
/**
* Upload buffer size.
*/
@@ -687,9 +690,11 @@ public class Upload extends AbstractComponent implements Component.Focusable {
* @see com.itmill.toolkit.ui.Component.Focusable#focus()
*/
public void focus() {
- final Window w = getWindow();
- if (w != null) {
- w.setFocusedComponent(this);
+ final Application app = getApplication();
+ if (app != null) {
+ app.setFocusedComponent(this);
+ } else {
+ delayedFocus = true;
}
}
@@ -822,4 +827,18 @@ public class Upload extends AbstractComponent implements Component.Focusable {
public void setButtonCaption(String buttonCaption) {
this.buttonCaption = buttonCaption;
}
+
+ /**
+ * Notifies the component that it is connected to an application.
+ *
+ * @see com.itmill.toolkit.ui.Component#attach()
+ */
+ public void attach() {
+ super.attach();
+ if (delayedFocus) {
+ delayedFocus = false;
+ focus();
+ }
+ }
+
}