diff options
author | Artur Signell <artur@vaadin.com> | 2012-08-30 17:24:36 +0300 |
---|---|---|
committer | Artur Signell <artur@vaadin.com> | 2012-08-30 17:24:36 +0300 |
commit | 7b25b3886ea95bc6495506fbe9472e45fcbde684 (patch) | |
tree | 0b93cb65dab437feb46720659a63b8f1ef48f7f4 /uitest/src/com/vaadin/tests/tickets/Ticket2117.java | |
parent | 8941056349e302e687e40e94c13709e75f256d73 (diff) | |
download | vaadin-framework-7b25b3886ea95bc6495506fbe9472e45fcbde684.tar.gz vaadin-framework-7b25b3886ea95bc6495506fbe9472e45fcbde684.zip |
Renamed tests -> uitest and tests/testbench -> uitest/src (#9299)
Diffstat (limited to 'uitest/src/com/vaadin/tests/tickets/Ticket2117.java')
-rw-r--r-- | uitest/src/com/vaadin/tests/tickets/Ticket2117.java | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/tickets/Ticket2117.java b/uitest/src/com/vaadin/tests/tickets/Ticket2117.java new file mode 100644 index 0000000000..fb0d62ba85 --- /dev/null +++ b/uitest/src/com/vaadin/tests/tickets/Ticket2117.java @@ -0,0 +1,62 @@ +package com.vaadin.tests.tickets; + +import com.vaadin.Application; +import com.vaadin.server.ExternalResource; +import com.vaadin.shared.ui.label.ContentMode; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.Button.ClickListener; +import com.vaadin.ui.Label; +import com.vaadin.ui.UI.LegacyWindow; + +public class Ticket2117 extends Application.LegacyApplication { + + @Override + public void init() { + setMainWindow(createWindow()); + } + + @Override + public LegacyWindow getWindow(String name) { + + // If we already have the requested window, use it + LegacyWindow w = super.getWindow(name); + if (w == null) { + + // If no window found, create it + w = createExtraWindow(name); + w.open(new ExternalResource(w.getURL())); + } + return w; + } + + private LegacyWindow createExtraWindow(String name) { + final LegacyWindow w = new LegacyWindow("Extra window: " + name); + w.setName(name); + addWindow(w); + w.addComponent(new Label( + "This window has been created on fly for name: " + name)); + w.addComponent(new Label("It has also been redirected to " + w.getURL() + + " to support reloading")); + w.addComponent(new Button("button", new ClickListener() { + @Override + public void buttonClick(ClickEvent event) { + w.showNotification("Button clicked"); + w.addComponent(new Label("clicked")); + } + })); + return w; + } + + private LegacyWindow createWindow() { + final LegacyWindow w = new LegacyWindow(); + w.addComponent(new Label( + "Click this link: <a target=\"_blank\" href='" + + getURL().toExternalForm() + + "'>" + + getURL().toExternalForm() + + "</a> which opens new windows to this uri. They should end up having a separate Window and URL.", + ContentMode.XHTML)); + return w; + } +} |