/// <summary> /// Set parameters and start/stop the measurement. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void BtnMeasure_Click(object sender, EventArgs e) { if (initializationState != InitializationState.Connected) { My_msg("Initialize spectrometer first!"); return; } switch (measuringState) { case MeasuringState.Idle: SpectrometricThermometer.Parameters parameters; try { parameters = SpectrometricThermometer.Parameters.Parse( save: chBoxSave.Checked, rewrite: chBoxRewrite.Checked, filenameIndex: tBoxFilenameIndex.Text, periodLength: tBoxPeriod.Text, average: tBoxAverage.Text, exposureTime: tBoxExposureTime.Text, adaptation: chBoxAutoExposureTime.Checked, filename: tBoxFilename.Text, delimiter: constants.Delimiter); } catch (ArgumentException ex) { My_msg(ex.Message); return; } if (spectrometricThermometer.BtnStartMeasurement(parameters)) { measuringState = MeasuringState.Measuring; } break; case MeasuringState.Measuring: if (spectrometricThermometer.BtnStopMeasurement()) { LabelBold(lblAutoExposureTime, false); LabelBold(lblAverage, false); My_msg("Stop"); if (chBoxPID.Checked) // No regulation without new data. { chBoxPID.Checked = false; My_msg("PID stopped (no new data)!"); } measuringState = MeasuringState.Idle; } break; default: break; } pnlMain.Enabled = measuringState == MeasuringState.Idle; // Disable settings while measuring. btnMeasure.Text = constants.BtnMeasureText[(int)measuringState]; }
public Controller(IModel model, Form mainForm, IView view) { this.mainForm = mainForm; this.model = model; this.view = view; commandLineParser = new CommandLineParser(this); networkClient = new NetworkClient(model.NetworkClient); videoConferencingClient = new VideoConferencingClient(this); dieSimulator = new DieSimulator(); DraggingPieceState = new DraggingPieceState(this); DraggingStackState = new DraggingStackState(this); IdleState = new IdleState(this); MeasuringState = new MeasuringState(this); MovingState = new MovingState(this); ScrollingState = new ScrollingState(this); SelectingPieceState = new SelectingPieceState(this); SelectingStackState = new SelectingStackState(this); DialogState = new DialogState(this); ResizingHandState = new ResizingHandState(this); DraggingHandPieceState = new DraggingHandPieceState(this); state = IdleState; view.Menu.ShowMenuSwitch = new ZunTzu.Visualization.MenuItem(null, false, new Menu.ShowMenuSwitchMenuItem()); mainForm.Closing += new CancelEventHandler(onMainFormClosing); mainForm.KeyPress += new KeyPressEventHandler(onKeyPress); mainForm.KeyDown += new KeyEventHandler(onKeyDown); mainForm.KeyUp += new KeyEventHandler(onKeyUp); mainForm.MouseDown += new MouseEventHandler(onMouseDown); mainForm.MouseMove += new MouseEventHandler(onMouseMove); mainForm.MouseUp += new MouseEventHandler(onMouseUp); mainForm.MouseDoubleClick += new MouseEventHandler(onMouseDoubleClick); mainForm.MouseWheel += new MouseEventHandler(onMouseWheel); //view.Tabs.BoardSelected += new BoardSelectedHandler(onBoardSelected); view.Prompter.TextEntered += new TextEnteredHandler(onTextEntered); }