private void AddANewLayer() { var newLayer = new ScaleLineOrBarAdornmentLayerViewModel(); newLayer.Name = GenerateScaleName(); newLayer.Location = AdornmentLocation.LowerLeft; ScaleLayers.Add(newLayer); SelectedLayer = newLayer; }
private void RemoveSelectedLayer() { if (CanRemove) { ScaleLayers.Remove(SelectedLayer); if (ScaleLayers.Count > 0) { SelectedLayer = ScaleLayers[ScaleLayers.Count - 1]; } } }
private void InitLayers() { if (GisEditor.ActiveMap != null) { GisEditorWpfMap wpfMap = GisEditor.ActiveMap; var scaleLayers = wpfMap.FixedAdornmentOverlay.Layers.Where(tmpAdornmentLayer => (tmpAdornmentLayer is ScaleLineAdornmentLayer || tmpAdornmentLayer is ScaleBarAdornmentLayer)); foreach (var tmpLayer in scaleLayers) { ScaleLineOrBarAdornmentLayerViewModel newLayer = ScaleLineOrBarAdornmentLayerViewModel.CreateInstance(tmpLayer); ScaleLayers.Add(newLayer); } SelectedLayer = ScaleLayers.FirstOrDefault(); } }
private string GenerateScaleName() { int maxIndex = 0; if (ScaleLayers.Count > 0) { maxIndex = ScaleLayers.Max(tmpLayer => { int index = 0; if (tmpLayer.Name.StartsWith("Scale ", StringComparison.Ordinal)) { string indexString = tmpLayer.Name.Substring(tmpLayer.Name.LastIndexOf(" ") + 1); Int32.TryParse(indexString, out index); } return(index); }); } return(String.Format(CultureInfo.InvariantCulture, "Scale {0}", ++maxIndex)); }