private UserControl GetDataRepositoryContentUserControl() { DataRepositoryContentUserControl userControl = new DataRepositoryContentUserControl(); string header1 = GisEditor.LanguageManager.GetStringResource("FolderDataRepositoryUserControlTypeText"); DataRepositoryGridColumn column1 = new DataRepositoryGridColumn(header1, 70, di => di.Category); string header2 = "Url"; DataRepositoryGridColumn column2 = new DataRepositoryGridColumn(header2, 100); column2.CellContentConvertHandler = di => { WmsDataRepositoryItem wmsDataRepositoryItem = di as WmsDataRepositoryItem; if (wmsDataRepositoryItem != null) { return(wmsDataRepositoryItem.Url); } else { return(Binding.DoNothing); } }; userControl.Columns.Add(column1); userControl.Columns.Add(column2); return(userControl); }
protected override DataRepositoryItem CreateDataRepositoryItemCore() { WmsDataRepositoryItem wmsDataItem = null; WmsRasterLayerConfigWindow wmsWindow = new WmsRasterLayerConfigWindow(); wmsWindow.ViewModel.AddToDataRepositoryVisibility = Visibility.Collapsed; if (wmsWindow.ShowDialog().GetValueOrDefault()) { var names = RootDataRepositoryItem.Children.Select(c => c.Name).ToList(); if (names.Contains(wmsWindow.ViewModel.Name)) { MessageBox.Show(string.Format(CultureInfo.InvariantCulture, GisEditor.LanguageManager.GetStringResource("WmsDataRepositeryPluginWmsAddedText"), wmsWindow.ViewModel.Name), GisEditor.LanguageManager.GetStringResource("GeneralMessageBoxAlertCaption")); } else { wmsDataItem = new WmsDataRepositoryItem( wmsWindow.ViewModel.Name, new ObservableCollection <string>(wmsWindow.ViewModel.AvailableLayers.Select(l => l.Name)), wmsWindow.ViewModel.WmsServerUrl, wmsWindow.ViewModel.UserName, wmsWindow.ViewModel.Password, wmsWindow.ViewModel.Parameters, wmsWindow.ViewModel.Formats, wmsWindow.ViewModel.Styles, wmsWindow.ViewModel.SelectedFormat, wmsWindow.ViewModel.SelectedStyle); } } return(wmsDataItem); }
protected override void ApplySettingsCore(StorableSettings settings) { base.ApplySettingsCore(settings); var allWms = settings.GlobalSettings.Where(s => s.Key.Contains("Wms")).ToArray(); if (allWms.Length > 0) { RootDataRepositoryItem.Children.Clear(); foreach (var item in allWms) { WmsDataRepositoryItem wmsDataItem = new WmsDataRepositoryItem(); var tmpSettings = new StorableSettings(); tmpSettings.GlobalSettings["Wms"] = item.Value; wmsDataItem.ApplySettings(tmpSettings); RootDataRepositoryItem.Children.Add(wmsDataItem); } } }
private void AddMenuItems() { if (isRoot) { ContextMenu = new ContextMenu(); MenuItem editSettingItem = new MenuItem(); editSettingItem.Header = GisEditor.LanguageManager.GetStringResource("WmsDataRepositoryItemEditWmsHeader"); editSettingItem.Icon = new Image { Source = new BitmapImage(new Uri("/GisEditorPluginCore;component/Images/dr_edit.png", UriKind.RelativeOrAbsolute)) }; editSettingItem.Command = new RelayCommand(() => { WmsRasterLayerConfigWindow wmsWindow = new WmsRasterLayerConfigWindow(); wmsWindow.Title = GisEditor.LanguageManager.GetStringResource("WmsDataRepositoryItemEditWMSRasterLayerHeader"); wmsWindow.ViewModel.AddToDataRepositoryVisibility = Visibility.Collapsed; wmsWindow.ViewModel.Name = Name; wmsWindow.ViewModel.WmsServerUrl = Url; if (wmsWindow.ShowDialog().GetValueOrDefault()) { WmsDataRepositoryItem newItem = new WmsDataRepositoryItem( wmsWindow.ViewModel.Name, new ObservableCollection <string>(wmsWindow.ViewModel.AvailableLayers.Select(l => l.Name)), wmsWindow.ViewModel.WmsServerUrl, wmsWindow.ViewModel.UserName, wmsWindow.ViewModel.Password, wmsWindow.ViewModel.Parameters, wmsWindow.ViewModel.Formats, wmsWindow.ViewModel.Styles, wmsWindow.ViewModel.SelectedFormat, wmsWindow.ViewModel.SelectedStyle); WmsDataRepositoryPlugin wmsDataRepositoryPlugin = GisEditor.DataRepositoryManager.GetActiveDataRepositoryPlugins <WmsDataRepositoryPlugin>().FirstOrDefault(); if (wmsDataRepositoryPlugin != null && wmsDataRepositoryPlugin.RootDataRepositoryItem.Children.Contains(this)) { int index = wmsDataRepositoryPlugin.RootDataRepositoryItem.Children.IndexOf(this); wmsDataRepositoryPlugin.RootDataRepositoryItem.Children.Insert(index, newItem); wmsDataRepositoryPlugin.RootDataRepositoryItem.Children.RemoveAt(index + 1); GisEditor.UIManager.RefreshPlugins(new DataRepositoryUIRefreshArgs(new DataRepositoryPlugin[] { wmsDataRepositoryPlugin })); } } }); MenuItem removeItem = new MenuItem(); removeItem.Header = GisEditor.LanguageManager.GetStringResource("WmsDataRepositoryItemRemoveRepositoryHeader"); removeItem.Icon = new Image { Source = new BitmapImage(new Uri("/GisEditorPluginCore;component/Images/dr_remove_item.png", UriKind.RelativeOrAbsolute)) }; removeItem.Command = new RelayCommand(() => { WmsDataRepositoryPlugin wmsDataRepositoryPlugin = GisEditor.DataRepositoryManager.GetActiveDataRepositoryPlugins <WmsDataRepositoryPlugin>().FirstOrDefault(); if (wmsDataRepositoryPlugin != null && wmsDataRepositoryPlugin.RootDataRepositoryItem.Children.Contains(this)) { wmsDataRepositoryPlugin.RootDataRepositoryItem.Children.Remove(this); GisEditor.UIManager.RefreshPlugins(new DataRepositoryUIRefreshArgs(new DataRepositoryPlugin[] { wmsDataRepositoryPlugin })); } }); ContextMenu.Items.Add(editSettingItem); ContextMenu.Items.Add(removeItem); } }