<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-AU link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>List, I am a new user of geoExt and am having a particular problem with the button behaviour in a toolbar.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I have a series of nav buttons working just fine but have added a getFeatureInfo (GFI) mode button to this group. That registers a map click event that carries out a getFeatureInfo request. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I want the user to be able to click this button down to set the GFI mode and then click the map. When done just click the same button to ‘pop’ it and exit GFI mode OR if they change to panning mode or zoomin mode (other buttons in group) the same will occur.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Because I am using a map event and not a control (I think) I am unable to activate/deactivate this event so I use a handler to do this using a mode flag. I have also had to put this unregister event in each of the group buttons to make sure that when they are selected the GFI mode is deactivated.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>However, Firebug tells me that the control is not initiated on the first button click which depresses the button. Then when you click it again the button stays down and the handler fires setting the event and allowing me to do a GFI request. If I then click it to turn off GFI mode it fires off the handler and takles you out of GFI mode but the button is not popped.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sorry about the long email but I am hoping for someone who knows how to do this will help me out or point me somewhere.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hers is my toolbar code:<o:p></o:p></p><p class=MsoNormal>action = new GeoExt.Action({<o:p></o:p></p><p class=MsoNormal> control: new OpenLayers.Control.ZoomBox(),<o:p></o:p></p><p class=MsoNormal> map: map, <o:p></o:p></p><p class=MsoNormal> tooltip: "Zoom in: click in the map or use the left mouse button and drag to create a rectangle",<o:p></o:p></p><p class=MsoNormal> toggleGroup: "nav",<o:p></o:p></p><p class=MsoNormal> group: "nav",<o:p></o:p></p><p class=MsoNormal> iconCls: 'zoomin',<o:p></o:p></p><p class=MsoNormal> handler: function()<o:p></o:p></p><p class=MsoNormal> { getFeatureInfoClick(false); clickOn = false; }<o:p></o:p></p><p class=MsoNormal> }); <o:p></o:p></p><p class=MsoNormal> toolbarItems.push(action);<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal> action = new GeoExt.Action({ <o:p></o:p></p><p class=MsoNormal> control: new OpenLayers.Control.ZoomBox({out:true}),<o:p></o:p></p><p class=MsoNormal> map: map, <o:p></o:p></p><p class=MsoNormal> tooltip: "Zoom out: click in the map or use the left mouse button and drag to create a rectangle",<o:p></o:p></p><p class=MsoNormal> toggleGroup: "nav",<o:p></o:p></p><p class=MsoNormal> group: "nav",<o:p></o:p></p><p class=MsoNormal> iconCls: 'zoomout',<o:p></o:p></p><p class=MsoNormal> handler: function()<o:p></o:p></p><p class=MsoNormal> { getFeatureInfoClick(false); clickOn = false; }<o:p></o:p></p><p class=MsoNormal> }); <o:p></o:p></p><p class=MsoNormal> toolbarItems.push(action);<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal> action = new GeoExt.Action({<o:p></o:p></p><p class=MsoNormal> control: new OpenLayers.Control.DragPan(),<o:p></o:p></p><p class=MsoNormal> map: map, <o:p></o:p></p><p class=MsoNormal> tooltip: "Pan map: keep the left mouse button pressed and drag the map",<o:p></o:p></p><p class=MsoNormal> toggleGroup: "nav",<o:p></o:p></p><p class=MsoNormal> group: "nav",<o:p></o:p></p><p class=MsoNormal> iconCls: 'pan',<o:p></o:p></p><p class=MsoNormal> handler: function()<o:p></o:p></p><p class=MsoNormal> { getFeatureInfoClick(false); clickOn = false; }<o:p></o:p></p><p class=MsoNormal> }); <o:p></o:p></p><p class=MsoNormal> toolbarItems.push(action);<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> action = new GeoExt.Action({ <o:p></o:p></p><p class=MsoNormal> control: getFeatureInfoClick(false), // this does remove all click events<o:p></o:p></p><p class=MsoNormal> //id: 'gfiButton',<o:p></o:p></p><p class=MsoNormal> map: map,<o:p></o:p></p><p class=MsoNormal> pressed: false,<o:p></o:p></p><p class=MsoNormal> allowDepress: false,<o:p></o:p></p><p class=MsoNormal> enableToggle: true,<o:p></o:p></p><p class=MsoNormal> tooltip: "Get Feature Info: Click this button then click any map feature.", <o:p></o:p></p><p class=MsoNormal> toggleGroup: "nav",<o:p></o:p></p><p class=MsoNormal> group: "nav",<o:p></o:p></p><p class=MsoNormal> iconCls: 'selectfeature',<o:p></o:p></p><p class=MsoNormal> handler: function()<o:p></o:p></p><p class=MsoNormal> {<o:p></o:p></p><p class=MsoNormal> alert(clickOn)<o:p></o:p></p><p class=MsoNormal> if(clickOn){getFeatureInfoClick(false); }<o:p></o:p></p><p class=MsoNormal> else {getFeatureInfoClick(true); }<o:p></o:p></p><p class=MsoNormal> }<o:p></o:p></p><p class=MsoNormal> });<o:p></o:p></p><p class=MsoNormal> toolbarItems.push(action); <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>