package com.smartgwt.sample.showcase.client.basics.components; import com.smartgwt.client.types.Alignment; import com.smartgwt.client.types.DragAppearance; 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.VStack; import com.smartgwt.sample.showcase.client.PanelFactory; import com.smartgwt.sample.showcase.client.ShowcasePanel; public class LayerSample extends ShowcasePanel { private static final String DESCRIPTION = "Click the buttons to move the draggable box above or below the other boxes."; public static class Factory implements PanelFactory { private String id; public Canvas create() { LayerSample panel = new LayerSample(); id = panel.getID(); return panel; } public String getID() { return id; } public String getDescription() { return DESCRIPTION; } } public Canvas getViewPanel() { Canvas canvas = new Canvas(); Label bottomLabel = new Label("Bottom"); bottomLabel.setAlign(Alignment.CENTER); bottomLabel.setShowEdges(true); bottomLabel.setBackgroundColor("lightblue"); canvas.addChild(bottomLabel); final Label middleLabel = new Label("Middle"); middleLabel.setAlign(Alignment.CENTER); middleLabel.setShowEdges(true); middleLabel.setBackgroundColor("lightgreen"); middleLabel.setLeft(60); middleLabel.setTop(60); canvas.addChild(middleLabel); Label topLabel = new Label("Top"); topLabel.setAlign(Alignment.CENTER); topLabel.setShowEdges(true); topLabel.setBackgroundColor("pink"); topLabel.setLeft(120); topLabel.setTop(120); canvas.addChild(topLabel); final Label dragWidget = new Label("Drag Me"); dragWidget.setAlign(Alignment.CENTER); dragWidget.setShowEdges(true); dragWidget.setBackgroundColor("lightyellow"); dragWidget.setLeft(120); dragWidget.setTop(0); dragWidget.setCanDragReposition(true); dragWidget.setDragAppearance(DragAppearance.TARGET); canvas.addChild(dragWidget); VStack vStack = new VStack(); vStack.setLeft(250); vStack.setMembersMargin(10); IButton frontButton = new IButton("Front"); frontButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { dragWidget.bringToFront(); } }); vStack.addMember(frontButton); IButton backButton = new IButton("Back"); backButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { dragWidget.sendToBack(); } }); vStack.addMember(backButton); IButton aboveMiddleButton = new IButton("Above Middle"); aboveMiddleButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { dragWidget.moveAbove(middleLabel); } }); vStack.addMember(aboveMiddleButton); IButton belowMiddleButton = new IButton("Below Middle"); belowMiddleButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { dragWidget.moveBelow(middleLabel); } }); vStack.addMember(belowMiddleButton); canvas.addChild(vStack); return canvas; } public String getIntro() { return DESCRIPTION; } }