diff options
author | Matti Tahvonen <matti.tahvonen@itmill.com> | 2008-05-06 11:47:49 +0000 |
---|---|---|
committer | Matti Tahvonen <matti.tahvonen@itmill.com> | 2008-05-06 11:47:49 +0000 |
commit | 9e8bfbb5b47ae5d9522aa6dd1dd7e9a63c48839c (patch) | |
tree | f6a9441d20233db2bf3fa8b6823ff96f34c3d70f | |
parent | c7475109dd86f80638154bf91d1da690b4577f00 (diff) | |
download | vaadin-framework-9e8bfbb5b47ae5d9522aa6dd1dd7e9a63c48839c.tar.gz vaadin-framework-9e8bfbb5b47ae5d9522aa6dd1dd7e9a63c48839c.zip |
fixes #1412
svn changeset:4345/svn branch:trunk
-rw-r--r-- | src/com/itmill/toolkit/demo/KeyboardShortcut.java | 6 | ||||
-rw-r--r-- | src/com/itmill/toolkit/terminal/gwt/client/ui/IView.java | 18 |
2 files changed, 20 insertions, 4 deletions
diff --git a/src/com/itmill/toolkit/demo/KeyboardShortcut.java b/src/com/itmill/toolkit/demo/KeyboardShortcut.java index 3dd157ea8c..0c13f4d6c3 100644 --- a/src/com/itmill/toolkit/demo/KeyboardShortcut.java +++ b/src/com/itmill/toolkit/demo/KeyboardShortcut.java @@ -35,9 +35,8 @@ public class KeyboardShortcut extends Application implements Handler { + "applications. (see our article on <a href=\"http://www.itmill" + ".com/articles/Keybindings_in_Web_Browsers.htm\">" + "www.itmill.com)</a></p>" - + "Events are attached to Window in this application, so a " - + "component inside window must be focused to fire event on" - + " keyboard shortcut.</p>" + + "<p>Focus must be inside web application (eg. not in address " + + "bar) for shortcuts to work. By default app element is focused.</p>" + "<strong>Shortcuts used in this example:</strong> " + "<br/>ESC restarts program, ctrl-shift-a (Button A), " + "ctrl-shift-z (Button Z), ctrl-shift-x (Button X)", @@ -104,7 +103,6 @@ public class KeyboardShortcut extends Application implements Handler { w.addActionHandler(this); - f.focus(); } public Action[] getActions(Object target, Object sender) { diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IView.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IView.java index fe849a6bb2..128c9160cf 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IView.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IView.java @@ -8,6 +8,7 @@ import java.util.HashSet; import java.util.Iterator; import com.google.gwt.user.client.DOM; +import com.google.gwt.user.client.Element; import com.google.gwt.user.client.Event; import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.Window; @@ -55,13 +56,30 @@ public class IView extends SimplePanel implements Paintable, public IView(String elementId) { super(); setStyleName(CLASSNAME); + DOM.sinkEvents(getElement(), Event.ONKEYDOWN); + DOM.setElementPropertyInt(getElement(), "tabIndex", 0); + RootPanel.get(elementId).add(this); Window.addWindowResizeListener(this); + + // set focus to iview element by default to listen possible keyboard + // shortcuts + focus(getElement()); + } + private static native void focus(Element el) + /*-{ + try { + el.focus(); + } catch (e) { + + } + }-*/; + public String getTheme() { return theme; } |