protected override RasterLayer GetRasterLayer(Uri uri, WorldFileInfo wInfo) { WmsRasterLayer layer = null; WmsRasterLayerConfigWindow wmsWindow = new WmsRasterLayerConfigWindow(); wmsWindow.ViewModel.AddToDataRepositoryVisibility = Visibility.Visible; if (wmsWindow.ShowDialog().GetValueOrDefault()) { WmsRasterLayer wmsRasterlayer = wmsWindow.ViewModel.WmsRasterLayer; wmsRasterlayer.InitializeProj4Projection(GisEditor.ActiveMap.DisplayProjectionParameters); if (wmsRasterlayer != null && wmsRasterlayer.ActiveLayerNames.Count > 0) { layer = wmsRasterlayer; } if (wmsWindow.ViewModel.DoesAddToDataRepository) { var wmsDataPlugin = GisEditor.DataRepositoryManager.GetPlugins().OfType <WmsDataRepositoryPlugin>().FirstOrDefault(); if (wmsDataPlugin != null) { wmsDataPlugin.RootDataRepositoryItem.Children.Add(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(layer); }
//protected override ObservableCollection<DataRepositoryItem> GetChildrenCore() //{ // return children; //} protected override void LoadCore() { WmsRasterLayer layer = new WmsRasterLayer(new Uri(Url)) { Name = Name }; layer.ActiveLayerNames.Add(Name); layer.InitializeProj4Projection(GisEditor.ActiveMap.DisplayProjectionParameters); var layers = new Layer[] { layer }; GisEditor.ActiveMap.AddLayersBySettings(layers); GisEditor.UIManager.BeginRefreshPlugins(new RefreshArgs(this, RefreshArgsDescription.LoadCoreDescription)); }