public WorldMapNode(MapViewModel mapViewModel) { MapViewModel = mapViewModel; Features.Add(new WorldMapFeatureNode("Pan/Zoom", () => MapViewModel.IsPanZoomVisible, v => MapViewModel.IsPanZoomVisible = v)); Features.Add(new WorldMapFeatureNode("Lat/Lon Grid", () => MapViewModel.IsGridVisible, v => MapViewModel.IsGridVisible = v)); Features.Add(new WorldMapFeatureNode("Scale", () => MapViewModel.IsScaleVisible, v => MapViewModel.IsScaleVisible = v)); MapViewModel.Add(_worldMapLayer); MapViewModel.SetIsVisible(_worldMapLayer, Settings.Default.ShowWorldMap); }
public MainViewModel(IViewAwareStatus viewAwareStatus, IMasterDatabaseService database, IMessageBoxService messageBox, IUIVisualizerService visualizer, IHRCSaveFileService saveFile, IHRCOpenFileService openFile, TransmissionLossCalculatorService transmissionLoss, IPluginManagerService plugins, EnvironmentalCacheService cache) { try { Mediator.Instance.Register(this); } catch (Exception ex) { Debug.WriteLine("***********\nMainViewModel: Mediator registration failed: " + ex.Message + "\n***********"); throw; } Cursor = Cursors.Arrow; ESME.Data.AppSettings.ApplicationName = App.Name; Globals.AppSettings = ESME.Data.AppSettings.Load(ESME.Data.AppSettings.AppSettingsFile); Globals.AppSettings.Save(); Globals.PluginManagerService = plugins; Globals.TransmissionLossCalculatorService = transmissionLoss; Globals.MasterDatabaseService = database; Globals.VisualizerService = visualizer; Globals.SaveFileService = saveFile; Globals.OpenFileService = openFile; Globals.EnvironmentalCacheService = cache; Globals.ViewAwareStatusService = viewAwareStatus; Globals.MessageBoxService = messageBox; MapViewModel = new MapViewModel(this); Globals.TransmissionLossCalculatorService.WorkQueue.PropertyChanged += (s, e) => { if (e.PropertyName == "Count") { TransmissionLossActivity = Globals.TransmissionLossCalculatorService.WorkQueue.Keys.Count > 0 ? string.Format("Acoustic Simulator: {0} items", Globals.TransmissionLossCalculatorService.WorkQueue.Keys.Count) : "Acoustic Simulator: idle"; // Debug.WriteLine(string.Format("TransmissionLossActivity: {0}", TransmissionLossActivity)); var isBusy = Globals.TransmissionLossCalculatorService.WorkQueue.Keys.Count > 0; IsTransmissionLossBusy = isBusy; if (!isBusy && IsSaveSampleDataRequested) { Globals.MasterDatabaseService.SaveChanges(); IsSaveSampleDataRequested = false; } } }; if (Designer.IsInDesignMode) return; Globals.ViewAwareStatusService.ViewLoaded += ViewLoaded; //_appTracker = new ApplicationTracker("UA-44329261-1", "TestWPFApp"); //_appTracker.StartSession(); //_appTracker.TrackEvent(ApplicationTrackerCategories.Command, "ApplicationStartup"); }