/*
* 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 java.util.List;
import com.extjs.gxt.samples.resources.client.Resources;
import com.extjs.gxt.samples.resources.client.TestData;
import com.extjs.gxt.samples.resources.client.model.Stock;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.button.SplitButton;
import com.extjs.gxt.ui.client.widget.button.ToggleButton;
import com.extjs.gxt.ui.client.widget.custom.ThemeSelector;
import com.extjs.gxt.ui.client.widget.form.ComboBox;
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
import com.extjs.gxt.ui.client.widget.menu.CheckMenuItem;
import com.extjs.gxt.ui.client.widget.menu.DateMenu;
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.menu.SeparatorMenuItem;
import com.extjs.gxt.ui.client.widget.toolbar.FillToolItem;
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 ToolBarExample extends LayoutContainer {
@Override
protected void onRender(Element parent, int pos) {
super.onRender(parent, pos);
setLayout(new FlowLayout(10));
ToolBar toolBar = new ToolBar();
Button item1 = new Button("Button w/ Menu");
item1.setIcon(Resources.ICONS.menu_show());
List<Stock> list = TestData.getStocks();
final ListStore<Stock> store = new ListStore<Stock>();
store.add(list);
final ComboBox<Stock> combo = new ComboBox<Stock>();
combo.setFieldLabel("Company");
combo.setDisplayField("name");
combo.setName("name");
combo.setValueField("symbol");
combo.setForceSelection(true);
combo.setStore(store);
combo.setTriggerAction(TriggerAction.ALL);
Menu menu = new Menu();
menu.add(combo);
CheckMenuItem menuItem = new CheckMenuItem("I Like Cats");
menuItem.setChecked(true);
menu.add(menuItem);
menuItem = new CheckMenuItem("I Like Dogs");
menu.add(menuItem);
item1.setMenu(menu);
menu.add(new SeparatorMenuItem());
MenuItem radios = new MenuItem("Radio Options");
menu.add(radios);
Menu radioMenu = new Menu();
CheckMenuItem r = new CheckMenuItem("Blue Theme");
r.setGroup("radios");
r.setChecked(true);
radioMenu.add(r);
r = new CheckMenuItem("Gray Theme");
r.setGroup("radios");
radioMenu.add(r);
radios.setSubMenu(radioMenu);
MenuItem date = new MenuItem("Choose a Date");
date.setIcon(Resources.ICONS.calendar());
menu.add(date);
date.setSubMenu(new DateMenu());
toolBar.add(item1);
toolBar.add(new SeparatorToolItem());
SplitButton splitItem = new SplitButton("Split Button");
splitItem.setIcon(Resources.ICONS.list_items());
menu = new Menu();
menu.add(new MenuItem("<b>Bold</b>"));
menu.add(new MenuItem("<i>Italic</i>"));
menu.add(new MenuItem("<u>Underline</u>"));
splitItem.setMenu(menu);
toolBar.add(splitItem);
toolBar.add(new SeparatorToolItem());
ToggleButton toggle = new ToggleButton("Toggle");
toggle.toggle(true);
toolBar.add(toggle);
toolBar.add(new SeparatorToolItem());
Button scrollerButton = new Button("Scrolling Menu");
Menu scrollMenu = new Menu();
scrollMenu.setMaxHeight(200);
for (int i = 0; i < 40; i++) {
scrollMenu.add(new MenuItem("Item " + i));
}
scrollerButton.setMenu(scrollMenu);
toolBar.add(scrollerButton);
toolBar.add(new SeparatorToolItem());
toolBar.add(new FillToolItem());
ThemeSelector selector = new ThemeSelector();
toolBar.add(selector);
ContentPanel panel = new ContentPanel();
panel.setCollapsible(true);
panel.setFrame(true);
panel.setHeading("ToolBar & Menu Demo");
panel.setLayout(new FitLayout());
panel.setSize(500, 300);
panel.setTopComponent(toolBar);
LayoutContainer c = new LayoutContainer();
c.setStyleAttribute("backgroundColor", "white");
c.setBorders(true);
panel.add(c);
add(panel);
}
}