/* * 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; import java.util.ArrayList; import java.util.List; import com.extjs.gxt.samples.client.examples.binding.BasicBindingExample; import com.extjs.gxt.samples.client.examples.binding.GridBindingExample; import com.extjs.gxt.samples.client.examples.binding.GridStoreBindingExample; import com.extjs.gxt.samples.client.examples.button.ButtonAlignExample; import com.extjs.gxt.samples.client.examples.button.ButtonsExample; import com.extjs.gxt.samples.client.examples.chart.AdvancedChartExample; import com.extjs.gxt.samples.client.examples.chart.BasicChartExample; import com.extjs.gxt.samples.client.examples.chart.ChartGalleryExample; import com.extjs.gxt.samples.client.examples.core.TemplateExample; import com.extjs.gxt.samples.client.examples.dnd.BasicDNDExample; import com.extjs.gxt.samples.client.examples.dnd.DualListFieldExample; import com.extjs.gxt.samples.client.examples.dnd.GridToGridExample; import com.extjs.gxt.samples.client.examples.dnd.ListViewDNDExample; import com.extjs.gxt.samples.client.examples.dnd.MultiComponentExample; import com.extjs.gxt.samples.client.examples.dnd.ReorderingGridExample; import com.extjs.gxt.samples.client.examples.dnd.ReorderingTreeGridExample; import com.extjs.gxt.samples.client.examples.dnd.ReorderingTreePanelExample; import com.extjs.gxt.samples.client.examples.dnd.TreeGridToTreeGridExample; import com.extjs.gxt.samples.client.examples.dnd.TreePanelToTreePanelExample; import com.extjs.gxt.samples.client.examples.forms.AdvancedComboBoxExample; import com.extjs.gxt.samples.client.examples.forms.AdvancedFormsExample; import com.extjs.gxt.samples.client.examples.forms.ComboBoxExample; import com.extjs.gxt.samples.client.examples.forms.CustomFormExample; import com.extjs.gxt.samples.client.examples.forms.FileUploadExample; import com.extjs.gxt.samples.client.examples.forms.FormsExample; import com.extjs.gxt.samples.client.examples.grid.AggregationGridExample; import com.extjs.gxt.samples.client.examples.grid.AutoHeightGridExample; import com.extjs.gxt.samples.client.examples.grid.BeanModelGridExample; import com.extjs.gxt.samples.client.examples.grid.BufferedGridExample; import com.extjs.gxt.samples.client.examples.grid.CheckGroupingGridExample; import com.extjs.gxt.samples.client.examples.grid.ColumnGroupingExample; import com.extjs.gxt.samples.client.examples.grid.EditableBufferedGridExample; import com.extjs.gxt.samples.client.examples.grid.EditableGridExample; import com.extjs.gxt.samples.client.examples.grid.GridExample; import com.extjs.gxt.samples.client.examples.grid.GridPluginsExample; import com.extjs.gxt.samples.client.examples.grid.GroupingGridExample; import com.extjs.gxt.samples.client.examples.grid.JsonGridExample; import com.extjs.gxt.samples.client.examples.grid.LiveGridExample; import com.extjs.gxt.samples.client.examples.grid.MemoryPagingGridExample; import com.extjs.gxt.samples.client.examples.grid.PagingBeanModelGridExample; import com.extjs.gxt.samples.client.examples.grid.PagingGridExample; import com.extjs.gxt.samples.client.examples.grid.RowEditorExample; import com.extjs.gxt.samples.client.examples.grid.TotalsGridExample; import com.extjs.gxt.samples.client.examples.grid.WidgetRenderingExample; import com.extjs.gxt.samples.client.examples.grid.XmlGridExample; import com.extjs.gxt.samples.client.examples.layouts.AccordionLayoutExample; import com.extjs.gxt.samples.client.examples.layouts.AnchorLayoutExample; import com.extjs.gxt.samples.client.examples.layouts.BorderLayoutExample; import com.extjs.gxt.samples.client.examples.layouts.CardLayoutExample; import com.extjs.gxt.samples.client.examples.layouts.CenterLayoutExample; import com.extjs.gxt.samples.client.examples.layouts.HBoxLayoutExample; import com.extjs.gxt.samples.client.examples.layouts.RowLayoutExample; import com.extjs.gxt.samples.client.examples.layouts.VBoxLayoutExample; import com.extjs.gxt.samples.client.examples.misc.CustomSliderExample; import com.extjs.gxt.samples.client.examples.misc.DatePickerExample; import com.extjs.gxt.samples.client.examples.misc.DraggableExample; import com.extjs.gxt.samples.client.examples.misc.FxExample; import com.extjs.gxt.samples.client.examples.misc.ResizableExample; import com.extjs.gxt.samples.client.examples.misc.SliderExample; import com.extjs.gxt.samples.client.examples.misc.ToolTipsExample; import com.extjs.gxt.samples.client.examples.model.Category; import com.extjs.gxt.samples.client.examples.model.Entry; import com.extjs.gxt.samples.client.examples.organizer.ImageOrganizerExample; import com.extjs.gxt.samples.client.examples.portal.PortalExample; import com.extjs.gxt.samples.client.examples.tabs.AdvancedTabExample; import com.extjs.gxt.samples.client.examples.tabs.BasicTabExample; import com.extjs.gxt.samples.client.examples.toolbar.AdvancedToolBarExample; import com.extjs.gxt.samples.client.examples.toolbar.MenuBarExample; import com.extjs.gxt.samples.client.examples.toolbar.StatusToolBarExample; import com.extjs.gxt.samples.client.examples.toolbar.ToolBarExample; import com.extjs.gxt.samples.client.examples.toolbar.ToolBarOverflowExample; import com.extjs.gxt.samples.client.examples.treegrid.AsyncTreeGridExample; import com.extjs.gxt.samples.client.examples.treegrid.EditorTreeGridExample; import com.extjs.gxt.samples.client.examples.treegrid.FilterTreeGridExample; import com.extjs.gxt.samples.client.examples.treegrid.RemoteSortTreeGridExample; import com.extjs.gxt.samples.client.examples.treegrid.RowEditorTreeGridExample; import com.extjs.gxt.samples.client.examples.treegrid.RowNumberTreeGridExample; import com.extjs.gxt.samples.client.examples.treegrid.TreeGridExample; import com.extjs.gxt.samples.client.examples.treegrid.WidgetTreeGridExample; import com.extjs.gxt.samples.client.examples.treepanel.AsyncTreePanelExample; import com.extjs.gxt.samples.client.examples.treepanel.AsyncXmlTreePanelExample; import com.extjs.gxt.samples.client.examples.treepanel.BasicTreePanelExample; import com.extjs.gxt.samples.client.examples.treepanel.CheckBoxTreePanelExample; import com.extjs.gxt.samples.client.examples.treepanel.ContextMenuTreePanelExample; import com.extjs.gxt.samples.client.examples.treepanel.FastTreePanelExample; import com.extjs.gxt.samples.client.examples.treepanel.FilterTreePanelExample; import com.extjs.gxt.samples.client.examples.view.CheckBoxListViewExample; import com.extjs.gxt.samples.client.examples.view.ImageChooserExample; import com.extjs.gxt.samples.client.examples.view.ListViewExample; import com.extjs.gxt.samples.client.examples.windows.AccordionWindowExample; import com.extjs.gxt.samples.client.examples.windows.DialogExample; import com.extjs.gxt.samples.client.examples.windows.HelloWindowExample; import com.extjs.gxt.samples.client.examples.windows.MessageBoxExample; import com.extjs.gxt.samples.resources.client.Resources; import com.extjs.gxt.samples.resources.client.images.ExampleImages; import com.extjs.gxt.ui.client.Style.HideMode; import com.extjs.gxt.ui.client.data.BaseTreeModel; import com.extjs.gxt.ui.client.data.ModelData; import com.extjs.gxt.ui.client.data.TreeModel; public class ExamplesModel extends BaseTreeModel { protected List<Entry> entries = new ArrayList<Entry>(); public ExamplesModel() { ExampleImages g = Resources.IMAGES; Category grids = new Category("Grids"); grids.add("Basic Grid", new GridExample(), g.basicgrid().getHTML()); grids.add("Auto Height Grid", new AutoHeightGridExample(), g.basicgrid().getHTML()); grids.add("Column Grouping", new ColumnGroupingExample(), g.columngrouping().getHTML()); grids.add("Aggregation Row Grid", new AggregationGridExample(), g.aggregationrowgrid().getHTML()); grids.add("Grid Plugins", new GridPluginsExample(), g.gridplugins().getHTML()); grids.add("Editable Grid", new EditableGridExample(), g.editablegrid().getHTML()); grids.add("RowEditor Grid", new RowEditorExample(), g.roweditorgrid().getHTML()); grids.add("Xml Grid", new XmlGridExample(), g.xmlgrid().getHTML()); grids.add("Json Grid", new JsonGridExample(), g.jsongrid().getHTML()); grids.add("Paging", new PagingGridExample(), g.paging().getHTML()); grids.add("Local Paging", new MemoryPagingGridExample(), g.localpaging().getHTML()); grids.add("Grouping", new GroupingGridExample(), g.grouping().getHTML()); grids.add("Check Grouping", new CheckGroupingGridExample(), g.grouping().getHTML()); grids.add("Live Group Summary", new TotalsGridExample(), g.livegroupsummary().getHTML()); grids.add("BeanModel Grid", new BeanModelGridExample(), g.beanmodelgrid().getHTML()); grids.add("Paging BeanModel Grid", new PagingBeanModelGridExample(), g.pagingbeanmodelgrid().getHTML()); grids.add("Buffered Grid", new BufferedGridExample(), g.bufferedgrid().getHTML()); grids.add("Editable Buffered Grid", new EditableBufferedGridExample(), g.editablebufferedgrid().getHTML()); grids.add("Widget Renderer Grid", new WidgetRenderingExample(), g.widgetrenderergrid().getHTML()); grids.add("Live Grid", new LiveGridExample(), g.livegrid().getHTML()); add(grids); Category treeGrids = new Category("TreeGrid"); treeGrids.add("Basic TreeGrid", new TreeGridExample(), Resources.IMAGES.basictreegrid().getHTML()); treeGrids.add("Filter TreeGrid", new FilterTreeGridExample(), Resources.IMAGES.filtertreegrid().getHTML()); treeGrids.add("Async TreeGrid", new AsyncTreeGridExample(), Resources.IMAGES.asynctreegrid().getHTML()); treeGrids.add("Remote Sort TreeGrid", new RemoteSortTreeGridExample(), Resources.IMAGES.asynctreegrid().getHTML()); treeGrids.add("RowNumber TreeGrid", new RowNumberTreeGridExample(), g.rownumbertreegrid().getHTML()); treeGrids.add("EditorTreeGrid", new EditorTreeGridExample(), Resources.IMAGES.editortreegrid().getHTML()); treeGrids.add("RowEditor TreeGrid", new RowEditorTreeGridExample(), g.roweditortreegrid().getHTML()); treeGrids.add("Widget Renderer TreeGrid", new WidgetTreeGridExample(), g.widgetrenderertreegrid().getHTML()); add(treeGrids); Category treePanels = new Category("TreePanel"); treePanels.add("Basic Tree", new BasicTreePanelExample(), g.basictree().getHTML()); treePanels.add("Context Menu Tree", new ContextMenuTreePanelExample(), g.contextmenutree().getHTML()); treePanels.add("Async Tree", new AsyncTreePanelExample(), g.asynctree().getHTML()); treePanels.add("Async Xml Tree", new AsyncXmlTreePanelExample(), g.asyncxmltreepanel().getHTML()); treePanels.add("Filter Tree", new FilterTreePanelExample(), g.filtertree().getHTML()); treePanels.add("Checkbox Tree", new CheckBoxTreePanelExample(), g.checkboxtree().getHTML()); treePanels.add("Fast Tree", new FastTreePanelExample(), g.fasttree().getHTML()); add(treePanels); Category tabs = new Category("Tabs"); tabs.add("Basic Tabs", new BasicTabExample(), g.basictabs().getHTML()); tabs.add("Advanced Tabs", new AdvancedTabExample(), g.advancedtabs().getHTML()); add(tabs); Category ch = new Category("Charts"); ch.add("Basic Chart", new BasicChartExample(), g.basicchart().getHTML(), false, true, HideMode.OFFSETS); ch.add("Chart Gallery", new ChartGalleryExample(), g.chartgallery().getHTML(), false, true, HideMode.OFFSETS); ch.add("Advanced Charts", new AdvancedChartExample(), g.advancedcharts().getHTML(), false, true, HideMode.OFFSETS); add(ch); Category dnd = new Category("Drag and Drop"); dnd.add("Basic DnD", new BasicDNDExample(), g.basicdnd().getHTML()); dnd.add("List to List", new ListViewDNDExample(), g.listtolist().getHTML()); dnd.add("Grid to Grid", new GridToGridExample(), g.gridtogrid().getHTML()); dnd.add("Reordering Grid", new ReorderingGridExample(), g.gridtogrid().getHTML()); dnd.add("Tree to Tree", new TreePanelToTreePanelExample(), g.treetotree().getHTML()); dnd.add("Reordering Tree", new ReorderingTreePanelExample(), g.reorderingtree().getHTML()); dnd.add("TreeGrid to TreeGrid", new TreeGridToTreeGridExample(), g.treegridtotreegrid().getHTML()); dnd.add("Reordering TreeGrid", new ReorderingTreeGridExample(), g.reorderingtreegrid().getHTML()); dnd.add("Image Organizer", new ImageOrganizerExample(), g.imageorganizer().getHTML()); dnd.add("Multiple Components", new MultiComponentExample(), g.multicomponent().getHTML()); add(dnd); Category windows = new Category("Windows"); windows.add("Hello World", new HelloWindowExample(), g.helloworld().getHTML()); windows.add("Accordion Window", new AccordionWindowExample(), g.accordionwindow().getHTML()); windows.add("Dialog", new DialogExample(), Resources.IMAGES.dialog().getHTML()); windows.add("MessageBox", new MessageBoxExample(), g.messagebox().getHTML()); add(windows); Category layouts = new Category("Layouts"); layouts.add("AccordionLayout", new AccordionLayoutExample(), Resources.IMAGES.accordionlayout().getHTML()); layouts.add("AnchorLayout", new AnchorLayoutExample(), Resources.IMAGES.anchorlayout().getHTML()); layouts.add("BorderLayout", new BorderLayoutExample(), Resources.IMAGES.borderlayout().getHTML(), true); layouts.add("CardLayout", new CardLayoutExample(), Resources.IMAGES.cardlayout().getHTML()); layouts.add("CenterLayout", new CenterLayoutExample(), Resources.IMAGES.centerlayout().getHTML(), true); layouts.add("RowLayout", new RowLayoutExample(), Resources.IMAGES.rowlayout().getHTML(), true); layouts.add("Portal", new PortalExample(), Resources.IMAGES.portal().getHTML(), true); layouts.add("VBoxLayout", new VBoxLayoutExample(), Resources.IMAGES.vboxlayout().getHTML(), true); layouts.add("HBoxLayout", new HBoxLayoutExample(), Resources.IMAGES.hboxlayout().getHTML(), true); add(layouts); Category combos = new Category("Combos"); combos.add("ComboBox", new ComboBoxExample(), g.combobox().getHTML()); combos.add("Advanced ComboBox", new AdvancedComboBoxExample(), g.advancedcombobox().getHTML()); add(combos); Category forms = new Category("Forms"); forms.add("Forms", new FormsExample(), g.forms().getHTML()); forms.add("Custom Form", new CustomFormExample(), g.forms().getHTML()); forms.add("Advanced Forms", new AdvancedFormsExample(), g.advancedforms().getHTML(), false, true, HideMode.OFFSETS); forms.add("DualListField", new DualListFieldExample(), g.duallistfield().getHTML()); forms.add("File Upload", new FileUploadExample(), g.fileupload().getHTML()); add(forms); Category binding = new Category("Binding"); binding.add("Basic Binding", new BasicBindingExample(), g.basicbinding().getHTML()); binding.add("Grid Binding", new GridBindingExample(), g.gridbinding().getHTML()); binding.add("Grid Store Binding", new GridStoreBindingExample(), g.gridstorebinding().getHTML()); add(binding); Category toolbar = new Category("ToolBar & Menus"); toolbar.add("Basic Toolbar", new ToolBarExample(), g.basictoolbar().getHTML()); toolbar.add("Status Toolbar", new StatusToolBarExample(), g.statustoolbar().getHTML()); toolbar.add("Advanced Toolbar", new AdvancedToolBarExample(), g.advancedtoolbar().getHTML()); toolbar.add("Overflow Toolbar", new ToolBarOverflowExample(), g.overflowtoolbar().getHTML()); toolbar.add("MenuBar", new MenuBarExample(), g.menubar().getHTML()); add(toolbar); Category templates = new Category("Templates & Lists"); templates.add("Templates", new TemplateExample(), g.templates().getHTML()); templates.add("ListView", new ListViewExample(), g.listview().getHTML()); templates.add("CheckBoxListView", new CheckBoxListViewExample(), g.checkboxlistview().getHTML()); templates.add("Advanced ListView", new ImageChooserExample(), g.advancedlistview().getHTML()); add(templates); Category button = new Category("Button"); button.add("Buttons", new ButtonsExample(), g.buttons().getHTML()); button.add("Button Aligning", new ButtonAlignExample(), g.buttonaligning().getHTML()); add(button); Category misc = new Category("Misc"); misc.add("ToolTips", new ToolTipsExample(), g.tooltips().getHTML()); misc.add("DatePicker", new DatePickerExample(), g.datepicker().getHTML()); misc.add("Draggable", new DraggableExample(), g.draggable().getHTML(), true); misc.add("Resizable", new ResizableExample(), g.resizable().getHTML(), true); misc.add("Slider", new SliderExample(), g.slider().getHTML()); misc.add("Custom Slider", new CustomSliderExample(), g.customslider().getHTML()); misc.add("Fx", new FxExample(), g.fx().getHTML(), true); add(misc); loadEntries(this); } public Entry findEntry(String name) { if (get(name) != null) { return (Entry) get(name); } for (Entry entry : getEntries()) { if (name.equals(entry.getId())) { return entry; } } return null; } public List<Entry> getEntries() { return entries; } private void loadEntries(TreeModel model) { for (ModelData child : model.getChildren()) { if (child instanceof Entry) { entries.add((Entry) child); } else if (child instanceof Category) { loadEntries((Category) child); } } } }