aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJoonas Lehtinen <joonas.lehtinen@itmill.com>2008-09-03 14:13:16 +0000
committerJoonas Lehtinen <joonas.lehtinen@itmill.com>2008-09-03 14:13:16 +0000
commit82da61dc33fff33dba27b805b16af410fc5d48d6 (patch)
treecd82a0ad43f1f7a7f0ffbd82466e9fdc64dff3e4 /src
parenta2c5d090799433a3c0f2560dbe98fe97bd93bab2 (diff)
downloadvaadin-framework-82da61dc33fff33dba27b805b16af410fc5d48d6.tar.gz
vaadin-framework-82da61dc33fff33dba27b805b16af410fc5d48d6.zip
Test for #2053
svn changeset:5350/svn branch:trunk
Diffstat (limited to 'src')
-rw-r--r--src/com/itmill/toolkit/tests/tickets/Ticket2053.java59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/com/itmill/toolkit/tests/tickets/Ticket2053.java b/src/com/itmill/toolkit/tests/tickets/Ticket2053.java
new file mode 100644
index 0000000000..1aede8d051
--- /dev/null
+++ b/src/com/itmill/toolkit/tests/tickets/Ticket2053.java
@@ -0,0 +1,59 @@
+package com.itmill.toolkit.tests.tickets;
+
+import com.itmill.toolkit.Application;
+import com.itmill.toolkit.data.Property;
+import com.itmill.toolkit.data.Property.ValueChangeEvent;
+import com.itmill.toolkit.terminal.ExternalResource;
+import com.itmill.toolkit.ui.Button;
+import com.itmill.toolkit.ui.Label;
+import com.itmill.toolkit.ui.TextField;
+import com.itmill.toolkit.ui.Window;
+import com.itmill.toolkit.ui.Button.ClickEvent;
+import com.itmill.toolkit.ui.Window.CloseEvent;
+
+public class Ticket2053 extends Application {
+
+ int childs = 0;
+
+ @Override
+ public void init() {
+
+ final Window main = new Window("#2053");
+ setMainWindow(main);
+ Button nothing = new Button("Do nothing");
+ main.addComponent(nothing);
+ nothing
+ .setDescription("Even though no action is taked, this window is refreshed to "
+ + "draw changes not originating from this window. Such changes include changes "
+ + "made by other browser-windows.");
+ Button add = new Button("Add a window", new Button.ClickListener() {
+ public void buttonClick(ClickEvent event) {
+ final String name = "Child " + (++childs);
+ Window c = new Window(name);
+ c.addListener(new Window.CloseListener() {
+ public void windowClose(CloseEvent e) {
+ main.addComponent(new Label(name + " closed"));
+ }
+ });
+ addWindow(c);
+ main.open(new ExternalResource(c.getURL()), "_new");
+ main.addComponent(new Label(name + " opened"));
+ final TextField tf = new TextField("Non immediate textfield");
+ c.addComponent(tf);
+ tf.addListener(new Property.ValueChangeListener() {
+ public void valueChange(ValueChangeEvent event) {
+ main.addComponent(new Label(name + " send text:"
+ + tf.toString()));
+ }
+ });
+ }
+ });
+ main.addComponent(add);
+ add
+ .setDescription("This button opens a new browser window. Closing the browser "
+ + "window should do two things: 1) submit all unsubmitted state to server "
+ + "(print any changes to textfield to main window) and 2) call window.close()"
+ + " on the child window (print closed on the main window)");
+
+ }
+}