I noticed that in the example the menu items are added to the toolbar as well as in the menu, is this required for it to work? Because I wasn't planning on setting it up this way as I wanted the menu separate, but I will try to add the items to the toolbar also and see if it changes anything.. Maybe I can just hide them after I add them.
-----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Andrew Stewart Sent: October 05, 2010 8:48 AM To: 'Eric Lemoine' Cc: [email protected] Subject: Re: [Users] Adding a menu item to an existing Tbar, not working Thank you for the suggestion, so it is almost working now. Unfortunately for some reason my pan tool is broken. Not sure why because I basically copied/pasted the code from my zoom tool which works good. Every other tool works when you click the redline ones they work until you click a different tool (other than pan) and it switches to that tool. Except only when I click on pan it goes back to the previous redline tool.. Makes no sense why. Very much appreciate the assistance, below is my code but I still cannot figure out why the pan tool goes back to using the previous redline tool but all others work. //---------------------------------Begin ToolBar var ctrl, toolbarItems = [], action, actions = {}; //Home Action action = new GeoExt.Action({ text: " Home", handler: function() {window.location.reload();}, map: map, cls: 'x-btn-text-icon', tooltip: 'Home', icon: '../images/toolbar/home.gif' }); actions["home"] = action; toolbarItems.push(action); toolbarItems.push('-'); //Queries Action action = new GeoExt.Action({ text: " Queries", handler: function() {document.getElementById('show-btn').click();}, map: map, cls: 'x-btn-text-icon', tooltip: 'Queries', icon: '../images/toolbar/query.gif' }); actions["queries"] = action; toolbarItems.push(action); toolbarItems.push('-'); //Zoom In Action action = new GeoExt.Action({ text: " Zoom In", control: new OpenLayers.Control.ZoomBox({alwaysZoom:true}), map: map, toggleGroup: "tools", group: "tools", cls: 'x-btn-text-icon', tooltip: 'Zoom In', icon: '../images/toolbar/zoomin.gif' }); actions["zoom_in"] = action; toolbarItems.push(action); toolbarItems.push('-'); //Zoom Out Action action = new GeoExt.Action({ text: " Zoom Out", control: new OpenLayers.Control.ZoomBox({alwaysZoom:true, out:true}), map: map, toggleGroup: "tools", group: "tools", cls: 'x-btn-text-icon', tooltip: 'Zoom Out', icon: '../images/toolbar/zoomout.gif' }); actions["zoom_out"] = action; toolbarItems.push(action); toolbarItems.push('-'); //Zoom Previous Action action = new GeoExt.Action({ text: " Zoom Previous", control: nav.previous, map: map, cls: 'x-btn-text-icon', tooltip: 'Zoom Previous', icon: '../images/toolbar/zoomprevious.gif' }); actions["zoom_previous"] = action; toolbarItems.push(action); toolbarItems.push('-'); //Pan Map Action action = new GeoExt.Action({ text: " Pan", control: new OpenLayers.Control.MouseDefaults(), map: map, toggleGroup: "tools", group: "tools", cls: 'x-btn-text-icon', tooltip: 'Pan', icon: '../images/toolbar/pan.gif' }); actions["pan_map"] = action; toolbarItems.push(action); toolbarItems.push('-'); //Center Map Action action = new GeoExt.Action({ text: " Center Map", control: click, map: map, toggleGroup: "tools", group: "tools", cls: 'x-btn-text-icon', tooltip: 'Center Map', icon: '../images/toolbar/mapcenterclick.gif' }); actions["center_map"] = action; toolbarItems.push(action); toolbarItems.push('-'); //Fit Map Action action = new GeoExt.Action({ text: " Fit Map", handler: function(){var bounds = new OpenLayers.Bounds(-12688352.278757,6834703.490456,-12648605.022533,6864246.4030152); map.zoomToExtent(bounds)}, map: map, cls: 'x-btn-text-icon', tooltip: 'Fit Map', icon: '../images/toolbar/overview.gif' }); actions["fit_map"] = action; toolbarItems.push(action); toolbarItems.push('-'); // -------- Begin RedLine Menu Items------------------------// //Redline Line action = new GeoExt.Action({ text: "Line", control: drawLine, map: map, toggleGroup: "tools", group: "tools" }); actions["redline"] = action; //Redline Polgygon action = new GeoExt.Action({ text: "Polygon", control: drawPolygon, map: map, toggleGroup: "tools", group: "tools" }); actions["polygon"] = action; //Redline Point action = new GeoExt.Action({ text: "Point", control: drawPoint, enableToggle: true, toggleGroup: "tools", group: "tools", map: map }); actions["point"] = action; //Delete All Redlines action = new GeoExt.Action({ text: "Delete Redlines", handler: function() {Ext.Msg.show({title:'Delete Red Lines?', msg: 'You are about to delete Redlines from map, are you sure?',buttons: Ext.Msg.YESNOCANCEL,fn: processResult,animEl: 'elId',icon: Ext.MessageBox.QUESTION}); function processResult(){map.removeLayer(vlayer);}}, map: map }); actions["delete"] = action; //Create menu for Redlines toolbarItems.push({ text: 'Redline Toolbox', toggleGroup: "tools", group: "tools", menu: new Ext.menu.Menu({ items: [ //Redline new Ext.menu.CheckItem(actions["redline"]), //Polygon new Ext.menu.CheckItem(actions["polygon"]), //Point new Ext.menu.CheckItem(actions["point"]), //Delete Redlines new Ext.menu.CheckItem(actions["delete"]) ] }) }); //------------------End RedLine Menu Items -------------------// //Print Action action = new GeoExt.Action({ text: " Print Map", handler: function() {window.print(); }, map: map, cls: 'x-btn-text-icon', tooltip: 'Print Map', icon: '../images/toolbar/print.gif' }); actions["print"] = action; toolbarItems.push(action); toolbarItems.push('-'); //Help Action action = new GeoExt.Action({ text: " Help", handler: function() {window_Help.show();}, map: map, cls: 'x-btn-text-icon', tooltip: 'Display Help', icon: '../images/toolbar/help.gif' }); actions["help"] = action; toolbarItems.push(action); toolbarItems.push('-'); //Tutorial Action action = new GeoExt.Action({ text: " Tutorial", handler: function() {window_Tutorial.show();}, map: map, cls: 'x-btn-text-icon', tooltip: 'Display Tutorial', icon: '../images/toolbar/tutorial.gif' }); actions["tutorial"] = action; toolbarItems.push(action); toolbarItems.push('-'); //Define MapPanel for use with GeoExt var mapPanel = new GeoExt.MapPanel({ collapsed: false, height: 800, renderTo: '', map: map, center: lonLat, zoom: startupLevel, tbar: toolbarItems -----Original Message----- From: Eric Lemoine [mailto:[email protected]] Sent: October 05, 2010 12:19 AM To: Andrew Stewart Cc: [email protected] Subject: Re: [Users] Adding a menu item to an existing Tbar, not working On Monday, October 4, 2010, Andrew Stewart <[email protected]> wrote: > > > > > > > > > > I am trying to add a button with a menu to my existing toolbar but > unfortunately when I click on it the drawfeature control associated with the > button won't fire and the pan tool stays active. If I just add the > GeoExt.Action that adds redline directly > to the tbar this works, but if I add the menu with it it doesn't. Not sure > what I am missing here just trying to get a menu because I want to allow the > drawfeature to use options for a line or polygon. Any help appreciated. You may might a CheckItem for the Redline action. See the toolbar example again, <http://trac.geoext.org/browser/core/trunk/geoext/examples/toolbar.js>. -- Eric Lemoine Camptocamp France SAS Savoie Technolac, BP 352 73377 Le Bourget du Lac, Cedex Tel : 00 33 4 79 44 44 96 Mail : [email protected] http://www.camptocamp.com [This message has been scanned for security content threats and viruses.] [The City of Red Deer I.T. Services asks that you please consider the environment before printing this e-mail.] _______________________________________________ Users mailing list [email protected] http://www.geoext.org/cgi-bin/mailman/listinfo/users [This message has been scanned for security content threats and viruses.] [The City of Red Deer I.T. Services asks that you please consider the environment before printing this e-mail.] _______________________________________________ Users mailing list [email protected] http://www.geoext.org/cgi-bin/mailman/listinfo/users
