Esempio n. 1
0
 public void notifyFinshed()
 {
     showLog((string)FindResource("task_is_finished"));
     mUiState     = mLastUiState;
     mLastUiState = Constant.UiState.Working;
     showState();
 }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
0
        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;
            }
        }
Esempio n. 4
0
        /*
         * 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;
            }
        }
Esempio n. 5
0
        private void showLogAreaState(Constant.UiState state)
        {
            switch (state)
            {
            case Constant.UiState.Working:
            {
                this.LogTxt.IsEnabled = false;
            }
            break;

            default:
            {
                this.LogTxt.IsEnabled = true;
            }
            break;
            }
        }
Esempio n. 6
0
        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;
            }
        }
Esempio n. 7
0
        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;
            }
        }