internal void Flip(bool operationDone) { this._taskRunning = false; if (BoardStatus.Disconnect == _boardStatus) { // 需要更新界面状态,所以使用属性配置 AnalyzerStatus = AnalyzeStatus.Idle; return; } // 需要更新界面状态,所以使用属性配置 switch (_analyzeStatus) { case AnalyzeStatus.Idle: AnalyzerStatus = operationDone ? AnalyzeStatus.DataAcquisition : AnalyzeStatus.Idle; break; case AnalyzeStatus.DataAcquisition: AnalyzerStatus = operationDone ? AnalyzeStatus.DataAcquisition : AnalyzeStatus.Idle; break; case AnalyzeStatus.Analyze: AnalyzerStatus = operationDone ? AnalyzeStatus.Idle : AnalyzeStatus.DataAcquisition; break; default: break; } }
public AppStateMachine(GlobalInfo globalInfo, AudioAnalyzerForm audioAnalyzerForm) { _boardStatus = BoardStatus.Disconnect; _analyzeStatus = AnalyzeStatus.Idle; this._globalInfo = globalInfo; this._audioAnalyzerForm = audioAnalyzerForm; this._taskRunning = false; }
internal void SetOperationStatus(AnalyzeStatus status) { _analyzeStatus = status; this._taskRunning = true; if (_audioAnalyzerForm.InvokeRequired) { _audioAnalyzerForm.Invoke(new Action(DisableAudioForm)); } else { DisableAudioForm(); } }