public void UpdateButtonStates() { GoogleEarthModel ogeButton = buttons.Where(b => b.Name.Equals("Open in Google earth", StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); GoogleEarthModel ogeProButton = buttons.Where(b => b.Name.Equals("Open in Google earth Pro", StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); googleEarthInstalledPath = GoogleEarthHelper.GetGoogleEarthInstalledPath(); googleEarthProInstalledPath = GoogleEarthHelper.GetGoogleEarthProInstalledPath(); ogeButton.IsEnabled = !string.IsNullOrEmpty(googleEarthInstalledPath); ogeProButton.IsEnabled = !string.IsNullOrEmpty(googleEarthProInstalledPath); }
public static MenuItem GetHighlightedFeaturesMenuitem() { MenuItem highlightedFeatureMenuItem = new MenuItem(); highlightedFeatureMenuItem.Header = GisEditor.LanguageManager.GetStringResource("HighlightedFeaturesHelperHighLightMenuHeaderContent"); highlightedFeatureMenuItem.Icon = new Image() { Width = 16, Height = 16, Source = new BitmapImage(new Uri("pack://application:,,,/GisEditorPluginCore;component/Images/zoom_to_selected.png", UriKind.RelativeOrAbsolute)) }; //IEnumerable<FeatureLayer> layers = GisEditor.ActiveMap.GetFeatureLayers(); Collection <FeatureLayer> layers = GisEditor.SelectionManager.GetSelectionOverlay().TargetFeatureLayers; Collection <FeatureLayer> selectedFeaturesLayers = new Collection <FeatureLayer>(); foreach (FeatureLayer layer in layers) { Collection <Feature> features = GisEditor.SelectionManager.GetSelectedFeatures(layer); if (features.Count > 0) { selectedFeaturesLayers.Add(layer); } } MenuItem copyToMenuitem = new MenuItem(); copyToMenuitem.Header = GisEditor.LanguageManager.GetStringResource("SelectionAndQueryingRibbonGroupCopyToLabelText"); MenuItem toNewLayerMenuitem = new MenuItem(); toNewLayerMenuitem.Header = GisEditor.LanguageManager.GetStringResource("SelectionAndQueryingRibbonGroupCopyToTemporaryHeaderText"); toNewLayerMenuitem.Tag = selectedFeaturesLayers; toNewLayerMenuitem.Click += NewLayerMenuitem_Click; MenuItem toShapeFileMenuitem = new MenuItem(); toShapeFileMenuitem.Header = "Shape File"; toShapeFileMenuitem.Tag = selectedFeaturesLayers; toShapeFileMenuitem.Click += ShapeFileMenuitem_Click; copyToMenuitem.Items.Add(toNewLayerMenuitem); copyToMenuitem.Items.Add(toShapeFileMenuitem); if (CheckCopyToEditLayerIsAvailable(selectedFeaturesLayers)) { MenuItem toEditLayerMenuitem = new MenuItem(); toEditLayerMenuitem.Tag = selectedFeaturesLayers; toEditLayerMenuitem.Header = GisEditor.LanguageManager.GetStringResource("SelectionAndQueryingRibbonGroupCopyToEditHeaderText"); toEditLayerMenuitem.Click += ToEditLayerMenuitem_Click; copyToMenuitem.Items.Add(toEditLayerMenuitem); } InMemoryFeatureLayer[] inMemoryFeatureLayers = GisEditor.ActiveMap.GetFeatureLayers(false).OfType <InMemoryFeatureLayer>().ToArray(); if (inMemoryFeatureLayers.Length > 0) { copyToMenuitem.Items.Add(new Separator()); } foreach (InMemoryFeatureLayer layer in inMemoryFeatureLayers) { MenuItem layerMenuitem = new MenuItem(); layerMenuitem.Header = layer.Name; layerMenuitem.Click += LayerMenuitem_Click; copyToMenuitem.Items.Add(layerMenuitem); } MenuItem saveToKmlMenuitem = new MenuItem(); saveToKmlMenuitem.Header = GisEditor.LanguageManager.GetStringResource("GisEarthHelperSaveasvectorKML"); saveToKmlMenuitem.Click += GoogleEarthHelper.SaveToKmlMenuitemClick; MenuItem openWithGoogleMenuitem = new MenuItem(); openWithGoogleMenuitem.IsEnabled = !string.IsNullOrEmpty(GoogleEarthHelper.GetGoogleEarthInstalledPath()); openWithGoogleMenuitem.Tag = "GoogleEarth"; openWithGoogleMenuitem.Header = GisEditor.LanguageManager.GetStringResource("GisEarthHelperOpeninGoogleEarth"); openWithGoogleMenuitem.Icon = new Image() { Width = 16, Height = 16, Source = new BitmapImage(new Uri("pack://application:,,,/GisEditorPluginCore;component/Images/googleEarth.png", UriKind.RelativeOrAbsolute)) }; openWithGoogleMenuitem.Click += GoogleEarthHelper.OpenWithGoogleMenuitemClick; MenuItem openWithGoogleProMenuitem = new MenuItem(); openWithGoogleProMenuitem.IsEnabled = !string.IsNullOrEmpty(GoogleEarthHelper.GetGoogleEarthProInstalledPath()); openWithGoogleProMenuitem.Tag = "GoogleEarthPro"; openWithGoogleProMenuitem.Header = "Open in Google Earth Pro"; openWithGoogleProMenuitem.Icon = new Image() { Width = 16, Height = 16, Source = new BitmapImage(new Uri("pack://application:,,,/GisEditorPluginCore;component/Images/googleEarth.png", UriKind.RelativeOrAbsolute)) }; openWithGoogleProMenuitem.Click += GoogleEarthHelper.OpenWithGoogleMenuitemClick; highlightedFeatureMenuItem.Items.Add(copyToMenuitem); highlightedFeatureMenuItem.Items.Add(saveToKmlMenuitem); highlightedFeatureMenuItem.Items.Add(openWithGoogleMenuitem); highlightedFeatureMenuItem.Items.Add(openWithGoogleProMenuitem); return(highlightedFeatureMenuItem); }
protected override Collection <MenuItem> GetMapContextMenuItemsCore(GetMapContextMenuParameters parameters) { return(new Collection <MenuItem> { GoogleEarthHelper.GetSaveAsKMLMenuItem() }); }