public Plugin(ISky sky, ISkyMap map, TrackCalc trackCalc) { this.sky = sky; this.map = map; this.trackCalc = trackCalc; this.map.SelectedObjectChanged += (o) => NotifyPropertyChanged(nameof(IsMotionTrackEnabled)); this.trackCalc.Tracks.CollectionChanged += (s, e) => NotifyPropertyChanged(nameof(IsTracksListEnabled)); var contextMenuTrack = new MenuItem("$Astrarium.Plugins.Tracks.ContextMenu", new Command(ShowMotionTrackWindow)); contextMenuTrack.AddBinding(new SimpleBinding(this, nameof(IsMotionTrackEnabled), nameof(MenuItem.IsEnabled))); MenuItems.Add(MenuItemPosition.ContextMenu, contextMenuTrack); var toolsMenuTracks = new MenuItem("$Astrarium.Plugins.Tracks.ToolsMenu", new Command(ShowTracksListWindow)); var menuAddTrack = new MenuItem("$Astrarium.Plugins.Tracks.ToolsMenu.Add", new Command(ShowMotionTrackWindow)); menuAddTrack.HotKey = new KeyGesture(Key.T, ModifierKeys.Control, "Ctrl+T"); var menuTracksList = new MenuItem("$Astrarium.Plugins.Tracks.ToolsMenu.List", new Command(ShowTracksListWindow)); menuTracksList.AddBinding(new SimpleBinding(this, nameof(IsTracksListEnabled), nameof(MenuItem.IsEnabled))); menuTracksList.HotKey = new KeyGesture(Key.T, ModifierKeys.Control | ModifierKeys.Shift, "Ctrl+Shift+T"); toolsMenuTracks.SubItems.Add(menuAddTrack); toolsMenuTracks.SubItems.Add(menuTracksList); MenuItems.Add(MenuItemPosition.MainMenuTools, toolsMenuTracks); }
public TrackRenderer(TrackCalc trackCalc) { this.trackCalc = trackCalc; }