예제 #1
0
        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;
            }
        }
예제 #2
0
 public AppStateMachine(GlobalInfo globalInfo, AudioAnalyzerForm audioAnalyzerForm)
 {
     _boardStatus            = BoardStatus.Disconnect;
     _analyzeStatus          = AnalyzeStatus.Idle;
     this._globalInfo        = globalInfo;
     this._audioAnalyzerForm = audioAnalyzerForm;
     this._taskRunning       = false;
 }
예제 #3
0
 internal void SetOperationStatus(AnalyzeStatus status)
 {
     _analyzeStatus    = status;
     this._taskRunning = true;
     if (_audioAnalyzerForm.InvokeRequired)
     {
         _audioAnalyzerForm.Invoke(new Action(DisableAudioForm));
     }
     else
     {
         DisableAudioForm();
     }
 }