/* * SmartGWT (GWT for SmartClient) * Copyright 2008 and beyond, Isomorphic Software, Inc. * * SmartGWT 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. SmartGWT 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.types.TreeModelType; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.tree.Tree; import com.smartgwt.client.widgets.tree.TreeGrid; import com.smartgwt.client.widgets.tree.TreeGridField; import com.smartgwt.client.widgets.tree.TreeNode; public class ChildrenArraysTreeSample implements EntryPoint { public static final TreeNode employeeRoot = new EmployeeTreeNode("1", "Root", new EmployeeTreeNode("4", "Charles Madigen", new EmployeeTreeNode("188", "Rogine Leger"), new EmployeeTreeNode("189", "Gene Porter", new EmployeeTreeNode("265", "Olivier Doucet"), new EmployeeTreeNode("264", "Cheryl Pearson") ) ) ); public void onModuleLoad() { Tree employeeTree = new Tree(); employeeTree.setModelType(TreeModelType.CHILDREN); employeeTree.setNameProperty("Name"); employeeTree.setChildrenProperty("directReports"); employeeTree.setRoot(employeeRoot); TreeGrid employeeTreeGrid = new TreeGrid(); employeeTreeGrid.setWidth(500); employeeTreeGrid.setHeight(400); employeeTreeGrid.setNodeIcon("icons/16/person.png"); employeeTreeGrid.setFolderIcon("icons/16/person.png"); employeeTreeGrid.setShowOpenIcons(false); employeeTreeGrid.setShowDropIcons(false); employeeTreeGrid.setClosedIconSuffix(""); employeeTreeGrid.setFields(new TreeGridField("Name")); employeeTreeGrid.setData(employeeTree); employeeTreeGrid.getData().openAll(); employeeTreeGrid.draw(); } public static class EmployeeTreeNode extends TreeNode { public EmployeeTreeNode(String employeeId, String name) { this(employeeId, name, new EmployeeTreeNode[] {}); } public EmployeeTreeNode(String employeeId, String name, EmployeeTreeNode... children) { setAttribute("EmployeeId", employeeId); setAttribute("Name", name); setAttribute("directReports", children); } } }