[Commits] r1217 - in apps/opengeo/geoexplorer/trunk/src: script/app script/app/GeoExplorer theme/app

commits at geoext.org commits at geoext.org
Sat Jul 4 01:59:49 CEST 2009


Author: tschaub
Date: 2009-07-04 01:59:49 +0200 (Sat, 04 Jul 2009)
New Revision: 1217

Removed:
   apps/opengeo/geoexplorer/trunk/src/script/app/GeoExplorer/LayerMenuItem.js
Modified:
   apps/opengeo/geoexplorer/trunk/src/script/app/GeoExplorer/Embed.js
   apps/opengeo/geoexplorer/trunk/src/script/app/loader.js
   apps/opengeo/geoexplorer/trunk/src/theme/app/geoexplorer.css
Log:
An Ext.menu.CheckItem gives us radio functionality for free.  No need to implement this with background listeners in the app and a custom LayerMenuItem class (though this could be useful if we had a sub-menu for each layer).

Modified: apps/opengeo/geoexplorer/trunk/src/script/app/GeoExplorer/Embed.js
===================================================================
--- apps/opengeo/geoexplorer/trunk/src/script/app/GeoExplorer/Embed.js	2009-07-03 22:58:43 UTC (rev 1216)
+++ apps/opengeo/geoexplorer/trunk/src/script/app/GeoExplorer/Embed.js	2009-07-03 23:59:49 UTC (rev 1217)
@@ -1,7 +1,3 @@
-/*
- * @include GeoExplorer/LayerMenuItem.js
- */
-
 /** api: (define)
  *  module = GeoExplorer
  *  class = Embed
@@ -83,7 +79,6 @@
         
         // create layer store
         this.layers = this.mapPanel.layers;
-        this.registerBackgroundListeners();
 
         var toolbar = new Ext.Toolbar({
             xtype: "toolbar",
@@ -112,8 +107,7 @@
      * Create the various parts that compose the layout.
      */
     createTools: function() {
-        var tools = 
-            GeoExplorer.Embed.superclass.createTools.apply(this, arguments);
+        var tools = GeoExplorer.Embed.superclass.createTools.apply(this, arguments);
 
         var menu = new Ext.menu.Menu();
 
@@ -132,17 +126,23 @@
                 },
                 "-"
             );
