/* * 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.dnd; import java.util.Arrays; import com.extjs.gxt.samples.resources.client.Resources; import com.extjs.gxt.samples.resources.client.TestData; import com.extjs.gxt.samples.resources.client.model.Folder; import com.extjs.gxt.ui.client.data.ModelData; import com.extjs.gxt.ui.client.dnd.GridDragSource; import com.extjs.gxt.ui.client.dnd.GridDropTarget; import com.extjs.gxt.ui.client.dnd.ListViewDragSource; import com.extjs.gxt.ui.client.dnd.ListViewDropTarget; import com.extjs.gxt.ui.client.dnd.TreeGridDragSource; import com.extjs.gxt.ui.client.dnd.TreeGridDropTarget; import com.extjs.gxt.ui.client.dnd.TreePanelDragSource; import com.extjs.gxt.ui.client.dnd.TreePanelDropTarget; import com.extjs.gxt.ui.client.store.ListStore; import com.extjs.gxt.ui.client.store.TreeStore; import com.extjs.gxt.ui.client.widget.ContentPanel; import com.extjs.gxt.ui.client.widget.LayoutContainer; import com.extjs.gxt.ui.client.widget.ListView; import com.extjs.gxt.ui.client.widget.grid.ColumnConfig; import com.extjs.gxt.ui.client.widget.grid.ColumnModel; import com.extjs.gxt.ui.client.widget.grid.Grid; import com.extjs.gxt.ui.client.widget.layout.FitLayout; import com.extjs.gxt.ui.client.widget.layout.TableLayout; import com.extjs.gxt.ui.client.widget.treegrid.TreeGrid; import com.extjs.gxt.ui.client.widget.treegrid.TreeGridCellRenderer; import com.extjs.gxt.ui.client.widget.treepanel.TreePanel; import com.google.gwt.user.client.Element; public class MultiComponentExample extends LayoutContainer { @Override protected void onRender(Element parent, int index) { super.onRender(parent, index); TableLayout layout = new TableLayout(2); layout.setCellSpacing(10); setLayout(layout); createTree(); createList(); createTreeGrid(); createGrid(); } private void createGrid() { ListStore<ModelData> store = new ListStore<ModelData>(); ColumnConfig name = new ColumnConfig("name", "Name", 100); ColumnConfig date = new ColumnConfig("author", "Author", 100); ColumnConfig size = new ColumnConfig("genre", "Genre", 100); ColumnModel cm = new ColumnModel(Arrays.asList(name, date, size)); Grid<ModelData> grid = new Grid<ModelData>(store, cm); grid.setBorders(false); grid.setAutoExpandColumn("name"); grid.setTrackMouseOver(false); ContentPanel cp = new ContentPanel(); cp.setHeading("Grid"); cp.setSize(400, 300); cp.setLayout(new FitLayout()); cp.add(grid); new GridDragSource(grid); new GridDropTarget(grid); add(cp); } private void createTreeGrid() { TreeStore<ModelData> store = new TreeStore<ModelData>(); ColumnConfig name = new ColumnConfig("name", "Name", 100); name.setRenderer(new TreeGridCellRenderer<ModelData>()); ColumnConfig date = new ColumnConfig("author", "Author", 100); ColumnConfig size = new ColumnConfig("genre", "Genre", 100); ColumnModel cm = new ColumnModel(Arrays.asList(name, date, size)); TreeGrid<ModelData> tree = new TreeGrid<ModelData>(store, cm); tree.setBorders(false); tree.getStyle().setLeafIcon(Resources.ICONS.music()); tree.setAutoExpandColumn("name"); tree.setTrackMouseOver(false); new TreeGridDropTarget(tree); new TreeGridDragSource(tree); ContentPanel cp = new ContentPanel(); cp.setHeading("TreeGrid"); cp.setSize(400, 300); cp.setLayout(new FitLayout()); cp.add(tree); add(cp); } private void createTree() { Folder model = TestData.getTreeModel(); TreeStore<ModelData> store = new TreeStore<ModelData>(); store.add(model.getChildren(), true); final TreePanel<ModelData> tree = new TreePanel<ModelData>(store); tree.setDisplayProperty("name"); tree.getStyle().setLeafIcon(Resources.ICONS.music()); ContentPanel cp = new ContentPanel(); cp.setHeading("TreePanel"); cp.setSize(400, 200); cp.add(tree); cp.setLayout(new FitLayout()); new TreePanelDragSource(tree); new TreePanelDropTarget(tree); add(cp); } private void createList() { ListView<ModelData> view = new ListView<ModelData>(); view.setBorders(false); view.setStore(new ListStore<ModelData>()); view.setSimpleTemplate("{name}"); view.setDisplayProperty("name"); ContentPanel cp = new ContentPanel(); cp.setHeading("ListView"); cp.setSize(400, 200); cp.add(view); cp.setLayout(new FitLayout()); new ListViewDragSource(view); new ListViewDropTarget(view); add(cp); } }