public XDCalibViewModel(ILocateXD locateXDModel) { _locateXDModel = locateXDModel; _locateXDModel.CanLocateXDChanged += XDCalibViewModel_CanLocateXDChanged; _locateXDModel.XDLocChanged += XDCalibViewModel_XDLocChanged; LocateXD = new DelegateCommand(_locateXDModel.LocateXD, () => { return(_locateXDModel.CanLocateXD); }); }
public MainViewModel( Dispatcher dispatcher, IEventAggregator eventAggregator, ISeriesSelectorController seriesSelectorController, IUiModeChanges uiModeModel, ITargetLocation targetModel, ITransformation transformationInterface, IStripsViewerLayoutController viewerLayoutController, ICalibration calibrationInterface, IMovementDetection movementDetectionModel, ILocateXD locateXDModel, IStripsManager stripsManager, IACPC acpcInterface, IRigidNPR rigidNPRInterface) { _dispatcher = dispatcher; _eventAggregator = eventAggregator; _seriesSelectorController = seriesSelectorController; _uiModeModel = uiModeModel; _uiModeModel.ModeChanged += (s, a) => UiModeChanged?.Invoke(s, a); _uiModeModel.LayerVisiblityChanged += (s, a) => LayerVisibilityChanged?.Invoke(s, a); _viewerLayoutController = viewerLayoutController; _stripsManager = stripsManager; _rigidNPR = rigidNPRInterface; ACPC = new TargetViewModel(targetModel, transformationInterface, calibrationInterface, acpcInterface); MD = new MDViewModel(movementDetectionModel); XDCalib = new XDCalibViewModel(locateXDModel); SwitchLayoutCommand = new DelegateCommand <StripsViewerLayout>(SwitchLayout); AppWorkingOcurredCommand = new DelegateCommand(() => _eventAggregator.GetEvent <AppWorkingEvent>().Publish()); StripsViewerLayouts = new ObservableCollection <StripsViewerLayout>(_viewerLayoutController.Layouts); _seriesSelectorController.SeriesSelected += OnSeriesSelected; _stripsManager.Changed += OnStripsManagerChanged; }