/*
* Ext GWT - Ext for GWT
* Copyright(c) 2007-2009, Ext JS, LLC.
* licensing@extjs.com
*
* http://extjs.com/license
*/
package com.extjs.gxt.samples.client.examples.toolbar;
import com.extjs.gxt.samples.resources.client.Resources;
import com.extjs.gxt.samples.resources.client.TestData;
import com.extjs.gxt.ui.client.Style.ButtonArrowAlign;
import com.extjs.gxt.ui.client.Style.ButtonScale;
import com.extjs.gxt.ui.client.Style.IconAlign;
import com.extjs.gxt.ui.client.Style.Scroll;
import com.extjs.gxt.ui.client.util.IconHelper;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.VerticalPanel;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.button.ButtonGroup;
import com.extjs.gxt.ui.client.widget.button.ToggleButton;
import com.extjs.gxt.ui.client.widget.layout.TableData;
import com.extjs.gxt.ui.client.widget.menu.Menu;
import com.extjs.gxt.ui.client.widget.menu.MenuItem;
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
import com.google.gwt.user.client.Element;
public class AdvancedToolBarExample extends LayoutContainer {
class SamplePanel extends ContentPanel {
public SamplePanel() {
setSize(500, 250);
setBodyStyle("padding: 6px");
setScrollMode(Scroll.AUTOY);
addText(TestData.DUMMY_TEXT_LONG);
}
}
@Override
protected void onRender(Element parent, int pos) {
super.onRender(parent, pos);
VerticalPanel vp = new VerticalPanel();
vp.setSpacing(10);
vp.add(createStandard());
vp.add(createMulti());
vp.add(createMulti2());
vp.add(createMixed());
add(vp);
};
private ContentPanel createStandard() {
ContentPanel panel = new SamplePanel();
panel.setHeading("Standard");
ToolBar toolBar = new ToolBar();
Button btn = new Button("Cool", IconHelper.createStyle("add16"));
toolBar.add(btn);
Menu menu = new Menu();
menu.add(new MenuItem("Ribbons are cool"));
btn.setMenu(menu);
toolBar.add(new SeparatorToolItem());
btn = new Button("Cut", IconHelper.createStyle("add16"));
menu = new Menu();
menu.add(new MenuItem("Copy me"));
toolBar.add(btn);
btn = new Button("Copy", IconHelper.createStyle("add16"));
toolBar.add(btn);
btn = new Button("Paste", IconHelper.createStyle("add16"));
toolBar.add(btn);
menu = new Menu();
menu.add(new MenuItem("Ribbons are cool"));
btn.setMenu(menu);
toolBar.add(new SeparatorToolItem());
ToggleButton toggleBtn = new ToggleButton("Format");
toggleBtn.toggle(true);
toolBar.add(toggleBtn);
panel.setTopComponent(toolBar);
return panel;
}
private ContentPanel createMulti() {
ContentPanel panel = new SamplePanel();
panel.setHeading("Multi Columns");
ToolBar toolBar = new ToolBar();
panel.setTopComponent(toolBar);
ButtonGroup group = new ButtonGroup(2);
group.setHeading("Clipboard");
Button btn = new Button("Cool", IconHelper.createStyle("add16"));
group.add(btn);
btn = new Button("Cut", IconHelper.createStyle("add16"));
Menu menu = new Menu();
menu.add(new MenuItem("Copy me"));
btn.setMenu(menu);
group.add(btn);
btn = new Button("Copy", IconHelper.createStyle("add16"));
group.add(btn);
btn = new Button("Paste", IconHelper.createStyle("add16"));
group.add(btn);
toolBar.add(group);
group = new ButtonGroup(2);
group.setHeading("Other Bugus Actions");
btn = new Button("Cool", IconHelper.createStyle("add16"));
group.add(btn);
btn = new Button("Cut", IconHelper.createStyle("add16"));
menu = new Menu();
menu.add(new MenuItem("Copy me"));
btn.setMenu(menu);
group.add(btn);
btn = new Button("Copy", IconHelper.createStyle("add16"));
group.add(btn);
btn = new Button("Paste", IconHelper.createStyle("add16"));
group.add(btn);
toolBar.add(group);
return panel;
}
private ContentPanel createMulti2() {
ContentPanel panel = new SamplePanel();
panel.setHeading("Multi Columns No Titles");
ToolBar toolBar = new ToolBar();
panel.setTopComponent(toolBar);
ButtonGroup group = new ButtonGroup(2);
group.setHeaderVisible(false);
Button btn = new Button("Cool", IconHelper.createStyle("add16"));
group.add(btn);
btn = new Button("Cut", IconHelper.createStyle("add16"));
Menu menu = new Menu();
menu.add(new MenuItem("Copy me"));
btn.setMenu(menu);
group.add(btn);
btn = new Button("Copy", IconHelper.createStyle("add16"));
group.add(btn);
btn = new Button("Paste", IconHelper.createStyle("add16"));
group.add(btn);
toolBar.add(group);
group = new ButtonGroup(2);
group.setHeaderVisible(false);
btn = new Button("Cool", IconHelper.createStyle("add16"));
group.add(btn);
btn = new Button("Cut", IconHelper.createStyle("add16"));
menu = new Menu();
menu.add(new MenuItem("Copy me"));
btn.setMenu(menu);
group.add(btn);
btn = new Button("Copy", IconHelper.createStyle("add16"));
group.add(btn);
btn = new Button("Paste", IconHelper.createStyle("add16"));
group.add(btn);
toolBar.add(group);
return panel;
}
private ContentPanel createMixed() {
ContentPanel panel = new SamplePanel();
panel.setHeading("Mix and match icon sizes");
ToolBar toolBar = new ToolBar();
panel.setTopComponent(toolBar);
ButtonGroup group = new ButtonGroup(3);
group.setHeading("Clipboard");
toolBar.add(group);
Button btn = new Button("Paste", Resources.ICONS.add32());
btn.addStyleName("x-btn-as-arrow");
btn.setScale(ButtonScale.LARGE);
btn.setIconAlign(IconAlign.TOP);
btn.setArrowAlign(ButtonArrowAlign.BOTTOM);
TableData data = new TableData();
data.setRowspan(3);
group.add(btn, data);
btn = new Button("Format", Resources.ICONS.add32());
btn.setScale(ButtonScale.LARGE);
btn.setIconAlign(IconAlign.TOP);
btn.setArrowAlign(ButtonArrowAlign.BOTTOM);
Menu menu = new Menu();
menu.add(new MenuItem("Cool"));
btn.setMenu(menu);
group.add(btn, data);
btn = new Button("Copy", IconHelper.createStyle("add16"));
menu = new Menu();
menu.add(new MenuItem("Copy me"));
btn.setMenu(menu);
group.add(btn);
btn = new Button("Cut", IconHelper.createStyle("add16"));
group.add(btn);
btn = new Button("Paste", IconHelper.createStyle("add16"));
group.add(btn);
group = new ButtonGroup(3);
group.setHeading("Clipboard");
toolBar.add(group);
btn = new Button("Paste", Resources.ICONS.add32());
btn.addStyleName("x-btn-as-arrow");
btn.setScale(ButtonScale.LARGE);
btn.setIconAlign(IconAlign.TOP);
btn.setArrowAlign(ButtonArrowAlign.BOTTOM);
data = new TableData();
data.setRowspan(3);
group.add(btn, data);
btn = new Button("Format", Resources.ICONS.add32());
btn.setScale(ButtonScale.LARGE);
btn.setIconAlign(IconAlign.TOP);
btn.setArrowAlign(ButtonArrowAlign.BOTTOM);
menu = new Menu();
menu.add(new MenuItem("Cool"));
btn.setMenu(menu);
group.add(btn, data);
btn = new Button("Copy", IconHelper.createStyle("add16"));
menu = new Menu();
menu.add(new MenuItem("Copy me"));
btn.setMenu(menu);
group.add(btn);
btn = new Button("Cut", IconHelper.createStyle("add16"));
group.add(btn);
btn = new Button("Paste", IconHelper.createStyle("add16"));
group.add(btn);
return panel;
}
}