Index: 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.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 {} - 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;