diff options
author | Jani Laakso <jani.laakso@itmill.com> | 2008-02-08 15:09:51 +0000 |
---|---|---|
committer | Jani Laakso <jani.laakso@itmill.com> | 2008-02-08 15:09:51 +0000 |
commit | 2af6fce62747adccb45b9332a0e5d8a84042ac03 (patch) | |
tree | dc85def3f99674501823628685cd135dca76205b /src/com/itmill/toolkit/ui/Upload.java | |
parent | 3c447bac504ddc6770e1ad15f38e4b0bec165851 (diff) | |
download | vaadin-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.java | 25 |
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(); + } + } + } |