private void InitializeCommands() { applyCommand = new ObservedCommand(() => { if (stylePropertyContent != null) { StyleLayerListItem styleListItem = stylePropertyContent.StyleItem; LayerListItem componentLayerListItem = StylePropertyUIPlugin.GetSpecificLayerListItem <CompositeStyle>(styleListItem); if (componentLayerListItem != null) { CompositeStyle oldStyle = (CompositeStyle)componentLayerListItem.ConcreteObject; List <Style> innerStyles = oldStyle.Styles.ToList(); oldStyle.Styles.Clear(); foreach (var innerStyle in componentLayerListItem.Children.OfType <StyleLayerListItem>() .Select(item => item.ConcreteObject).OfType <Style>().Reverse()) { oldStyle.Styles.Add(innerStyle); } if (featureLayer != null) { //GisEditor.ActiveMap.GetOverlaysContaining(featureLayer).ForEach(o => o.Refresh()); GisEditor.ActiveMap.GetOverlaysContaining(featureLayer).ForEach(o => o.RefreshWithBufferSettings()); LayerListUIPlugin layerListUIPlugin = GisEditor.UIManager.GetActiveUIPlugins <LayerListUIPlugin>().FirstOrDefault(); if (layerListUIPlugin != null) { layerListUIPlugin.Refresh(new RefreshArgs(this, "StyleProperties Applied.")); } } } } }, () => stylePropertyContent != null); }
public static MenuItem GetDuplicateMenuItem() { var command = new ObservedCommand(Duplicate, CanExecute); var menuItem = GetMenuItem("Duplicate", "pack://application:,,,/GisEditorInfrastructure;component/Images/duplicate.png", command); return(menuItem); }
public static MenuItem GetMovementMenuItem(MovementAction movementAction, bool isMovementEnabled = true) { var command = new ObservedCommand(() => { MoveItem(movementAction); }, () => !(GisEditor.LayerListManager.SelectedLayerListItems.Count > 0) && isMovementEnabled); string headerString = String.Empty; string imageName = String.Empty; switch (movementAction) { case MovementAction.Up: headerString = "Move up"; imageName = "moveUp"; break; case MovementAction.Down: headerString = "Move down"; imageName = "moveDown"; break; case MovementAction.ToTop: headerString = "Move to top"; imageName = "toTop"; break; case MovementAction.ToBottom: headerString = "Move to bottom"; imageName = "toBottom"; break; default: break; } return(GetMenuItem(headerString, string.Format("/GisEditorPluginCore;component/Images/{0}.png", imageName), command)); }
public static MenuItem GetRenameMenuItem() { var command = new ObservedCommand(() => { GisEditor.LayerListManager.SelectedLayerListItem.IsRenaming = true; }, () => !(GisEditor.LayerListManager.SelectedLayerListItems.Count > 0)); return GetMenuItem("Rename", "/GisEditorPluginCore;component/Images/rename.png", command); }
internal static MenuItem GetAddLayerMenuItem() { ObservedCommand command = new ObservedCommand(() => { CommandHelper.AddNewLayersCommand.Execute(true); }, () => !(GisEditor.LayerListManager.SelectedLayerListItems.Count > 0)); return(GetMenuItem("Add layer", "/GisEditorPluginCore;component/Images/add.png", command)); }
public static MenuItem GetAddStyleWizardMenuItem(ShapeFileFeatureLayer shapeFileFeatureLayer) { var command = new ObservedCommand(() => { if (GisEditorWpfMapExtension.AddStyleToLayerWithStyleWizard(new Layer[] { shapeFileFeatureLayer })) { LayerListHelper.RefreshCache(); GisEditor.UIManager.BeginRefreshPlugins(new RefreshArgs(shapeFileFeatureLayer, RefreshArgsDescription.GetAddStyleWizardMenuItemDescription)); } }, () => true); return(GetMenuItem("Style Wizard", "/GisEditorPluginCore;component/Images/addstyle.png", command)); }
public static MenuItem GetEditStyleMenuItem() { var command = new ObservedCommand(new Action(() => { LayerListHelper.EditStyle(GisEditor.LayerListManager.SelectedLayerListItem); }), new Func <bool>(() => { if (GisEditor.LayerListManager.SelectedLayerListItem == null) { return(false); } return(GisEditor.LayerListManager.SelectedLayerListItem.ConcreteObject is Style); })); return(GetMenuItem("Edit", "/GisEditorPluginCore;component/Images/editstyle.png", command)); }
internal static MenuItem GetRefreshLayersMenuItem(LayerOverlay overlay) { MenuItem item = new MenuItem(); item.Header = GisEditor.LanguageManager.GetStringResource("LayerListMenuItemHelperRefreshlayersText"); item.Icon = new Image { Source = new BitmapImage(new Uri("/GisEditorPluginCore;component/Images/refresh.png", UriKind.RelativeOrAbsolute)), Width = 16, Height = 16 };; ObservedCommand command = new ObservedCommand(() => { overlay.Invalidate(); }, () => { return(overlay != null); }); item.Command = command; return(item); }
public static MenuItem GetAddSpecifiedStyleByPluginMenuItem(StylePlugin styleProvider) { var image = new Image(); image.BeginInit(); image.Source = styleProvider.SmallIcon; image.EndInit(); var command = new ObservedCommand(() => { AddStyle(styleProvider); }, () => { string stylePluginName = styleProvider.GetType().FullName; return(GisEditor.StyleManager.GetActiveStylePlugins().Any(p => p.GetType().FullName.Equals(stylePluginName, StringComparison.Ordinal))); }); return(GetMenuItem(styleProvider.GetShortName(), image, command)); }
private static MenuItem GetMenuItem(string header, Image icon, ObservedCommand command) { if (icon != null) { icon.Width = 16; icon.Height = 16; } MenuItem menuItem = new MenuItem(); menuItem.HorizontalContentAlignment = HorizontalAlignment.Stretch; menuItem.VerticalContentAlignment = VerticalAlignment.Stretch; menuItem.Name = header.Replace(" ", "").Replace("...", "").Replace("(", "").Replace(")", ""); menuItem.Header = header; menuItem.Icon = icon; menuItem.Command = command; return(menuItem); }
public static MenuItem GetAddStyleMenuItem(AddStyleTypes addStyleType, FeatureLayer featureLayer) { var command = new ObservedCommand(() => { }, () => !(GisEditor.LayerListManager.SelectedLayerListItems.Count > 0)); var menuItem = GetMenuItem(GisEditor.LanguageManager.GetStringResource("StyleBuilderWindowAddStyleLabel"), "/GisEditorPluginCore;component/Images/addstyle.png", null); menuItem.Items.Add(GetLoadFromLibraryMenuItem()); menuItem.Items.Add(new Separator()); AddSubMenuItems(addStyleType, menuItem); ShapeFileFeatureLayer shpLayer = featureLayer as ShapeFileFeatureLayer; if (shpLayer != null) { if (menuItem.Items.Count > 0) { menuItem.Items.Add(new Separator()); } menuItem.Items.Add(LayerListMenuItemHelper.GetAddStyleWizardMenuItem(shpLayer)); } return(menuItem); }
protected GeoProcessingViewModel() { runningTasks = new Dictionary <string, Action <ExceptionInfo> >(); runningErrors = new Dictionary <string, Collection <ExceptionInfo> >(); gridWizardCommand = GetCommand <GridWizardWindow>(); explodeWizardCommand = GetCommand <ExplodeWizardWindow>(); blendWizardCommand = GetCommand <BlendWizardWindow>(); mergeWizardCommand = GetCommand <MergeWizardWindow>(); splitWizardCommand = GetCommand <SplitWizardWindow>(); bufferWizardCommand = GetCommand <BufferWizardWindow>(); clipWizardCommand = GetCommand <ClippingWizardWindow>(); dissolveWizardCommand = GetCommand <DissolveWizardWindow>(); simplifyWizardCommand = GetCommand <SimplifyWizardWindow>(); dataJoinWizardCommand = GetCommand <DataJoinWizardWindow>(); exportSelectedFeaturesCommand = GetExportSelectedFeaturesCommand(); exportMeasuredFeaturesCommand = GetExportMeasuredFeaturesCommand(); reprojectionCommand = GetCommand <ReprojectionWindow>(); rebuildIndexWizardCommand = new RelayCommand(() => { BuildIndexWizardWindow window = new BuildIndexWizardWindow(); window.Show(); }); }
private static MenuItem GetMenuItem(string header, string iconUri, ObservedCommand command) { return(GetMenuItem(header, new Image { Source = new BitmapImage(new Uri(iconUri, UriKind.RelativeOrAbsolute)) }, command)); }
public static MenuItem GetInsertFromLibraryMenuItem() { var command = new ObservedCommand(LayerListHelper.InsertFromLibrary, () => true); return(GetMenuItem("Insert from Library...", "/GisEditorPluginCore;component/Images/insert_from_library.png", command)); }
public static MenuItem GetRemoveFeatureMenuItem() { var command = new ObservedCommand(RemoveFeature, () => true); return(GetMenuItem("Remove", "/GisEditorPluginCore;component/Images/unload.png", command)); }
public static MenuItem GetZoomToExtentMenuItem() { var command = new ObservedCommand(ZoomToExtent, () => true); return(GetMenuItem("Zoom to Extent", "/GisEditorPluginCore;component/Images/zoomextent.png", command)); }
private void InitializeCommands() { addConditionCommand = new RelayCommand(() => { FilterConditionWindow newFilterConditionWindow = new FilterConditionWindow(); FilterConditionViewModel itemViewModel = new FilterConditionViewModel(RequiredValues); itemViewModel.PropertyChanged += ItemViewModel_PropertyChanged; newFilterConditionWindow.DataContext = itemViewModel; foreach (var item in columnNameTypes) { newFilterConditionWindow.ViewModel.ColumnNameTypes[item.Key] = item.Value; } newFilterConditionWindow.ViewModel.SelectedColumnName = newFilterConditionWindow.ViewModel.ColumnNames.FirstOrDefault(); if (newFilterConditionWindow.ShowDialog().GetValueOrDefault()) { var stylePlugin = GisEditor.StyleManager.GetDefaultStylePlugin(requiredValues.AvailableStyleCategories); filterConditions.Add(newFilterConditionWindow.ViewModel); SyncConditions(); RaisePropertyChanged("FilterConditions"); } }); editConditionCommand = new RelayCommand <FilterConditionViewModel>(v => { var clonedViewModel = v.CloneDeep(); clonedViewModel.ColumnNameTypes.Clear(); foreach (var item in columnNameTypes) { clonedViewModel.ColumnNameTypes[item.Key] = item.Value; } FilterConditionWindow newFilterConditionWindow = new FilterConditionWindow(clonedViewModel); FeatureLayerPlugin resultLayerPlugin = GisEditor.LayerManager.GetLayerPlugins(RequiredValues.FeatureLayer.GetType()).LastOrDefault() as FeatureLayerPlugin; if (resultLayerPlugin != null) { Collection <IntermediateColumn> columns = resultLayerPlugin.GetIntermediateColumns(requiredValues.FeatureLayer.FeatureSource); foreach (var item in columns) { newFilterConditionWindow.ViewModel.ColumnNameTypes[item.ColumnName] = item.IntermediateColumnType; } } if (newFilterConditionWindow.ShowDialog().Value) { var index = FilterConditions.IndexOf(v); if (index != -1) { v = clonedViewModel; FilterConditions.RemoveAt(index); FilterConditions.Insert(index, v); } } SyncConditions(); }); removeConditionCommand = new RelayCommand <FilterConditionViewModel>(v => { if (FilterConditions.Contains(v)) { var messageBoxResult = System.Windows.Forms.MessageBox.Show(GisEditor.LanguageManager.GetStringResource("FilterStyleViewModelConditionRemovedMessage") , "Alert" , System.Windows.Forms.MessageBoxButtons.YesNo); if (messageBoxResult == System.Windows.Forms.DialogResult.Yes) { FilterConditions.Remove(v); SyncConditions(); RaisePropertyChanged("FilterConditions"); } } }); testScriptCommand = new RelayCommand(() => { try { var result = actualFilterStyle.GetRequiredColumnNames().All(c => requiredValues.ColumnNames.Contains(c)); if (!result) { MessageBox.Show(GisEditor.LanguageManager.GetStringResource("FilterStyleUserControlColumnMessage")); } else { Collection <Feature> features = new Collection <Feature>(); ScriptFilterCondition condition = actualFilterStyle.Conditions.OfType <ScriptFilterCondition>().FirstOrDefault(); if (condition != null) { condition.GetMatchingFeatures(features); } MessageBox.Show(GisEditor.LanguageManager.GetStringResource("TestPassMessage")); } } catch (Exception ex) { GisEditor.LoggerManager.Log(LoggerLevel.Debug, ex.Message, new ExceptionInfo(ex)); MessageBox.Show(ex.Message); } }); viewDataCommand = new RelayCommand(() => { DataViewerUserControl content = new DataViewerUserControl(); content.ShowDialog(); }); showResultsCommand = new ObservedCommand(() => { ShowFilteredData(requiredValues.FeatureLayer, FilterConditions.Select(f => f.FilterCondition), ""); }, () => filterConditions.Count > 0); }
internal static MenuItem GetTileTypeMenuItem(TileOverlay tileOverlay) { MenuItem tileTypeItem = new MenuItem(); tileTypeItem.Header = "Tile type"; tileTypeItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/GisEditorPluginCore;component/Images/tiltType.png", UriKind.Absolute)), Width = 16, Height = 16 }; MenuItem singleMenuItem = new MenuItem(); singleMenuItem.Header = "Single tile"; ObservedCommand singleCommand = new ObservedCommand(() => { foreach (var subItem in tileTypeItem.Items.OfType <MenuItem>()) { if (subItem.Header == singleMenuItem.Header) { singleMenuItem.IsChecked = true; } else { subItem.IsChecked = false; } } tileOverlay.TileType = TileType.SingleTile; tileOverlay.RefreshWithBufferSettings(); }, () => GisEditor.ActiveMap != null); singleMenuItem.Command = singleCommand; MenuItem hybridMenuItem = new MenuItem(); hybridMenuItem.Header = "Multiple tile"; ObservedCommand hybridCommand = new ObservedCommand(() => { foreach (var subItem in tileTypeItem.Items.OfType <MenuItem>()) { subItem.IsChecked = false; } hybridMenuItem.IsChecked = true; tileOverlay.TileType = TileType.HybridTile; tileOverlay.RefreshWithBufferSettings(); }, () => GisEditor.ActiveMap != null); hybridMenuItem.Command = hybridCommand; MenuItem preloadMenuItem = new MenuItem(); preloadMenuItem.Header = "Hybrid tile"; ObservedCommand preloadCommand = new ObservedCommand(() => { foreach (var subItem in tileTypeItem.Items.OfType <MenuItem>()) { if (subItem.Header == preloadMenuItem.Header) { preloadMenuItem.IsChecked = true; } else { subItem.IsChecked = false; } } tileOverlay.TileType = TileType.PreloadDataHybridTile; tileOverlay.RefreshWithBufferSettings(); }, () => GisEditor.ActiveMap != null); preloadMenuItem.Command = preloadCommand; switch (tileOverlay.TileType) { case TileType.SingleTile: singleMenuItem.IsChecked = true; break; case TileType.PreloadDataHybridTile: preloadMenuItem.IsChecked = true; break; case TileType.MultipleTile: case TileType.HybridTile: default: hybridMenuItem.IsChecked = true; break; } tileTypeItem.Items.Add(singleMenuItem); tileTypeItem.Items.Add(hybridMenuItem); tileTypeItem.Items.Add(preloadMenuItem); return(tileTypeItem); }
public static MenuItem GetSaveStyleMenuItem() { var command = new ObservedCommand(SaveStyle, () => true); return(GetMenuItem("Save Style", "/GisEditorPluginCore;component/Images/Export.png", command)); }
public static MenuItem GetRebuildIndexMenuItem() { var command = new ObservedCommand(RebuildIndex, () => !(GisEditor.LayerListManager.SelectedLayerListItems.Count > 0)); return(GetMenuItem("Rebuild Index", "/GisEditorPluginCore;component/Images/buildindex.png", command)); }
public static MenuItem GetLoadFromLibraryMenuItem() { var command = new ObservedCommand(LoadFromLibrary, () => true); return(GetMenuItem("Load from Library...", "/GisEditorPluginCore;component/Images/load_from_library.png", command)); }