/**
* Sencha GXT 3.0.0b - Sencha for GWT
* Copyright(c) 2007-2012, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.explorer.client.layout;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.Widget;
import com.sencha.gxt.core.client.Style.LayoutRegion;
import com.sencha.gxt.core.client.util.Margins;
import com.sencha.gxt.explorer.client.model.Example.Detail;
import com.sencha.gxt.widget.core.client.ContentPanel;
import com.sencha.gxt.widget.core.client.button.TextButton;
import com.sencha.gxt.widget.core.client.container.BorderLayoutContainer;
import com.sencha.gxt.widget.core.client.container.BorderLayoutContainer.BorderLayoutData;
import com.sencha.gxt.widget.core.client.container.MarginData;
import com.sencha.gxt.widget.core.client.container.SimpleContainer;
import com.sencha.gxt.widget.core.client.container.Viewport;
import com.sencha.gxt.widget.core.client.event.SelectEvent;
import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
@Detail(name = "BorderLayout", icon = "borderlayout", category = "Layouts", fit = true)
public class BorderLayoutExample implements IsWidget, EntryPoint {
public Widget asWidget() {
final BorderLayoutContainer con = new BorderLayoutContainer();
con.setBorders(true);
ContentPanel north = new ContentPanel();
ContentPanel west = new ContentPanel();
ContentPanel center = new ContentPanel();
center.setHeadingText("BorderLayout Example");
FlexTable table = new FlexTable();
table.getElement().getStyle().setProperty("margin", "10px");
table.setCellSpacing(8);
table.setCellPadding(4);
for (int i = 0; i < LayoutRegion.values().length; i++) {
final LayoutRegion r = LayoutRegion.values()[i];
if (r == LayoutRegion.CENTER) {
continue;
}
SelectHandler handler = new SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
TextButton btn = (TextButton)event.getSource();
String txt = btn.getText();
if (txt.equals("Expand")) {
con.expand(r);
} else if (txt.equals("Collapse")) {
con.collapse(r);
} else if (txt.equals("Show")) {
con.show(r);
} else {
con.hide(r);
}
}
};
table.setHTML(i, 0, "<div style='font-size: 12px; width: 100px'>" + r.name() + ":</span>");
table.setWidget(i, 1, new TextButton("Expand", handler));
table.setWidget(i, 2, new TextButton("Collapse", handler));
table.setWidget(i, 3, new TextButton("Show", handler));
table.setWidget(i, 4, new TextButton("Hide", handler));
}
center.setResize(false);
center.add(table);
ContentPanel east = new ContentPanel();
ContentPanel south = new ContentPanel();
BorderLayoutData northData = new BorderLayoutData(100);
northData.setMargins(new Margins(5));
northData.setCollapsible(true);
northData.setSplit(true);
BorderLayoutData westData = new BorderLayoutData(150);
westData.setCollapsible(true);
westData.setSplit(true);
westData.setCollapseMini(true);
westData.setMargins(new Margins(0, 5, 0, 5));
MarginData centerData = new MarginData();
BorderLayoutData eastData = new BorderLayoutData(150);
eastData.setMargins(new Margins(0, 5, 0, 5));
eastData.setCollapsible(true);
eastData.setSplit(true);
BorderLayoutData southData = new BorderLayoutData(100);
southData.setMargins(new Margins(5));
southData.setCollapsible(true);
southData.setCollapseMini(true);
con.setNorthWidget(north, northData);
con.setWestWidget(west, westData);
con.setCenterWidget(center, centerData);
con.setEastWidget(east, eastData);
con.setSouthWidget(south, southData);
SimpleContainer simple = new SimpleContainer();
simple.add(con, new MarginData(10));
return simple;
}
public void onModuleLoad() {
Widget con = asWidget();
Viewport viewport = new Viewport();
viewport.add(con);
RootPanel.get().add(viewport);
}
}