package com.smartgwt.sample.showcase.client.basics.components;
import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.Label;
import com.smartgwt.client.widgets.layout.HStack;
import com.smartgwt.client.widgets.layout.VStack;
import com.smartgwt.sample.showcase.client.PanelFactory;
import com.smartgwt.sample.showcase.client.ShowcasePanel;
public class StackSample extends ShowcasePanel {
private static final String DESCRIPTION = "HStack and VStack containers manage the stacked positions of multiple member components.";
public static class Factory implements PanelFactory {
private String id;
public Canvas create() {
StackSample panel = new StackSample();
id = panel.getID();
return panel;
}
public String getID() {
return id;
}
public String getDescription() {
return DESCRIPTION;
}
}
public Canvas getViewPanel() {
Canvas canvas = new Canvas();
VStack vStack = new VStack();
vStack.setShowEdges(true);
vStack.setWidth(150);
vStack.setMembersMargin(5);
vStack.setLayoutMargin(10);
vStack.addMember(new BlueBox(null, 40, "height 40"));
vStack.addMember(new BlueBox(null, 80, "height 80"));
vStack.addMember(new BlueBox(null, 160, "height 160"));
canvas.addChild(vStack);
HStack hStack = new HStack();
hStack.setLeft(170);
hStack.setShowEdges(true);
hStack.setHeight(150);
hStack.setMembersMargin(5);
hStack.setLayoutMargin(10);
hStack.addMember(new BlueBox(60, null, "width 60"));
hStack.addMember(new BlueBox(80, null, "width 80"));
hStack.addMember(new BlueBox(160, null, "width 160"));
canvas.addChild(hStack);
return canvas;
}
public String getIntro() {
return DESCRIPTION;
}
class BlueBox extends Label {
public BlueBox(String contents) {
setAlign(Alignment.CENTER);
setBorder("1px solid #808080");
setBackgroundColor("#C3D9FF");
setContents(contents);
}
public BlueBox(Integer width, Integer height, String contents) {
this(contents);
if (width != null) setWidth(width);
if (height != null) setHeight(height);
}
}
}