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;
}
}
SmartGWT.zip( 9,880 k)Related examples in the same category