aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/com/vaadin/tests/components/window/SubWindowFocus.java
diff options
context:
space:
mode:
Diffstat (limited to 'uitest/src/com/vaadin/tests/components/window/SubWindowFocus.java')
-rw-r--r--uitest/src/com/vaadin/tests/components/window/SubWindowFocus.java86
1 files changed, 86 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/window/SubWindowFocus.java b/uitest/src/com/vaadin/tests/components/window/SubWindowFocus.java
new file mode 100644
index 0000000000..389c926986
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/window/SubWindowFocus.java
@@ -0,0 +1,86 @@
+package com.vaadin.tests.components.window;
+
+import com.vaadin.event.Action;
+import com.vaadin.event.ShortcutAction;
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.TextField;
+import com.vaadin.ui.Window;
+
+public class SubWindowFocus extends TestBase {
+
+ @Override
+ protected String getDescription() {
+ return "A subwindow that listens to ESC and SPACE can be opened. It "
+ + "should receive focus and thus receive keyboard events when "
+ + "anything within the window is clicked. It should be last in"
+ + "the tabbing order. The window can only be closed using ESC.";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 3498;
+ }
+
+ @Override
+ protected void setup() {
+
+ // some fields with tabindex
+ for (int i = 1; i < 4; i++) {
+ TextField tf = new TextField();
+ tf.setTabIndex(i);
+ tf.setInputPrompt("Tab index " + i);
+ addComponent(tf);
+ }
+ // field with tabindex 0
+ TextField tf = new TextField();
+ tf.setTabIndex(0);
+ tf.setInputPrompt("Tab index 0");
+ addComponent(tf);
+
+ Button b = new Button("new", new Button.ClickListener() {
+ @Override
+ public void buttonClick(ClickEvent event) {
+ final Window win = new Window("Subwin");
+ win.getContent().setWidth(null);
+ win.center();
+ win.setClosable(false);
+ getMainWindow().addWindow(win);
+ win.addComponent(new Label("SPACE notifies, ESC closes."));
+
+ win.addActionHandler(new Action.Handler() {
+
+ ShortcutAction esc = new ShortcutAction("Close",
+ ShortcutAction.KeyCode.ESCAPE, null);
+ ShortcutAction spc = new ShortcutAction("Space",
+ ShortcutAction.KeyCode.SPACEBAR, null);
+
+ @Override
+ public Action[] getActions(Object target, Object sender) {
+ return new Action[] { esc, spc };
+ }
+
+ @Override
+ public void handleAction(Action action, Object sender,
+ Object target) {
+ if (action == esc) {
+ getMainWindow().removeWindow(win);
+ } else {
+ getMainWindow().showNotification(
+ action.getCaption());
+ }
+
+ }
+
+ });
+
+ win.addComponent(new TextField());
+ }
+
+ });
+ addComponent(b);
+
+ }
+}