Exemplo n.º 1
0
        public MainWindowVM()
        {
            base.DisplayName = "MainWindowViewModel";

            StatusVM      = new StatusViewModel();
            StatusVM.Busy = 0;

            CameraVM       = new CameraViewModel(StatusVM);
            XYZMotorVM     = new XYZAxesViewModel(StatusVM);
            SpectrometerVM = new SpectrometerViewModel(StatusVM);
            MeasurementVM  = new MeasurementViewModel(CameraVM, XYZMotorVM, SpectrometerVM, StatusVM);

            CameraVM.AddCameraConnectedSubscriber(new CameraConnectionHandler(OnCameraConnected));
            CameraVM.AddRemoveRectMarkerEventSubscriber(new RemoveRectMarkerHandler(MeasurementVM.OnRemovePointListOnRectMarker));
        }
Exemplo n.º 2
0
        public MeasurementViewModel(CameraViewModel cameraVM, XYZAxesViewModel xyzAxesVM, SpectrometerViewModel spectrometerVM, StatusViewModel statusVM)
        {
            base.DisplayName = "MeasurementViewModel";
            _cameraVM        = cameraVM;
            _xyzAxesVM       = xyzAxesVM;
            _spectrometerVM  = spectrometerVM;
            _statusVM        = statusVM;

            CommandCalibrateRefPoint   = new RelayCommand(param => CalibrateRefPoint(), cc => { return(!_statusVM.IsBusy); });
            CommandCalibrate           = new RelayCommand(param => Calibrate(), cc => { return(!_statusVM.IsBusy); });
            CommandCameraSettings      = new RelayCommand(param => EditCameraSettings());
            CommandMeasure             = new RelayCommand(param => Measure(), cc => { return(!_statusVM.IsBusy); });
            CommandMotorSettings       = new RelayCommand(param => EditMotorSettings());
            CommandDisplayMarkedPoints = new RelayCommand(param => DisplayMarkedPoints());
            CommandBatchMeasure        = new RelayCommand(param => BatchMeasure(), cc => { return(_xyzAxesVM.PositionCount > 1 && !_statusVM.IsBusy); });
            CommandToggleLaser         = new RelayCommand(param => ToggleLaser());
            CommandSpectrumSettings    = new RelayCommand(param => EditSpectrumSettings(), cc => { return(_spectrometerVM.SpectrometerConnected); });
            CommandToggleLED           = new RelayCommand(param => ToggleLED());
            CommandMappingMeasure      = new RelayCommand(param => MappingMeasure());
        }