rendered paste bodyIndex: apps/drake/drake1.html===================================================================--- apps/drake/drake1.html (revision 145)+++ apps/drake/drake1.html (working copy)@@ -67,6 +67,23 @@ return cols; } + var layerRender = Ext.extend(Ext.tree.TreeNodeUI,{+ render: function(bulkRender){+ Ext.tree.TreeNodeUI.prototype.render.apply(this, [bulkRender]);+ Ext.get(this.getIconEl()).addClass("super");+ console.log("Hi guys");+ Ext.get(this.getTextEl()).createChild({+ tag: 'input',+ type: 'checkbox'+ });++ Ext.get(this.getTextEl()).createChild({+ tag: 'input',+ type: 'radio'+ });+ }+ });+ GeoExt.Drake = { filterBuilder: null, grid: null,@@ -338,11 +355,13 @@ initLayerTree: function() { var root = new Ext.tree.TreeNode({}); root.appendChild(new GeoExt.tree.BaseLayerContainer({- map: this.map+ map: this.map,+ layerUI: layerRender })); root.appendChild(new GeoExt.tree.OverlayLayerContainer({- map: this.map+ map: this.map,+ layerUI: layerRender })); this.layerTree = new Ext.tree.TreePanel({Index: core/lib/GeoExt/widgets/tree/TristateCheckboxNode.js===================================================================--- core/lib/GeoExt/widgets/tree/TristateCheckboxNode.js (revision 145)+++ core/lib/GeoExt/widgets/tree/TristateCheckboxNode.js (working copy)@@ -67,7 +67,7 @@ * Parameters: * bulkRender - {Boolean} */- render: function(bulkRender) {+ dontrender: function(bulkRender) { var rendered = this.rendered; var checked = this.attributes.checked; this.attributes.checked =Index: core/lib/GeoExt/widgets/tree/LayerContainer.js===================================================================--- core/lib/GeoExt/widgets/tree/LayerContainer.js (revision 145)+++ core/lib/GeoExt/widgets/tree/LayerContainer.js (working copy)@@ -36,6 +36,7 @@ */ constructor: function(config) { this.map = config.map;+ this.layerUI = config.layerUI; GeoExt.tree.LayerContainer.superclass.constructor.apply(this, arguments); }, @@ -78,10 +79,17 @@ */ addLayerNode: function(layer) { if (layer.displayInLayerSwitcher == true) {- node = new GeoExt.tree.LayerNode({- iconCls: layer.isBayeLayer ? 'baselayer-icon' : 'layer-icon',+ var opts = {+ iconCls: layer.isBaseLayer ? 'baselayer-icon' : 'layer-icon', layer: layer- });+ };++ console.log(this.layerUI);++ if (this.layerUI){+ opts.uiProvider = this.layerUI;+ }+ node = new GeoExt.tree.LayerNode(opts); this.appendChild(node); } },Index: core/lib/GeoExt/widgets/tree/LayerNode.js===================================================================--- core/lib/GeoExt/widgets/tree/LayerNode.js (revision 145)+++ core/lib/GeoExt/widgets/tree/LayerNode.js (working copy)@@ -32,7 +32,14 @@ * Inherits from: * - <GeoExt.tree.TristateCheckboxNode> */-GeoExt.tree.LayerNode = Ext.extend(GeoExt.tree.TristateCheckboxNode, {+GeoExt.tree.LayerNode = function(opts){+ if (opts.layer && !opts.text){+ opts.text = opts.layer.name;+ }+ Ext.tree.TreeNode.apply(this, [opts]);+};++Ext.extend(GeoExt.tree.LayerNode, Ext.tree.TreeNode, { /** * ConfigProperty: layer@@ -85,10 +92,9 @@ // to always get the checkbox rendered config.checked = false; - this.defaultUI = this.defaultUI || GeoExt.tree.LayerNodeUI; this.addEvents.apply(this, GeoExt.tree.LayerNode.EVENT_TYPES);- - GeoExt.tree.LayerNode.superclass.constructor.apply(this, arguments);+ Ext.tree.TreeNode.apply(this, arguments);+ // GeoExt.tree.LayerNode.superclass.constructor.apply(this, arguments); }, /**@@ -98,7 +104,7 @@ * bulkRender {Boolean} - optional * layer {<OpenLayers.Layer>} - optional */- render: function(bulkRender) {+ dontrender: function(bulkRender) { if (!this.rendered || !this.haveLayer) { var map = this.map instanceof OpenLayers.Map ? this.map : (typeof this.map == "string" ? Ext.getCmp(this.map).map :@@ -181,4 +187,4 @@ /** * NodeType: gxLayer */-Ext.tree.TreePanel.nodeTypes.gxLayer = GeoExt.tree.LayerNode;\ No newline at end of file+Ext.tree.TreePanel.nodeTypes.gxLayer = GeoExt.tree.LayerNode;