示例#1
0
        protected override void ApplySettingsCore(StorableSettings settings)
        {
            base.ApplySettingsCore(settings);

            if (settings.GlobalSettings.ContainsKey("SQLServerTimeout"))
            {
                string timeoutString = settings.GlobalSettings["SQLServerTimeout"];
                int    timeout       = 20;
                int    tempTimeout;
                if (Int32.TryParse(timeoutString, out tempTimeout))
                {
                    timeout = tempTimeout;
                }

                Singleton <ServerFeatureLayerSettingsUserControl> .Instance.SQLTimeoutInSecond = timeout;
                GisEditor.GetMaps().SelectMany(m => m.Overlays.OfType <LayerOverlay>().SelectMany(lo => lo.Layers.OfType <MsSqlFeatureLayer>())).ForEach(l =>
                {
                    l.CommandTimeout = timeout;
                });
            }

            if (settings.GlobalSettings.ContainsKey("SQLServerHistoryServerName"))
            {
                string SQLServerHistoryServerNames = settings.GlobalSettings["SQLServerHistoryServerName"];
                historyServerNames.Clear();
                SQLServerHistoryServerNames.Split('|').ForEach(n => historyServerNames.Add(n));
            }
        }
        private XElement SaveProjectExpandSettingInternal()
        {
            XElement expandStatusElement = new XElement("ExpandStatus");
            var      maps = GisEditor.GetMaps();

            foreach (var map in maps)
            {
                var item = GisEditor.LayerListManager.GetRootLayerListItem(map);
                RefreshExpandedStates(map.Name, item);
                XElement mapXElement = new XElement("Map", new XAttribute("Name", map.Name));
                foreach (var overlayEntity in item.Children)
                {
                    XElement overlayXElement = new XElement("Overlay", new XAttribute("Name", overlayEntity.Name), new XAttribute("IsExpanded", overlayEntity.IsExpanded.ToString()));
                    foreach (var layerEntity in overlayEntity.Children)
                    {
                        XElement layerXElement = new XElement("Layer", new XAttribute("Name", layerEntity.Name), new XAttribute("IsExpanded", layerEntity.IsExpanded.ToString()));
                        overlayXElement.Add(layerXElement);
                    }
                    mapXElement.Add(overlayXElement);
                }
                if (mapXElement.HasElements)
                {
                    expandStatusElement.Add(mapXElement);
                }
            }
            return(expandStatusElement);
        }
示例#3
0
        protected override void RefreshCore(GisEditorWpfMap currentMap, RefreshArgs refreshArgs)
        {
            foreach (var map in GisEditor.GetMaps())
            {
                foreach (var overlay in map.Overlays.OfType <TileOverlay>())
                {
                    overlay.DrawingException -= Overlay_DrawingException;
                    overlay.DrawingException += Overlay_DrawingException;
                }
            }

            base.RefreshCore(currentMap, refreshArgs);
        }
示例#4
0
        public static void CloseInOverlay(this FeatureLayer featureLayer)
        {
            featureLayer.CloseAll();

            LayerPlugin currentFeatureLayerPlugin = GisEditor.LayerManager.GetLayerPlugins(featureLayer.GetType()).FirstOrDefault();

            if (currentFeatureLayerPlugin != null)
            {
                Uri currentFeatureLayerUri = currentFeatureLayerPlugin.GetUri(featureLayer);
                IEnumerable <LayerOverlay> layerOverlays = GisEditor.GetMaps().
                                                           SelectMany(map => map.Overlays).
                                                           OfType <LayerOverlay>().
                                                           Where(layerOverlay =>
                {
                    FeatureLayer matchingShpLayer = layerOverlay.Layers.OfType <FeatureLayer>().Where(tempLayer =>
                    {
                        LayerPlugin tempFeatureLayerPlugin = GisEditor.LayerManager.GetLayerPlugins(tempLayer.GetType()).FirstOrDefault();
                        return(tempFeatureLayerPlugin.GetUri(tempLayer) == currentFeatureLayerUri);
                    }).FirstOrDefault();

                    if (matchingShpLayer != null)
                    {
                        matchingShpLayer.CloseAll();
                        return(true);
                    }
                    return(false);
                });

                foreach (var layerOverlay in layerOverlays)
                {
                    layerOverlay.Close();
                }
            }
            else
            {
                LayerOverlay layerOverlay = GisEditor.ActiveMap.Overlays.OfType <LayerOverlay>().Where(lo => lo.Layers.Contains(featureLayer)).FirstOrDefault();
                if (layerOverlay != null)
                {
                    layerOverlay.Close();
                }
            }
        }
示例#5
0
        protected override void ApplySettingsCore(StorableSettings settings)
        {
            base.ApplySettingsCore(settings);
            if (settings.GlobalSettings.ContainsKey("Timeout"))
            {
                string timeoutString = settings.GlobalSettings["Timeout"];
                int    timeout       = 20;
                int    tempTimeout;
                if (Int32.TryParse(timeoutString, out tempTimeout))
                {
                    timeout = tempTimeout;
                }

                Singleton <ServerFeatureLayerSettingsUserControl> .Instance.PostgreTimeoutInSecond = timeout;
                GisEditor.GetMaps().SelectMany(m => m.Overlays.OfType <LayerOverlay>().SelectMany(lo => lo.Layers.OfType <PostgreSqlFeatureLayer>())).ForEach(l =>
                {
                    l.CommandTimeout = timeout;
                });
            }
        }
        public void Execute()
        {
            IsBusy = true;

            GisEditor.GetMaps()
            .SelectMany(m => m.Overlays)
            .OfType <LayerOverlay>()
            .Where(l => l.Layers.OfType <ShapeFileFeatureLayer>().Any(tmpLayer => sourceFiles.Any(tmpSourceFile => tmpSourceFile.FilePath.Equals(tmpLayer.ShapePathFilename, StringComparison.OrdinalIgnoreCase))))
            .ForEach(l => l.Close());

            Task task = Task.Factory.StartNew(() =>
            {
                foreach (var item in sourceFiles)
                {
                    Task.Factory.StartNew((tmpItem) =>
                    {
                        ((BuildShapeFileModel)tmpItem).BuildIndex();
                    }, item, TaskCreationOptions.AttachedToParent);
                }
            });

            task.ContinueWith((t) => IsBusy = false);
        }
 private IEnumerable <TileOverlay> GetTileOverlays()
 {
     return(GisEditor.GetMaps().SelectMany(tmpMap => tmpMap.Overlays.OfType <TileOverlay>()));
 }