/* * Smart GWT (GWT for SmartClient) * Copyright 2008 and beyond, Isomorphic Software, Inc. * * Smart GWT 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. Smart GWT 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. */ import java.util.LinkedHashMap; import com.smartgwt.client.types.VerticalAlignment; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.Label; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.CheckboxItem; import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; import com.smartgwt.client.widgets.layout.PortalLayout; import com.smartgwt.client.widgets.layout.Portlet; import com.smartgwt.client.widgets.layout.VLayout; import com.google.gwt.core.client.EntryPoint; public class PortletHeightSample implements EntryPoint { @Override protected boolean isTopIntro() { return true; } public void onModuleLoad() { final PortalLayout portalLayout = new PortalLayout(); portalLayout.setWidth100(); portalLayout.setHeight(350); Portlet portlet1 = new Portlet(); portlet1.setTitle("height: 100"); portlet1.setHeight(100); Portlet portlet2 = new Portlet(); portlet2.setTitle("height: 100"); portlet2.setHeight(100); LinkedHashMap<String, String> map = new LinkedHashMap<String, String>(); map.put("padding", "10"); portlet2.setBodyDefaults(map); Label label = new Label(); label.setValign(VerticalAlignment.TOP); label.setContents("Notice how the PortalLayout will stretch the last Portlet to fill the vertical space, if <code>preventColumnUnderflow</code> is set."); portlet2.addItem(label); Portlet portlet3 = new Portlet(); portlet3.setTitle("height: \"30%\""); portlet3.setHeight("30%"); Portlet portlet4 = new Portlet(); portlet4.setTitle("height: \"70%\""); portlet4.setHeight("70%"); portalLayout.addPortlet(portlet1, 0, 0); portalLayout.addPortlet(portlet2, 0, 1); portalLayout.addPortlet(portlet3, 1, 0); portalLayout.addPortlet(portlet4, 1, 1); DynamicForm form = new DynamicForm(); CheckboxItem checkbox = new CheckboxItem(); checkbox.setTitle("Prevent Column Underflow"); checkbox.setDefaultValue(true); checkbox.addChangedHandler(new ChangedHandler() { @Override public void onChanged(ChangedEvent event) { portalLayout.setPreventColumnUnderflow((Boolean)event.getValue()); } }); form.setFields(checkbox); VLayout vLayout = new VLayout(); vLayout.setWidth100(); vLayout.setHeight100(); vLayout.setMembersMargin(10); vLayout.addMembers(form, portalLayout); vLayout.draw(); } }