diff options
-rw-r--r-- | tests/src/com/vaadin/tests/components/window/SubWindowFocusAndBlurListeners.java | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/tests/src/com/vaadin/tests/components/window/SubWindowFocusAndBlurListeners.java b/tests/src/com/vaadin/tests/components/window/SubWindowFocusAndBlurListeners.java new file mode 100644 index 0000000000..2d9d7bd5b2 --- /dev/null +++ b/tests/src/com/vaadin/tests/components/window/SubWindowFocusAndBlurListeners.java @@ -0,0 +1,82 @@ +package com.vaadin.tests.components.window; + +import com.vaadin.event.Action; +import com.vaadin.event.Action.Handler; +import com.vaadin.event.FieldEvents.BlurEvent; +import com.vaadin.event.FieldEvents.BlurListener; +import com.vaadin.event.FieldEvents.FocusEvent; +import com.vaadin.event.FieldEvents.FocusListener; +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.TextField; +import com.vaadin.ui.Window; + +public class SubWindowFocusAndBlurListeners extends TestBase { + + @Override + protected String getDescription() { + return "Focus and blur listeners should work. Note the " + + "side efect (focusing) when callintg bring to front."; + } + + @Override + protected Integer getTicketNumber() { + return 5039; + } + + @Override + protected void setup() { + + final Window window = new Window("Focus test window"); + window.getContent().setSizeUndefined(); + + window.addComponent(new TextField()); + window.addListener(new FocusListener() { + public void focus(FocusEvent event) { + event.getComponent().getWindow() + .showNotification("Focused window"); + } + }); + + window.addListener(new BlurListener() { + public void blur(BlurEvent event) { + event.getComponent().getWindow() + .showNotification("Blurred window"); + } + }); + + window.addActionHandler(new Handler() { + + private Action[] s = new Action[] { new ShortcutAction("^Save") }; + + public Action[] getActions(Object target, Object sender) { + return s; + } + + public void handleAction(Action action, Object sender, Object target) { + window.showNotification("Action!"); + } + }); + + Window main = getLayout().getWindow(); + + main.addWindow(window); + + main.addComponent(new TextField()); + + Button button = new Button("Bring to front (should focus too)", + new Button.ClickListener() { + public void buttonClick(ClickEvent event) { + window.bringToFront(); + } + }); + main.addComponent(button); + + Window window2 = new Window("Another window for testing"); + main.addWindow(window2); + window2.setPositionX(50); + + } +} |