diff options
Diffstat (limited to 'uitest/src/com/vaadin/tests/ModalWindow.java')
-rw-r--r-- | uitest/src/com/vaadin/tests/ModalWindow.java | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/ModalWindow.java b/uitest/src/com/vaadin/tests/ModalWindow.java new file mode 100644 index 0000000000..6153f14285 --- /dev/null +++ b/uitest/src/com/vaadin/tests/ModalWindow.java @@ -0,0 +1,98 @@ +/* + * Copyright 2011 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.vaadin.tests; + +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; +import com.vaadin.ui.TextField; +import com.vaadin.ui.Window; + +/** + * Simple program that demonstrates "modal windows" that block all access other + * windows. + * + * @author Vaadin 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.LegacyApplication + implements ClickListener { + + private Window test; + private Button reopen; + + @Override + public void init() { + + // Create main window + final LegacyWindow main = new LegacyWindow("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); + + } + + @Override + 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); + } +} |