Modal window with controls (Smart GWT)
/* * SmartGWT (GWT for SmartClient) * Copyright 2008 and beyond, Isomorphic Software, Inc. * * SmartGWT is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License version 3 * as published by the Free Software Foundation. SmartGWT is also * available under typical commercial license terms - see * http://smartclient.com/license * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ package com.smartgwt.sample.showcase.client; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.user.client.ui.RootPanel; import com.smartgwt.client.types.VerticalAlignment; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.HTMLPane; import com.smartgwt.client.widgets.IButton; import com.smartgwt.client.widgets.Window; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.events.CloseClickHandler; import com.smartgwt.client.widgets.events.CloseClientEvent; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.DateItem; import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.widgets.layout.HStack; import com.smartgwt.client.widgets.layout.VLayout; public class Showcase implements EntryPoint { public void onModuleLoad() { RootPanel.get().add(getViewPanel()); } public Canvas getViewPanel() { final IButton buttonTouchThis = new IButton("Touch This"); buttonTouchThis.setAutoFit(true); buttonTouchThis.setShowRollOver(true); buttonTouchThis.setShowDown(true); buttonTouchThis.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { buttonTouchThis.focus(); } }); HTMLPane paneLink = new HTMLPane(); paneLink.setContents("<a href=\"http://google.com\" target=\"_blank\">Open Google</a>"); IButton buttonShowWindow = new IButton("Show Window"); buttonShowWindow.setShowRollOver(true); buttonShowWindow.setShowDown(true); buttonShowWindow.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { buttonTouchThis.setTitle("Can't Touch This"); final Window winModal = new Window(); winModal.setWidth(360); winModal.setHeight(115); winModal.setTitle("Modal Window"); winModal.setShowMinimizeButton(false); winModal.setIsModal(true); winModal.setShowModalMask(true); winModal.centerInPage(); winModal.addCloseClickHandler(new CloseClickHandler() { public void onCloseClick(CloseClientEvent event) { buttonTouchThis.setTitle("Touch This"); winModal.destroy(); } }); DynamicForm form = new DynamicForm(); form.setHeight100(); form.setWidth100(); form.setPadding(5); form.setLayoutAlign(VerticalAlignment.BOTTOM); TextItem textItem = new TextItem(); textItem.setTitle("Text"); DateItem dateItem = new DateItem(); dateItem.setTitle("Date"); DateItem dateItem2 = new DateItem(); dateItem2.setTitle("Date"); dateItem2.setUseTextField(true); form.setFields(textItem, dateItem, dateItem2); winModal.addItem(form); winModal.show(); } }); HStack layoutTopRow = new HStack(10); layoutTopRow.setHeight(50); layoutTopRow.addMember(buttonTouchThis); layoutTopRow.addMember(paneLink); VLayout layoutMain = new VLayout(); layoutMain.addMember(layoutTopRow); layoutMain.addMember(buttonShowWindow); return layoutMain; } }