/* * 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.EdgeName; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.Label; import com.google.gwt.core.client.EntryPoint; public class DragResizeSample implements EntryPoint { public void onModuleLoad() { Canvas canvas = new Canvas(); DragLabel resizeAny = new DragLabel(); resizeAny.setLeft(80); resizeAny.setTop(80); resizeAny.setContents("Resize from any side"); resizeAny.setCanDragResize(true); resizeAny.setEdgeMarginSize(10); canvas.addChild(resizeAny); DragLabel resizeBR = new DragLabel(); resizeBR.setLeft(280); resizeBR.setTop(80); resizeBR.setContents("Resize from bottom or right"); resizeBR.setCanDragResize(true); resizeBR.setResizeFrom(EdgeName.B, EdgeName.R, EdgeName.BR); resizeBR.setEdgeMarginSize(10); canvas.addChild(resizeBR); canvas.draw(); } public static class DragLabel extends Label { public DragLabel() { setAlign(Alignment.CENTER); setPadding(4); setShowEdges(true); setMinWidth(70); setMinHeight(70); setMaxWidth(300); setMaxHeight(200); setKeepInParentRect(true); setCanDragReposition(true); setDragAppearance(DragAppearance.TARGET); } } }