private void OnToolbarButtonChecked(object sender, RoutedEventArgs e) { ToggleButton tb = (ToggleButton)sender; switch (tb.Name) { case "buttonTrack": if ((bool)tb.IsChecked) { if (MapWindowManager.CTXFile != null && MapWindowManager.CTXFile.TrackPtCount > 0) { List <int> handles = new List <int>(); var sf = ShapefileFactory.CTXTrackVertices(MapWindowManager.CTXFile, out handles); MapWindowManager.MapLayersHandler.AddLayer(sf, "Vertices", uniqueLayer: true, layerKey: sf.Key, rejectIfExisting: true); if (MapWindowManager.MapLayersWindow != null) { MapWindowManager.MapLayersWindow.RefreshCurrentLayer(); } } else if (MapWindowManager.TrackGPXFile != null) { List <int> handles = new List <int>(); var sf = ShapefileFactory.GPXTrackVertices(MapWindowManager.TrackGPXFile, out handles); MapWindowManager.MapLayersHandler.AddLayer(sf, "Vertices", uniqueLayer: true, layerKey: sf.Key, rejectIfExisting: true); if (MapWindowManager.MapLayersWindow != null) { MapWindowManager.MapLayersWindow.RefreshCurrentLayer(); } } else { ((Shapefile)CurrentLayer.LayerObject).DefaultDrawingOptions.VerticesVisible = true; } } else { if (MapWindowManager.TrackGPXFile != null) { GPXMappingManager.RemoveGPXTrackVertices(); } else { if (CurrentLayer.LayerObject != null) { ((Shapefile)CurrentLayer.LayerObject).DefaultDrawingOptions.VerticesVisible = false; } } } MapControl.Redraw(); break; } }
private void OnWindowClosing(object sender, CancelEventArgs e) { if (!MapWindowManager.MapStateFileExists) { SaveMapState(); } //_instance = null; this.SavePlacement(); GPXMappingManager.RemoveAllFromMap(); TripMappingManager.Cleanup(); GPXMappingManager.Cleanup(); ParentWindow.ResetDataGrids(); MapWindowManager.CleanUp(); ParentWindow.Focus(); }