[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