Remove widget from layout mananger (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.Alignment; import com.smartgwt.client.types.DragAppearance; import com.smartgwt.client.types.Overflow; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.IButton; import com.smartgwt.client.widgets.Label; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.client.widgets.layout.VLayout; public class Showcase implements EntryPoint { public void onModuleLoad() { RootPanel.get().add(getViewPanel()); } public Canvas getViewPanel() { VLayout layout = new VLayout(15); final HLayout mainLayout = new HLayout(); mainLayout.setWidth(350); mainLayout.setShowEdges(true); mainLayout.setEdgeImage("edges/custom/sharpframe_10.png"); mainLayout.setDragAppearance(DragAppearance.TARGET); mainLayout.setOverflow(Overflow.HIDDEN); mainLayout.setCanDragResize(true); mainLayout.setResizeFrom("L", "R"); mainLayout.setLayoutMargin(10); mainLayout.setMembersMargin(10); mainLayout.setMinWidth(100); mainLayout.setMinHeight(50); final Label member1 = new Label(); member1.setContents("Member 1"); member1.setOverflow(Overflow.HIDDEN); member1.setShowEdges(true); member1.setCanDragResize(true); member1.setResizeFrom("L", "R"); member1.setAlign(Alignment.CENTER); Label member2 = new Label(); member2.setContents("Member 2"); member2.setOverflow(Overflow.HIDDEN); member2.setShowEdges(true); member2.setCanDragResize(true); member2.setResizeFrom("L", "R"); member2.setAlign(Alignment.CENTER); mainLayout.addMember(member1); mainLayout.addMember(member2); mainLayout.setHeight(100); HLayout buttonLayout = new HLayout(15); final IButton removeMember = new IButton("Remove Member 1"); removeMember.setWidth(140); final IButton addMember = new IButton("Add Member 1"); addMember.setDisabled(true); removeMember.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { Canvas[] children = mainLayout.getChildren(); mainLayout.removeChild(member1); removeMember.disable(); addMember.enable(); } }); buttonLayout.addMember(removeMember); addMember.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { mainLayout.addMember(member1); addMember.disable(); removeMember.enable(); } }); buttonLayout.addMember(addMember); layout.addMember(mainLayout); layout.addMember(buttonLayout); return layout; } }