From: Matti Tahvonen Date: Fri, 30 Mar 2007 12:31:09 +0000 (+0000) Subject: Initial commit for #211 X-Git-Tag: 6.7.0.beta1~6492 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2ba4dc422b7a054ded59e5dce59357d3c87b683e;p=vaadin-framework.git Initial commit for #211 svn changeset:1070/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/terminal/web/AjaxApplicationManager.java b/src/com/itmill/toolkit/terminal/web/AjaxApplicationManager.java index 4662b4bd39..bf8bbf9629 100644 --- a/src/com/itmill/toolkit/terminal/web/AjaxApplicationManager.java +++ b/src/com/itmill/toolkit/terminal/web/AjaxApplicationManager.java @@ -56,6 +56,7 @@ import com.itmill.toolkit.terminal.DownloadStream; import com.itmill.toolkit.terminal.Paintable; import com.itmill.toolkit.terminal.URIHandler; import com.itmill.toolkit.terminal.Paintable.RepaintRequestEvent; +import com.itmill.toolkit.ui.AbstractComponent; import com.itmill.toolkit.ui.Component; import com.itmill.toolkit.ui.FrameWindow; import com.itmill.toolkit.ui.Window; @@ -280,6 +281,15 @@ public class AjaxApplicationManager implements Paintable.RepaintRequestListener, } } + // add meta instruction for client to set focus if it is set + Paintable f = (Paintable) application.consumeFocus(); + if(f != null) { + paintTarget.startTag("meta"); + paintTarget.startTag("focus"); + paintTarget.addAttribute("pid", getPaintableId(f)); + paintTarget.endTag("focus"); + paintTarget.endTag("meta"); + } paintTarget.close(); out.flush(); diff --git a/src/com/itmill/toolkit/ui/Window.java b/src/com/itmill/toolkit/ui/Window.java index 215a0c3d56..5da9560f42 100644 --- a/src/com/itmill/toolkit/ui/Window.java +++ b/src/com/itmill/toolkit/ui/Window.java @@ -696,6 +696,7 @@ public class Window extends Panel implements URIHandler, ParameterHandler { * Focused component or null if none is focused. */ public void setFocusedComponent(Component.Focusable focusable) { + this.application.setFocusedComponent(focusable); this.focusedComponent = focusable; }