public void notifyFinshed() { showLog((string)FindResource("task_is_finished")); mUiState = mLastUiState; mLastUiState = Constant.UiState.Working; showState(); }
private void showActionBarState(Constant.UiState state) { switch (state) { case Constant.UiState.Working: { this.ActionBtn.IsEnabled = true; this.ActionBtn.Content = FindResource("stop"); this.ResetBtn.IsEnabled = false; this.ClearBtn.IsEnabled = false; } break; case Constant.UiState.AllReady: { this.ActionBtn.IsEnabled = true; this.ActionBtn.Content = FindResource("start"); this.ResetBtn.IsEnabled = true; this.ClearBtn.IsEnabled = true; } break; default: { this.ActionBtn.IsEnabled = false; this.ActionBtn.Content = FindResource("start"); this.ResetBtn.IsEnabled = true; this.ClearBtn.IsEnabled = true; } break; } }
private void showOutputAreaState(Constant.UiState state) { switch (state) { case Constant.UiState.Working: { this.SelectOutputFolderLabel.IsEnabled = false; this.SelectOutputFolderBtn.IsEnabled = false; } break; case Constant.UiState.OutputFolderReady: case Constant.UiState.AllReady: { this.SelectOutputFolderLabel.IsEnabled = true; this.SelectOutputFolderBtn.IsEnabled = true; this.SelectOutputFolderBtn.Content = FindResource("change"); } break; default: { this.SelectOutputFolderLabel.IsEnabled = true; this.SelectOutputFolderLabel.Content = FindResource("please_select_your_output_folder"); this.SelectOutputFolderBtn.IsEnabled = true; this.SelectOutputFolderBtn.Content = FindResource("browser"); } break; } }
/* * Ui状态机相关 */ private void inputFileReady(bool ready) { switch (mUiState) { case Constant.UiState.Idle: { if (ready) { mLastUiState = mUiState; mUiState = Constant.UiState.InputFileReady; showState(); } } break; case Constant.UiState.InputFileReady: { if (!ready) { mLastUiState = mUiState; mUiState = Constant.UiState.Idle; showState(); } } break; case Constant.UiState.OutputFolderReady: { if (ready) { mLastUiState = mUiState; mUiState = Constant.UiState.AllReady; showState(); } } break; case Constant.UiState.AllReady: { if (!ready) { mLastUiState = mUiState; mUiState = Constant.UiState.OutputFolderReady; showState(); } } break; default: // 非法状态, 状态机不响应 break; } }
private void showLogAreaState(Constant.UiState state) { switch (state) { case Constant.UiState.Working: { this.LogTxt.IsEnabled = false; } break; default: { this.LogTxt.IsEnabled = true; } break; } }
private void action() { switch (mUiState) { case Constant.UiState.Working: { // 停止任务, 先停再更新界面 mMainC.stopTask(); mUiState = mLastUiState; mLastUiState = Constant.UiState.Working; showState(); } break; case Constant.UiState.AllReady: { if (!FileTools.isFileExist(this.SelectInputFileLabel) || !FileTools.isFolderExist(this.SelectOutputFolderLabel)) { showTipMessage((string)FindResource("please_select_valid_file_and_folder")); return; } clear(); // 每次开始前清空上一次执行日志 // 开始任务, 先更新界面再开始 mLastUiState = mUiState; mUiState = Constant.UiState.Working; showState(); mMainC.startTask(this.SelectInputFileLabel.Content.ToString(), this.SelectOutputFolderLabel.Content.ToString()); } break; default: { // 非法状态, 状态机有误 showTipMessage((string)FindResource("state_error")); } break; } }
private void reset() { switch (mUiState) { case Constant.UiState.Working: { // 非法状态, 状态机有误 showTipMessage((string)FindResource("state_error")); } break; default: { mLastUiState = mUiState; mUiState = Constant.UiState.Idle; showState(); // 清空日志 clear(); } break; } }