]> source.dussan.org Git - vaadin-framework.git/commitdiff
Initial commit for #211
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Fri, 30 Mar 2007 12:31:09 +0000 (12:31 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Fri, 30 Mar 2007 12:31:09 +0000 (12:31 +0000)
svn changeset:1070/svn branch:trunk

src/com/itmill/toolkit/terminal/web/AjaxApplicationManager.java
src/com/itmill/toolkit/ui/Window.java

index 4662b4bd399d834b2ec311b592ebf2cf41236d5f..bf8bbf96297c5cf6293298cea36ccf3573151976 100644 (file)
@@ -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();
index 215a0c3d5670358cc8d8fbb8337a1e26a82b3ba8..5da9560f421b8ae560a048e5b33b00c6b64dad3a 100644 (file)
@@ -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;
        }