protected override void OnClick()
        {
            try
            {
                // fetch the most up-to-date auth
                string auth_token = ext.getToken().access_token;

                // determine which Maps are selected
                foreach (string MapAssetId in ext.getSelectedMapAssetIds())
                {
                    // retrieve the Google Maps Engine WMS URL
                    string url = Properties.Settings.Default.gme_wms_GetCapabilities;

                    // replace the map identifier and auth token
                    url = url.Replace("{mapId}", MapAssetId);
                    url = url.Replace("{authTokenPlusSlash}", auth_token + "/");

                    // add a WMS service to the Map
                    ext.addWebMappingServiceToMap(new Uri(url));
                }
            }
            catch (System.Exception ex)
            {
                // unable to add GEB layer to map
                log.Error(ex);
                // TODO: Present user with graceful dialog
            }
        }
        protected override void OnClick()
        {
            try
            {
                // fetch the most up-to-date auth
                string auth_token = ext.getToken().access_token;

                // retrieve the url syntax for Google Maps widget
                string urlSyntax = Properties.Settings.Default.gme_url_admin;

                // determine which Maps are selected
                foreach (string MapAssetId in ext.getSelectedMapAssetIds())
                {
                    // get the url
                    string url = urlSyntax;

                    // replace the map identifier and project identifier
                    url = url.Replace("{projectId}", MapAssetId.Split("-".ToCharArray())[0]);
                    url = url.Replace("{assetId}", MapAssetId);
                    url = url.Replace("{place}", "MapCreationPlace");
                    url = url.Replace("{view}", "MAP_CREATION");

                    // launch the default broswer
                    System.Diagnostics.Process.Start(url);
                }
            }
            catch (System.Exception ex)
            {
                // unable to add GEB layer to map
                log.Error(ex);
                // TODO: Present user with graceful dialog
            }
        }
        protected override void OnClick()
        {
            try
            {
                // fetch the most up-to-date auth
                string auth_token = ext.getToken().access_token;

                // determine which Maps are selected
                foreach (string MapAssetId in ext.getSelectedMapAssetIds())
                {
                    // retrieve the Google Maps Engine WMS URL
                    string url = Properties.Settings.Default.gme_wms_GetCapabilities;

                    // replace the map identifier and auth token
                    url = url.Replace("{mapId}", MapAssetId);
                    url = url.Replace("{authTokenPlusSlash}", auth_token + "/");

                    // add the WMS URL + OAuth to the clipboard
                    System.Windows.Forms.Clipboard.SetText(url);
                }
            }
            catch (System.Exception ex)
            {
                // there was an error
                log.Error(ex);
                // TODO: Fail gracefully
            }
        }