/* * Smart GWT (GWT for SmartClient) * Copyright 2008 and beyond, Isomorphic Software, Inc. * * Smart GWT is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License version 3 * as published by the Free Software Foundation. Smart GWT is also * available under typical commercial license terms - see * http://smartclient.com/license * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ import com.smartgwt.client.data.Criteria; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.form.SearchForm; import com.smartgwt.client.widgets.form.fields.IPickTreeItem; import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.layout.VLayout; import com.smartgwt.client.widgets.tree.TreeGrid; import com.smartgwt.client.widgets.tree.TreeGridField; import com.smartgwt.sample.showcase.client.data.EmployeeXmlDS; import com.google.gwt.core.client.EntryPoint; public class TreeEditingSample implements EntryPoint { public void onModuleLoad() { TreeGridField fieldName = new TreeGridField("Name", 150); TreeGridField fieldJob = new TreeGridField("Job", 150); TreeGridField fieldSalary = new TreeGridField("Salary"); TreeGrid employeeTree = new TreeGrid(); employeeTree.setID("employeeTree"); employeeTree.setWidth(500); employeeTree.setHeight(250); employeeTree.setDataSource(EmployeeXmlDS.getInstance()); employeeTree.setNodeIcon("icons/16/person.png"); employeeTree.setFolderIcon("icons/16/person.png"); employeeTree.setAutoFetchData(true); employeeTree.setLoadDataOnDemand(false); employeeTree.setCanEdit(true); employeeTree.setCanReorderRecords(true); employeeTree.setCanAcceptDroppedRecords(true); employeeTree.setShowDropIcons(false); employeeTree.setShowOpenIcons(false); employeeTree.setClosedIconSuffix(""); employeeTree.setFields(fieldName, fieldJob, fieldSalary); final ListGrid employeeGrid = new ListGrid(); employeeGrid.setID("employeeGrid"); employeeGrid.setWidth(500); employeeGrid.setHeight(250); employeeGrid.setEmptyMessage("Select an Employee from the PickTree Item above."); employeeGrid.setDataSource(EmployeeXmlDS.getInstance()); employeeGrid.setCanEdit(true); employeeGrid.setFields(new TreeGridField("Name", 150), new TreeGridField("Job", 150), new TreeGridField("Salary")); IPickTreeItem searchPickTree = new IPickTreeItem(); searchPickTree.setCanSelectParentItems(true); searchPickTree.setShowTitle(false); searchPickTree.setDataSource(EmployeeXmlDS.getInstance()); searchPickTree.setDisplayField("Name"); searchPickTree.setValueField("EmployeeId"); searchPickTree.addChangedHandler(new ChangedHandler() { public void onChanged(ChangedEvent event) { Criteria c = new Criteria(); c.addCriteria("ReportsTo", (Integer)event.getValue()); employeeGrid.fetchData(c); } }); SearchForm searchForm = new SearchForm(); searchForm.setID("employeeSearchForm"); searchForm.setWidth(200); searchForm.setHeight(30); searchForm.setFields(searchPickTree); VLayout mainView = new VLayout(10); mainView.setHeight100(); mainView.setWidth100(); mainView.addMember(searchForm); mainView.addMember(employeeGrid); mainView.addMember(employeeTree); mainView.draw(); } }