-            this.mapPanel.layers.each(function(x) {
-                if (x.get("layer").displayInLayerSwitcher) {
-                    menu.insert(2, new GeoExplorer.LayerMenuItem({
-                        layerRecord: x
+            this.mapPanel.layers.each(function(record) {
+                var layer = record.get("layer");
+                if(layer.displayInLayerSwitcher) {
+                    menu.insert(2, new Ext.menu.CheckItem({
+                        text: record.get("title"),
+                        checked: record.get("layer").getVisibility(),
+                        group: record.get("group"),
+                        listeners: {
+                            checkchange: function(item, checked) {
+                                record.get("layer").setVisibility(checked);
+                            }
+                        }
                     }));
                 }
             });
         };
 
-        this.mapPanel.layers.on("update", updateLayerSwitcher, this);
-        this.mapPanel.layers.on("remove", updateLayerSwitcher, this);
         this.mapPanel.layers.on("add", updateLayerSwitcher, this);
 
         var layerChooser = new Ext.Button({

Deleted: apps/opengeo/geoexplorer/trunk/src/script/app/GeoExplorer/LayerMenuItem.js
===================================================================
--- apps/opengeo/geoexplorer/trunk/src/script/app/GeoExplorer/LayerMenuItem.js	2009-07-03 22:58:43 UTC (rev 1216)
+++ apps/opengeo/geoexplorer/trunk/src/script/app/GeoExplorer/LayerMenuItem.js	2009-07-03 23:59:49 UTC (rev 1217)
@@ -1,65 +0,0 @@
-/**
- * Copyright (c) 2009 OpenGeo
- */
-
-/**
- * api: (define)
- * module = GeoExplorer
- * class = LayerMenuItem(config)
- * extends = Ext.menu.Adapter
- */
-
-/** api: constructor
- *  ..class:: LayerMenuItem(config)
- *      :param: config: the configuration for the menu item
- *
- *      A menu item for toggling a layer visibility, as used in 
- *      :class:`GeoExplorer.Embed`.
- */
-
-/** api: config[layer] 
- *  The :class:`GeoExt.data.LayerRecord` to be toggled.
- */
-
-/** api: config[panelConfig]
- *  A config object for the panel that is adapted to create this menu item.
- */
-
-Ext.namespace("GeoExplorer");
-GeoExplorer.LayerMenuItem = function(config) {
-    
-    var record = config.layerRecord;
-    var layer = record.get("layer");
-
-    // create panel to be adapted as menu item
-    var panel = new Ext.Panel(Ext.applyIf(config.panelConfig || {}, {
-        layout: "column",
-        cls: "gx-layer-menu-item",
-        defautls: {
-            border: false
-        },
-        items: [{
-            xtype: record.get("group") === "background" ? "radio" : "checkbox",
-            checked: layer.getVisibility(),
-            handler: function(el, checked) {
-                layer.setVisibility(checked);
-            }
-        }, {
-            html: record.get("title")
-        }]
-    }));
-
-    delete config.panelConfig;
-    
-    // set default config for menu item
-    Ext.applyIf(config, {
-        handler: function(item) {
-            layer.setVisibility(!layer.getVisibility());
-            panel.getEl().swallowEvent("click");
-        }
-    });
-
-    GeoExplorer.LayerMenuItem.superclass.constructor.call(this, panel, config);
-};
-
-Ext.extend(GeoExplorer.LayerMenuItem, Ext.menu.Adapter);

Modified: apps/opengeo/geoexplorer/trunk/src/script/app/loader.js
===================================================================
--- apps/opengeo/geoexplorer/trunk/src/script/app/loader.js	2009-07-03 22:58:43 UTC (rev 1216)
+++ apps/opengeo/geoexplorer/trunk/src/script/app/loader.js	2009-07-03 23:59:49 UTC (rev 1217)
@@ -4,7 +4,6 @@
         "../../src/script/app/GeoExplorer.js",
         "../../src/script/app/GeoExplorer/util.js",
         "../../src/script/app/GeoExplorer/Wizard.js",
-        "../../src/script/app/GeoExplorer/LayerMenuItem.js",
         "../../src/script/app/GeoExplorer/CapabilitiesGrid.js",
         "../../src/script/app/GeoExplorer/GroupContainer.js",
         "../../src/script/app/GeoExplorer/Full.js",

Modified: apps/opengeo/geoexplorer/trunk/src/theme/app/geoexplorer.css
===================================================================
--- apps/opengeo/geoexplorer/trunk/src/theme/app/geoexplorer.css	2009-07-03 22:58:43 UTC (rev 1216)
+++ apps/opengeo/geoexplorer/trunk/src/theme/app/geoexplorer.css	2009-07-03 23:59:49 UTC (rev 1217)
@@ -263,4 +263,18 @@
 .x-tree-node-expanded img.gx-folder {
     background: url(http://extjs.cachefly.net/ext-2.2.1/resources/images/default/tree/folder-open.gif);
 }
-    
+
+.x-menu-group-item .x-menu-item-icon {
+    background: transparent url(http://extjs.cachefly.net/ext-2.2.1/resources/images/default/form/radio.gif) no-repeat 0 0;
+    height: 13px;
+    width: 13px;
+    margin: 2px;
+}
+
+.x-menu-item-checked .x-menu-group-item .x-menu-item-icon {
+    background: transparent url(http://extjs.cachefly.net/ext-2.2.1/resources/images/default/form/radio.gif) no-repeat -13px -13px;
+    height: 13px;
+    width: 13px;
+    margin: 2px;
+}
+



More information about the Commits mailing list