summaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/tests/ModalWindow.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/vaadin/tests/ModalWindow.java')
-rw-r--r--src/com/vaadin/tests/ModalWindow.java84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/com/vaadin/tests/ModalWindow.java b/src/com/vaadin/tests/ModalWindow.java
new file mode 100644
index 0000000000..90d239abfd
--- /dev/null
+++ b/src/com/vaadin/tests/ModalWindow.java
@@ -0,0 +1,84 @@
+/*
+@ITMillApache2LicenseForJavaFiles@
+ */
+
+package com.vaadin.tests;
+
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.TextField;
+import com.vaadin.ui.Window;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Button.ClickListener;
+
+/**
+ * Simple program that demonstrates "modal windows" that block all access other
+ * windows.
+ *
+ * @author IT Mill Ltd.
+ * @since 4.0.1
+ * @see com.vaadin.Application
+ * @see com.vaadin.ui.Window
+ * @see com.vaadin.ui.Label
+ */
+public class ModalWindow extends com.vaadin.Application implements
+ ClickListener {
+
+ private Window test;
+ private Button reopen;
+
+ @Override
+ public void init() {
+
+ // Create main window
+ final Window main = new Window("ModalWindow demo");
+ setMainWindow(main);
+ main.addComponent(new Label("ModalWindow demo"));
+
+ // Main window textfield
+ final TextField f = new TextField();
+ f.setTabIndex(1);
+ main.addComponent(f);
+
+ // Main window button
+ final Button b = new Button("Test Button in main window");
+ b.addListener(this);
+ b.setTabIndex(2);
+ main.addComponent(b);
+
+ reopen = new Button("Open modal subwindow");
+ reopen.addListener(this);
+ reopen.setTabIndex(3);
+ main.addComponent(reopen);
+
+ }
+
+ public void buttonClick(ClickEvent event) {
+ if (event.getButton() == reopen) {
+ openSubWindow();
+ }
+ getMainWindow().addComponent(
+ new Label("Button click: " + event.getButton().getCaption()));
+ }
+
+ private void openSubWindow() {
+ // Modal window
+ test = new Window("Modal window");
+ test.setModal(true);
+ getMainWindow().addWindow(test);
+ test.addComponent(new Label(
+ "You have to close this window before accessing others."));
+
+ // Textfield for modal window
+ final TextField f = new TextField();
+ f.setTabIndex(4);
+ test.addComponent(f);
+ f.focus();
+
+ // Modal window button
+ final Button b = new Button("Test Button in modal window");
+ b.setTabIndex(5);
+ b.addListener(this);
+ test.addComponent(b);
+ }
+}