/** * Copyright (c) 2008-2010 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. */ /** * @requires GeoExt/widgets/tree/LayerContainer.js */ Ext.namespace("GeoExt.tree"); /** api: (define) * module = GeoExt.tree * class = BaseLayerContainer */ /** api: (extends) * GeoExt/widgets/tree/LayerContainer.js */ /** api: constructor * .. class:: BaseLayerContainer * * A layer container that will collect all base layers of an OpenLayers * map. Only layers that have displayInLayerSwitcher set to true will be * included. The childrens' iconCls defaults to "gx-tree-baselayer-icon". * * Children will be rendered with a radio button instead of a checkbox, * showing the user that only one base layer can be active at a time. * * To use this node type in ``TreePanel`` config, set nodeType to * "gx_baselayercontainer". */ GeoExt.tree.BaseLayerContainer = Ext.extend(GeoExt.tree.LayerContainer, { /** private: method[constructor] * Private constructor override. */ constructor: function(config) { config = Ext.applyIf(config || {}, { text: "Base Layer", loader: {} }); config.loader = Ext.applyIf(config.loader, { baseAttrs: Ext.applyIf(config.loader.baseAttrs || {}, { iconCls: 'gx-tree-baselayer-icon', checkedGroup: 'baselayer' }), filter: function(record) { var layer = record.getLayer(); return layer.displayInLayerSwitcher === true && layer.isBaseLayer === true; } }); GeoExt.tree.BaseLayerContainer.superclass.constructor.call(this, config); } }); /** * NodeType: gx_baselayercontainer */ Ext.tree.TreePanel.nodeTypes.gx_baselayercontainer = GeoExt.tree.BaseLayerContainer;