/* Copyright (c) 2004-2005, The Dojo Foundation All Rights Reserved. Licensed under the Academic Free License version 2.1 or above OR the modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml */ dojo.provide("dojo.widget.Tree"); dojo.provide("dojo.widget.HtmlTree"); dojo.provide("dojo.widget.TreeNode"); dojo.provide("dojo.widget.HtmlTreeNode"); dojo.require("dojo.event.*"); dojo.require("dojo.fx.html"); dojo.require("dojo.widget.Container"); // make it a tag dojo.widget.tags.addParseTreeHandler("dojo:Tree"); dojo.widget.tags.addParseTreeHandler("dojo:TreeNode"); dojo.widget.HtmlTree = function() { dojo.widget.html.Container.call(this); } dojo.inherits(dojo.widget.HtmlTree, dojo.widget.html.Container); dojo.lang.extend(dojo.widget.HtmlTree, { widgetType: "Tree", domNode: null, templateCssPath: dojo.uri.dojoUri("src/widget/templates/Tree.css"), templateString: '
', selectedNode: null, toggler: null, // // these icons control the grid and expando buttons for the whole tree // blankIconSrc: dojo.uri.dojoUri("src/widget/templates/images/treenode_blank.gif").toString(), gridIconSrcT: dojo.uri.dojoUri("src/widget/templates/images/treenode_grid_t.gif").toString(), // for non-last child grid gridIconSrcL: dojo.uri.dojoUri("src/widget/templates/images/treenode_grid_l.gif").toString(), // for last child grid gridIconSrcV: dojo.uri.dojoUri("src/widget/templates/images/treenode_grid_v.gif").toString(), // vertical line gridIconSrcP: dojo.uri.dojoUri("src/widget/templates/images/treenode_grid_p.gif").toString(), // for under parent item child icons gridIconSrcC: dojo.uri.dojoUri("src/widget/templates/images/treenode_grid_c.gif").toString(), // for under child item child icons gridIconSrcX: dojo.uri.dojoUri("src/widget/templates/images/treenode_grid_x.gif").toString(), // grid for sole root item gridIconSrcY: dojo.uri.dojoUri("src/widget/templates/images/treenode_grid_y.gif").toString(), // grid for last rrot item gridIconSrcZ: dojo.uri.dojoUri("src/widget/templates/images/treenode_grid_z.gif").toString(), // for under root parent item child icon expandIconSrcPlus: dojo.uri.dojoUri("src/widget/templates/images/treenode_expand_plus.gif").toString(), expandIconSrcMinus: dojo.uri.dojoUri("src/widget/templates/images/treenode_expand_minus.gif").toString(), iconWidth: 18, iconHeight: 18, // // tree options // showGrid: true, showRootGrid: true, toggle: "default", toggleDuration: 150, // // subscribable events // publishSelectionTopic: "", publishExpandedTopic: "", publishCollapsedTopic: "", initialize: function(args, frag){ switch (this.toggle) { case "fade": this.toggler = new dojo.widget.Tree.FadeToggle(); break; case "wipe": this.toggler = new dojo.widget.Tree.WipeToggle(); break; default : this.toggler = new dojo.widget.Tree.DefaultToggle(); } }, postCreate: function(){ this.buildTree(); }, buildTree: function(){ dojo.html.disableSelection(this.domNode); for(var i=0; i