/* * 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 com.smartgwt.client.types.Alignment; import com.smartgwt.client.types.DragAppearance; import com.smartgwt.client.types.ListGridFieldType; import com.smartgwt.client.types.VerticalAlignment; import com.smartgwt.client.widgets.AnimationCallback; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.Img; import com.smartgwt.client.widgets.ImgProperties; 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.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.grid.ListGridRecord; import com.smartgwt.client.widgets.layout.LayoutSpacer; import com.smartgwt.client.widgets.layout.PortalLayout; import com.smartgwt.client.widgets.layout.Portlet; import com.smartgwt.client.widgets.layout.VLayout; import java.util.LinkedHashMap; import com.google.gwt.core.client.EntryPoint; public class PortletWidthSample implements EntryPoint { @Override protected boolean isTopIntro() { return true; } public void onModuleLoad() { final PortalLayout portalLayout = new PortalLayout(); portalLayout.setWidth100(); portalLayout.setHeight(350); portalLayout.setNumColumns(1); Portlet portlet1 = new Portlet(); portlet1.setTitle("width: 150"); portlet1.setWidth(150); Portlet portlet2 = new Portlet(); portlet2.setTitle("width: 200"); portlet2.setWidth(200); 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 available space, if <code>preventRowUnderflow</code> is set."); portlet2.addItem(label); Portlet portlet3 = new Portlet(); portlet3.setTitle("width: \"30%\""); portlet3.setWidth("30%"); Portlet portlet4 = new Portlet(); portlet4.setTitle("width: \"70%\""); portlet4.setWidth("70%"); portalLayout.addPortlet(portlet1, 0, 0, 0); portalLayout.addPortlet(portlet2, 0, 0, 1); portalLayout.addPortlet(portlet3, 0, 1, 0); portalLayout.addPortlet(portlet4, 0, 1, 1); DynamicForm form = new DynamicForm(); CheckboxItem checkbox = new CheckboxItem(); checkbox.setTitle("Prevent Row Underflow"); checkbox.setDefaultValue(true); checkbox.addChangedHandler(new ChangedHandler() { @Override public void onChanged(ChangedEvent event) { portalLayout.setPreventRowUnderflow((Boolean)event.getValue()); } }); form.setFields(checkbox); VLayout vLayout = new VLayout(); vLayout.setWidth100(); vLayout.setHeight100(); vLayout.setMembersMargin(10); vLayout.addMembers(form, portalLayout); vLayout.draw(); } }