public RotatorVM(IProfileService profileService, IRotatorMediator rotatorMediator, IApplicationStatusMediator applicationStatusMediator) : base(profileService) { Title = "LblRotator"; ImageGeometry = (System.Windows.Media.GeometryGroup)System.Windows.Application.Current.Resources["RotatorSVG"]; this.rotatorMediator = rotatorMediator; this.rotatorMediator.RegisterHandler(this); this.applicationStatusMediator = applicationStatusMediator; ConnectCommand = new AsyncCommand <bool>(() => Connect()); CancelConnectCommand = new RelayCommand(CancelConnectRotator); DisconnectCommand = new AsyncCommand <bool>(() => DisconnectDiag()); RefreshRotatorListCommand = new RelayCommand(RefreshRotatorList, o => !(rotator?.Connected == true)); MoveCommand = new AsyncCommand <float>(() => Move(TargetPosition), (p) => RotatorInfo.Connected && RotatorInfo.Synced); MoveMechanicalCommand = new AsyncCommand <float>(() => MoveMechanical(TargetPosition), (p) => RotatorInfo.Connected); HaltCommand = new RelayCommand(Halt); ReverseCommand = new RelayCommand(Reverse); updateTimer = new DeviceUpdateTimer( GetRotatorValues, UpdateRotatorValues, profileService.ActiveProfile.ApplicationSettings.DevicePollingInterval ); profileService.ProfileChanged += (object sender, EventArgs e) => { RefreshRotatorList(null); }; }
public ImagingVM( IProfileService profileService, IImagingMediator imagingMediator, ICameraMediator cameraMediator, ITelescopeMediator telescopeMediator, IFilterWheelMediator filterWheelMediator, IFocuserMediator focuserMediator, IRotatorMediator rotatorMediator, IGuiderMediator guiderMediator, IWeatherDataMediator weatherDataMediator, IApplicationStatusMediator applicationStatusMediator ) : base(profileService) { this.imagingMediator = imagingMediator; this.imagingMediator.RegisterHandler(this); this.cameraMediator = cameraMediator; this.cameraMediator.RegisterConsumer(this); this.telescopeMediator = telescopeMediator; this.telescopeMediator.RegisterConsumer(this); this.filterWheelMediator = filterWheelMediator; this.filterWheelMediator.RegisterConsumer(this); this.focuserMediator = focuserMediator; this.focuserMediator.RegisterConsumer(this); this.rotatorMediator = rotatorMediator; this.rotatorMediator.RegisterConsumer(this); this.guiderMediator = guiderMediator; this.applicationStatusMediator = applicationStatusMediator; this.weatherDataMediator = weatherDataMediator; this.weatherDataMediator.RegisterConsumer(this); progress = new Progress <ApplicationStatus>(p => Status = p); ImageControl = new ImageControlVM(profileService, cameraMediator, telescopeMediator, applicationStatusMediator); }