[Commits] r2592 - sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree

commits at geoext.org commits at geoext.org
Thu Feb 3 20:56:04 CET 2011


Author: adube
Date: 2011-02-03 20:56:04 +0100 (Thu, 03 Feb 2011)
New Revision: 2592

Modified:
   sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree/LayerTreeBuilder.js
Log:
LayerTreeBuilder - checkableGroupNodes property replaced by checkableContainerGroupNodes and checkableLeafGroupNodes

Modified: sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree/LayerTreeBuilder.js
===================================================================
--- sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree/LayerTreeBuilder.js	2011-02-02 17:05:46 UTC (rev 2591)
+++ sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree/LayerTreeBuilder.js	2011-02-03 19:56:04 UTC (rev 2592)
@@ -27,13 +27,25 @@
      */
     vectorLegendNodes: true,
 
-    /** api: config[checkableGroupNodes]
+    /** api: config[checkableContainerGroupNodes]
      * ``Boolean``
-     * Defaults to true.  Whether LayerContainer and TreeNode nodes used as
-     * group directories should be checkable or not.
+     * Defaults to true.  Whether TreeNode nodes used as group directories 
+     * should be checkable or not.  Doesn't include the last (leaf) group node.
+     * See the 'checkableLeafGroupNodes' property for that.
+     *
+     * Can only be set to true if 'checkableLeafGroupNodes' is set to true as
+     * well.
      */
-    checkableGroupNodes: true,
+    checkableContainerGroupNodes: true,
 
+    /** api: config[checkableLeafGroupNodes]
+     * ``Boolean``
+     * Defaults to true.  Whether LayerContainer nodes used as group directories
+     * should be checkable or not.  Only include the last (leaf) group nodes.
+     * For the other nodes (containers), see 'checkableContainerGroupNodes'.
+     */
+    checkableLeafGroupNodes: true,
+
     /** api: config[layerStore]
      *  ``GeoExt.data.LayerStore``
      *  The layer store containing layers to be displayed in the tree. 
@@ -158,7 +170,7 @@
                           hidden: !layer.visibility,
                           cls: "gx-layertreebuilder-legend"
                         };
-                        if (this.store.treeBuilder.checkableGroupNodes && 
+                        if (this.store.treeBuilder.checkableLeafGroupNodes && 
                             !layer.isBaseLayer) {
                             Ext.apply(attr, {
                                 listeners: {
@@ -181,7 +193,7 @@
                           hidden: !layer.visibility,
                           cls: "gx-layertreebuilder-legend"
                         };
-                        if (this.store.treeBuilder.checkableGroupNodes && 
+                        if (this.store.treeBuilder.checkableLeafGroupNodes && 
                             !layer.isBaseLayer) {
                             Ext.apply(attr, {
                                 listeners: {
@@ -193,7 +205,8 @@
                     }
                 } else {
                     createNode = function(attr) {
-                        if (this.store.treeBuilder.checkableGroupNodes && 
+                        if (this.store.treeBuilder.checkableContainerGroupNodes &&
+                            this.store.treeBuilder.checkableLeafGroupNodes &&
                             !layer.isBaseLayer) {
                             Ext.apply(attr, {
                                 listeners: {
@@ -240,8 +253,16 @@
                 };
             }
 
+            var checkableNode;
+            if (childNode.nodeType == "gx_layercontainer") {
+                checkableNode = (this.checkableLeafGroupNodes);
+            } else {
+                checkableNode = (this.checkableContainerGroupNodes &&
+                                 this.checkableLeafGroupNodes);
+            }
+
             // apply checkbox if option is set
-            if (this.checkableGroupNodes && group != this.baseLayersText &&
+            if (checkableNode && group != this.baseLayersText &&
                 group != this.otherLayersText && (!layer || !layer.isBaseLayer))
             {
                 Ext.apply(childNode, {checked: false});
@@ -427,7 +448,7 @@
     validateTreeNodeStatus: function(node) {
         var show;
 
-        if (!this.checkableGroupNodes || node.isRoot) {
+        if (!this.checkableContainerGroupNodes || node.isRoot) {
             return;
         }
 



More information about the Commits mailing list