[Commits] r404 - in apps/opengeo/geoexplorer/trunk: lib theme
commits at geoext.org
commits at geoext.org
Fri Apr 17 00:54:50 CEST 2009
Author: tschaub
Date: 2009-04-17 00:54:50 +0200 (Fri, 17 Apr 2009)
New Revision: 404
Modified:
apps/opengeo/geoexplorer/trunk/lib/GeoExplorer.js
apps/opengeo/geoexplorer/trunk/theme/geoexplorer.css
Log:
Create a remove layer action that can be shared between context menu and button on toolbar. Enable all components that use this action when a node is selected on the layer tree.
Modified: apps/opengeo/geoexplorer/trunk/lib/GeoExplorer.js
===================================================================
--- apps/opengeo/geoexplorer/trunk/lib/GeoExplorer.js 2009-04-16 21:50:04 UTC (rev 403)
+++ apps/opengeo/geoexplorer/trunk/lib/GeoExplorer.js 2009-04-16 22:54:50 UTC (rev 404)
@@ -161,49 +161,58 @@
});
this.on("ready", function() {addLayerButton.enable()});
+ var removeLayerAction = new Ext.Action({
+ text: "Remove Layer",
+ iconCls: "icon-removeLayers",
+ disabled: true,
+ handler: function() {
+ var node = layerTree.getSelectionModel().getSelectedNode();
+ if(node && node.layer) {
+ var layer = node.layer;
+ var store = node.layerStore;
+ store.removeAt(store.findBy(function(record) {
+ return record.get("layer") === layer;
+ }));
+ }
+ }
+ });
+
+ var layerTree = new Ext.tree.TreePanel({
+ border: false,
+ rootVisible: false,
+ root: new GeoExt.tree.LayerContainer({
+ text: 'Map Layers',
+ layerStore: this.layers
+ }),
+ enableDD: true,
+ selModel: new Ext.tree.DefaultSelectionModel({
+ listeners: {
+ beforeselect: function() {
+ removeLayerAction.enable();
+ }
+ }
+ }),
+ listeners: {
+ contextmenu: function(node, e) {
+ node.select();
+ var c = node.getOwnerTree().contextMenu;
+ c.contextNode = node;
+ c.showAt(e.getXY());
+ },
+ scope: this
+ },
+ contextMenu: new Ext.menu.Menu({
+ items: [removeLayerAction],
+ })
+ });
+
var layersContainer = new Ext.Panel({
autoScroll: true,
border: false,
region: 'center',
title: "Layers",
- items: [{
- xtype: "treepanel",
- border: false,
- rootVisible: false,
- root: new GeoExt.tree.LayerContainer({
- text: 'Map Layers',
- layerStore: this.layers
- }),
- enableDD: true,
- listeners: {
- contextmenu: function(node, e){
- node.select();
- var c = node.getOwnerTree().contextMenu;
- c.contextNode = node;
- c.showAt(e.getXY());
- },
- scope: this
- },
- contextMenu: new Ext.menu.Menu({
- items: [{
- id: 'remove-layer',
- text: 'Remove Layer'
- }],
- listeners: {
- itemclick: function(item){
- switch (item.id) {
- case 'remove-layer':
- cn = this.contextNode;
- cn.layerStore.removeAt(cn.layerStore.findBy(function(record){
- return record.get("layer") == cn.layer;
- }));
- break;
- }
- }
- }
- })
- }],
- tbar: [addLayerButton]
+ items: [layerTree],
+ tbar: ["->", removeLayerAction, addLayerButton]
});
var legendContainer = new GeoExt.LegendPanel({
Modified: apps/opengeo/geoexplorer/trunk/theme/geoexplorer.css
===================================================================
--- apps/opengeo/geoexplorer/trunk/theme/geoexplorer.css 2009-04-16 21:50:04 UTC (rev 403)
+++ apps/opengeo/geoexplorer/trunk/theme/geoexplorer.css 2009-04-16 22:54:50 UTC (rev 404)
@@ -2,6 +2,10 @@
background-image: url(img/silk/add.png) !important;
}
+.icon-removelayers {
+ background-image: url(img/silk/delete.png) !important;
+}
+
.icon-getfeatureinfo {
background-image: url(img/silk/information.png) !important;
}
More information about the Commits
mailing list