/* * Copyright 2008 Google Inc. * * 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.google.gwt.museum.client.defaultmuseum; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.museum.client.common.AbstractIssue; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.PopupPanel; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; /** * <h1>PopupPanel.setAutoHideEnabled() and setModel()</h1> * * <p> * Verify that all states of the {@link PopupPanel} (combinations of modal and * autoHide) work and can be change seemlessly. * </p> */ public class Issue2855 extends AbstractIssue { @Override public Widget createIssue() { // Create the popup panel final PopupPanel popup = new PopupPanel(); // Add buttons to call getters and setters Button toggleAutoHide = new Button("4. Toggle AutoHide", new ClickHandler() { public void onClick(ClickEvent event) { popup.setAutoHideEnabled(!popup.isAutoHideEnabled()); } }); Button toggleModal = new Button("3. Toggle Modal", new ClickHandler() { public void onClick(ClickEvent event) { popup.setModal(!popup.isModal()); } }); Button isAutoHide = new Button("isAutoHide?", new ClickHandler() { public void onClick(ClickEvent event) { Window.alert("AutoHide: " + popup.isAutoHideEnabled()); } }); Button isModal = new Button("isModal?", new ClickHandler() { public void onClick(ClickEvent event) { Window.alert("Modal: " + popup.isModal()); } }); Button closeButton = new Button("Close", new ClickHandler() { public void onClick(ClickEvent event) { popup.hide(); } }); VerticalPanel vPanel = new VerticalPanel(); vPanel.add(toggleModal); vPanel.add(toggleAutoHide); vPanel.add(isModal); vPanel.add(isAutoHide); vPanel.add(closeButton); popup.setWidget(vPanel); // Add control buttons Button showPopup = new Button("1. Show Popup", new ClickHandler() { public void onClick(ClickEvent event) { popup.center(); } }); Button clickable = new Button("2/4. Click Me", new ClickHandler() { public void onClick(ClickEvent event) { Window.alert("You got me!"); } }); VerticalPanel layout = new VerticalPanel(); layout.add(showPopup); layout.add(clickable); return layout; } @Override public String getInstructions() { String text = "Perform the following steps:<br>" + "1. Show the popup<br>" + "2. Click the 'Click Me' button and verify an alert box appears<br>" + "3. Click the 'Toggle Modal' button<br>" + "4. Click the 'Click Me' button and verify an alert box doesn't appear<br>" + "5. Click the 'Toggle AutoHide' button<br>" + "6. Click on the screen and verify that the popup closes"; return text; } @Override public String getSummary() { return "PopupPanel.setAutoHideEnabled() and setModel() tests"; } @Override public boolean hasCSS() { return false; } }