[Commits] r1237 - sandbox/bartvde/layernodes/trunk/geoext/lib/GeoExt/widgets/tree

commits at geoext.org commits at geoext.org
Thu Jul 9 14:04:48 CEST 2009


Author: bartvde
Date: 2009-07-09 14:04:48 +0200 (Thu, 09 Jul 2009)
New Revision: 1237

Removed:
   sandbox/bartvde/layernodes/trunk/geoext/lib/GeoExt/widgets/tree/LayerContainer.js
Log:
update LayerContainer from trunk

Deleted: sandbox/bartvde/layernodes/trunk/geoext/lib/GeoExt/widgets/tree/LayerContainer.js
===================================================================
--- sandbox/bartvde/layernodes/trunk/geoext/lib/GeoExt/widgets/tree/LayerContainer.js	2009-07-09 11:37:25 UTC (rev 1236)
+++ sandbox/bartvde/layernodes/trunk/geoext/lib/GeoExt/widgets/tree/LayerContainer.js	2009-07-09 12:04:48 UTC (rev 1237)
@@ -1,229 +0,0 @@
-/**
- * Copyright (c) 2008-2009 The Open Source Geospatial Foundation
- * 
- * Published under the BSD license.
- * See http://svn.geoext.org/core/trunk/geoext/license.txt for the full text
- * of the license.
- */
-
-/**
- * @include GeoExt/widgets/tree/LayerNode.js
- */
-Ext.namespace("GeoExt.tree");
-
-/** api: (define)
- *  module = GeoExt.tree
- *  class = LayerContainer
- *  base_link = `Ext.tree.TreeNode <http://extjs.com/deploy/dev/docs/?class=Ext.tree.TreeNode>`_
- */
-
-/** api: constructor
- *  .. class:: LayerContainer
- * 
- *      A subclass of ``Ext.tree.TreeNode`` that will collect all layers of an
- *      OpenLayers map. Only layers that have displayInLayerSwitcher set to true
- *      will be included. The childrens' iconCls will be set to "baselayer-icon"
- *      for base layers, and to "layer-icon" for overlay layers.
- * 
- *      To use this node type in ``TreePanel`` config, set nodeType to
- *      "gx_layercontainer".
- */
-GeoExt.tree.LayerContainer = Ext.extend(Ext.tree.TreeNode, {
-    
-    /** api: config[layerStore]
-     *  :class:`GeoExt.data.LayerStore`
-     *  The layer store containing layers to be displayed in the container.
-     */
-    layerStore: null,
-    
-    /** api: config[defaults]
-     *  ``Object``
-     *  A configuration object passed to all nodes that this container creates.
-     */
-    defaults: null,
-
-    /** private: method[constructor]
-     *  Private constructor override.
-     */
-    constructor: function(config) {
-        this.layerStore = config.layerStore;
-        this.defaults = config.defaults;
-        GeoExt.tree.LayerContainer.superclass.constructor.apply(this, arguments);
-    },
-
-    /** private: method[render]
-     *  :param bulkRender: ``Boolean``
-     */
-    render: function(bulkRender) {
-        if (!this.rendered) {
-            if(!this.layerStore) {
-                this.layerStore = GeoExt.MapPanel.guess().layers;
-            }
-            this.layerStore.each(function(record) {
-                this.addLayerNode(record);
-            }, this);
-            this.layerStore.on({
-                "add": this.onStoreAdd,
-                "remove": this.onStoreRemove,
-                scope: this
-            });
-        }
-        GeoExt.tree.LayerContainer.superclass.render.call(this, bulkRender);
-    },
-    
-    /** private: method[onStoreAdd]
-     *  :param store: ``Ext.data.Store``
-     *  :param records: ``Array(Ext.data.Record)``
-     *  :param index: ``Number``
-     *  
-     *  Listener for the store's add event.
-     */
-    onStoreAdd: function(store, records, index) {
-        if(!this._reordering) {
-            var nodeIndex = this.recordIndexToNodeIndex(index+records.length-1);
-            for(var i=0; i<records.length; ++i) {
-                this.addLayerNode(records[i], nodeIndex);
-            }
-        }
-    },
-    
-    /** private: method[onStoreRemove]
-     *  :param store: ``Ext.data.Store``
-     *  :param record: ``Ext.data.Record``
-     *  :param index: ``Number``
-     *  
-     *  Listener for the store's remove event.
-     */
-    onStoreRemove: function(store, record, index) {
-        if(!this._reordering) {
-            this.removeLayerNode(record);
-        }
-    },
-
-    /** private: method[recordIndexToNodeIndex]
-     *  :param index: ``Number`` The record index in the layer store.
-     *  :return: ``Number`` The appropriate child node index for the record.
-     */
-    recordIndexToNodeIndex: function(index) {
-        var store = this.layerStore;
-        var count = store.getCount();
-        var nodeCount = this.childNodes.length;
-        var nodeIndex = -1;
-        for(var i=count-1; i>=0; --i) {
-            if(store.getAt(i).get("layer").displayInLayerSwitcher) {
-                ++nodeIndex;
-                if(index === i || nodeIndex > nodeCount-1) {
-                    break;
-                }
-            }
-        };
-        return nodeIndex;
-    },
-    
-    /** private: method[nodeIndexToRecordIndex]
-     *  :param index: ``Number`` The child node index.
-     *  :return: ``Number`` The appropriate record index for the node.
-     *  
-     *  Convert a child node index to a record index.
-     */
-    nodeIndexToRecordIndex: function(index) {
-        var store = this.layerStore;
-        var count = store.getCount();
-        var nodeIndex = -1;
-        for(var i=count-1; i>=0; --i) {
-            if(store.getAt(i).get("layer").displayInLayerSwitcher) {
-                ++nodeIndex;
-                if(index === nodeIndex) {
-                    break;
-                }
-            }
-        }
-        return i;
-    },
-    
-    /** private: method[addLayerNode]
-     *  :param layerRecord: ``Ext.data.Record`` The layer record containing the
-     *      layer to be added.
-     *  :param index: ``Number`` Optional index for the new layer.  Default is 0.
-     *  
-     *  Adds a child node representing a layer of the map
-     */
-    addLayerNode: function(layerRecord, index) {
-        index = index || 0;
-        var layer = layerRecord.get("layer");
-        if (layer.displayInLayerSwitcher === true) {
-            var node = new GeoExt.tree.LayerNode(Ext.applyIf({
-                iconCls: layer.isBaseLayer ? 'baselayer-icon' : 'layer-icon',
-                layer: layer,
-                layerStore: this.layerStore
-            }, this.defaults));
-            var sibling = this.item(index);
-            if(sibling) {
-                this.insertBefore(node, sibling);
-            } else {
-                this.appendChild(node);
-            }
-            node.on("move", this.onChildMove, this);
-        }
-    },
-    
-    /** private: method[removeLayerNode]
-     *  :param layerRecord: ``Ext.data.Record`` The layer record containing the
-     *      layer to be removed.
-     * 
-     *  Removes a child node representing a layer of the map
-     */
-    removeLayerNode: function(layerRecord) {
-        var layer = layerRecord.get("layer");
-        if (layer.displayInLayerSwitcher == true) {
-            var node = this.findChildBy(function(node) {
-                return node.layer == layer;
-            });
-            if(node) {
-                node.un("move", this.onChildMove, this);
-                node.remove();
-            }
-    	}
-    },
-    
-    /** private: method[onChildMove]
-     *  :param tree: ``Ext.data.Tree``
-     *  :param node: ``Ext.tree.TreeNode``
-     *  :param oldParent: ``Ext.tree.TreeNode``
-     *  :param newParent: ``Ext.tree.TreeNode``
-     *  :param index: ``Number``
-     *  
-     *  Listener for child node "move" events.  This updates the order of
-     *  records in the store based on new node order if the node has not
-     *  changed parents.
-     */
-    onChildMove: function(tree, node, oldParent, newParent, index) {
-        if(oldParent === newParent) {
-            var newRecordIndex = this.nodeIndexToRecordIndex(index);
-            var oldRecordIndex = this.layerStore.findBy(function(record) {
-                return record.get("layer") === node.layer;
-            });
-            // remove the record and re-insert it at the correct index
-            var record = this.layerStore.getAt(oldRecordIndex);
-            this._reordering = true;
-            this.layerStore.remove(record);
-            this.layerStore.insert(newRecordIndex, [record]);
-            delete this._reordering;
-        }
-    },
-
-    /** private: method[destroy]
-     */
-    destroy: function() {
-        if(this.layerStore) {
-            this.layerStore.un("add", this.onStoreAdd, this);
-            this.layerStore.un("remove", this.onStoreRemove, this);
-        }
-        GeoExt.tree.LayerContainer.superclass.destroy.apply(this, arguments);
-    }
-});
-
-/**
- * NodeType: gx_layercontainer
- */
-Ext.tree.TreePanel.nodeTypes.gx_layercontainer = GeoExt.tree.LayerContainer;



More information about the Commits mailing list