コード例 #1
0
 public MeasureRibbonGroupViewModel()
 {
     polygonTrackModes = new Collection <PolygonTrackMode>();
     polygonTrackModes.Add(PolygonTrackMode.LineWithFill);
     polygonTrackModes.Add(PolygonTrackMode.LineOnly);
     selectedPolygonTrackMode = polygonTrackModes.First();
     measuringModes           = new Collection <MeasuringInMode>();
     foreach (MeasuringInMode measuringMode in Enum.GetValues(typeof(MeasuringInMode)))
     {
         measuringModes.Add(measuringMode);
     }
     UpdateStylePreview();
     displayHideText    = "Hide Measurements";
     displayHidePreview = new BitmapImage(new Uri("/GisEditorPluginCore;component/Images/hideEye.png", UriKind.RelativeOrAbsolute));
 }
コード例 #2
0
        public static bool UpdateInProcessInteractiveOverlayImageSource(InteractiveOverlay overlay
                                                                        , MapArguments mapArguments
                                                                        , IEnumerable <InMemoryFeatureLayer> inProcessLayers
                                                                        , Collection <SimpleCandidate> simpleCandidates
                                                                        , RenderMode renderMode, PolygonTrackMode polygonTrackMode = PolygonTrackMode.Default, bool refreshAll = false, bool isTrackingPolygon = false)
        {
            bool isUpdated          = false;
            var  inProcessLayer     = inProcessLayers.FirstOrDefault();
            var  inProcessLineLayer = inProcessLayers.Count() == 2 ? inProcessLayers.Last() : null;

            simpleCandidates.Clear();
            if (inProcessLineLayer != null && inProcessLineLayer.InternalFeatures.Count > 0)
            {
                Image defaultImage = GetTileImage(overlay, mapArguments, tracksInProcessLineName, 2);
                inProcessLineLayer.InternalFeatures.First().ColumnValues[inTrackingFeatureKey] = "True";
                UpdateImageSource(mapArguments, simpleCandidates, renderMode, inProcessLineLayer, defaultImage, OutlineDrawMode.Dynamic);
                inProcessLineLayer.InternalFeatures.First().ColumnValues[inTrackingFeatureKey] = string.Empty;
                isUpdated = true;

                if (refreshAll)
                {
                    defaultImage = GetTileImage(overlay, mapArguments);
                    var outlineDrawing = isTrackingPolygon ? OutlineDrawMode.Open : OutlineDrawMode.Sealed;
                    UpdateImageSource(mapArguments, simpleCandidates, renderMode, inProcessLayer, defaultImage, outlineDrawing);
                }
            }
            else if (inProcessLayer != null && inProcessLayer.InternalFeatures.Count > 0)
            {
                Image defaultImage    = GetTileImage(overlay, mapArguments);
                var   outlineDrawMode = polygonTrackMode == PolygonTrackMode.LineOnly ? OutlineDrawMode.Open : OutlineDrawMode.LineWithFill;
                if (outlineDrawMode == OutlineDrawMode.Open && !isTrackingPolygon)
                {
                    outlineDrawMode = OutlineDrawMode.Sealed;
                }
                UpdateImageSource(mapArguments, simpleCandidates, renderMode, inProcessLayer, defaultImage, outlineDrawMode);
                isUpdated = true;
            }
            else
            {
                Image defaultImage = GetTileImage(overlay, mapArguments);
                defaultImage.Source = blankImageSource;
            }

            return(isUpdated);
        }