private void RunBtn_Click(object sender, RoutedEventArgs e)
        {
            if (Defined.UiState.Doing == mUiState)
            {
                taskCompleted();
                return;
            }

            if (!isAllValidBeforeStart(mUiState))
            {
                showTipMessage((string)FindResource("can_not_start_because_of_some_invalid_inputs"));
                return;
            }

            List <Operate> list = buildOperateListFromUi();

            if (null == list)
            {
                showTipMessage((string)FindResource("can_not_start_because_of_build_list_failed"));
                return;
            }
            mLastUiState = mUiState;
            mUiState     = Defined.UiState.Doing;
            showCurState(mUiState);

            mMainC.startGenerate(list, mLogM);
            return;
        }
Example #2
0
        public override void showState(Defined.UiState state)
        {
            if (!isInited())
            {
                return;
            }

            switch (state)
            {
            case Defined.UiState.SelectedFirmware:
            case Defined.UiState.SelectedTemplate:
            case Defined.UiState.SelectedTool:
            case Defined.UiState.SelectedFirmwareAndTool:
            case Defined.UiState.Doing:
            {
                mLogTextBox.IsEnabled  = true;
                mLogTextBox.IsReadOnly = true;
            }
            break;

            case Defined.UiState.Idle:
            default:
            {
                mLogTextBox.IsEnabled  = false;
                mLogTextBox.IsReadOnly = true;
            }
            break;
            }
        }
        private void PublishTool_OnCheck(object sender, RoutedEventArgs e)
        {
            switch (mUiState)
            {
            case Defined.UiState.SelectedTemplate:
            case Defined.UiState.SelectedTool:
            {
                mLastUiState = mUiState;
                mUiState     = mToolM.isNeedPublish() ?
                               Defined.UiState.SelectedTool :
                               Defined.UiState.SelectedTemplate;
            }
            break;

            case Defined.UiState.SelectedFirmware:
            case Defined.UiState.SelectedFirmwareAndTool:
            {
                mLastUiState = mUiState;
                mUiState     = mToolM.isNeedPublish() ?
                               Defined.UiState.SelectedFirmwareAndTool :
                               Defined.UiState.SelectedFirmware;
            }
            break;

            default:
                break;
            }

            showCurState(mUiState);
        }
Example #4
0
        public override bool isValid(Defined.UiState state)
        {
            if (!isInited())
            {
                return(false);
            }

            switch (state)
            {
            case Defined.UiState.SelectedTool:
            case Defined.UiState.SelectedFirmwareAndTool:
            {
                if (isValidToolFile(mToolLabel.Content.ToString()))
                {
                    return(true);
                }
            }
            break;

            case Defined.UiState.SelectedTemplate:
            case Defined.UiState.SelectedFirmware:
            case Defined.UiState.Doing:
            case Defined.UiState.Idle:
            default:
                break;
            }

            return(false);
        }
        public override void showState(Defined.UiState state)
        {
            if (!isInited())
            {
                return;
            }

            switch (state)
            {
            case Defined.UiState.Doing:
            {
                mTemplateRootBtn.IsEnabled = false;
            }
            break;

            case Defined.UiState.SelectedFirmware:
            case Defined.UiState.SelectedFirmwareAndTool:
            case Defined.UiState.SelectedTemplate:
            case Defined.UiState.SelectedTool:

            {
                mTemplateRootBtn.IsEnabled = true;
            }
            break;

            case Defined.UiState.Idle:
            default:
            {
                mTemplateRootLabel.IsEnabled = true;
                mTemplateRootLabel.Content   = mWin.FindResource("please_select_template_root");
                mTemplateRootBtn.IsEnabled   = true;
            }
            break;
            }
        }
 /*
  * 外部可操作函数 ---------------------------------------------------------
  */
 public void taskCompleted()
 {
     // 停止
     mUiState     = mLastUiState;
     mLastUiState = Defined.UiState.Doing;
     showCurState(mUiState);
     mMainC.stopGenerate();
 }
 private void showCurState(Defined.UiState state)
 {
     mTemplateRootM.showState(state);
     mFirmwareM.showState(state);
     mToolM.showState(state);
     mLogM.showState(state);
     mActionBarM.showState(state);
 }
Example #8
0
        public override bool isValid(Defined.UiState state)
        {
            if (!isInited())
            {
                return(false);
            }

            return(true);
        }
Example #9
0
        public override void showState(Defined.UiState state)
        {
            if (!isInited())
            {
                return;
            }

            switch (state)
            {
            case Defined.UiState.SelectedFirmware:
            case Defined.UiState.SelectedFirmwareAndTool:
            {
                mPublishFirmwareCb.IsEnabled = true;
                mFirmwareImgBtn.IsEnabled    = true;
                mFirmwareZipBtn.IsEnabled    = true;
            }
            break;

            case Defined.UiState.SelectedTemplate:
            case Defined.UiState.SelectedTool:
            {
                mPublishFirmwareCb.IsEnabled = true;
                mFirmwareImgBtn.IsEnabled    = false;
                mFirmwareZipBtn.IsEnabled    = false;
            }
            break;

            case Defined.UiState.Doing:
            {
                mPublishFirmwareCb.IsEnabled = false;
                mFirmwareImgBtn.IsEnabled    = false;
                mFirmwareZipBtn.IsEnabled    = false;
            }
            break;

            case Defined.UiState.Idle:
            default:
            {
                mFirmwareImgLabel.IsEnabled = true;
                mFirmwareZipLabel.IsEnabled = true;
                mFirmwareImgLabel.Content   = mWin.FindResource("please_select_img_file");
                mFirmwareZipLabel.Content   = mWin.FindResource("please_select_zip_file");

                mFirmwareImgBtn.IsEnabled = false;
                mFirmwareZipBtn.IsEnabled = false;

                mPublishFirmwareCb.IsEnabled = false;
                mPublishFirmwareCb.IsChecked = false;
            }
            break;
            }
        }
        private bool isAllValidBeforeStart(Defined.UiState state)
        {
            switch (state)
            {
            case Defined.UiState.SelectedFirmware:
            {
                if (mTemplateRootM.isValid(state) &&
                    mFirmwareM.isValid(state) &&
                    mLogM.isValid(state) &&
                    mActionBarM.isValid(state))
                {
                    return(true);
                }
            }
            break;

            case Defined.UiState.SelectedTool:
            {
                if (mTemplateRootM.isValid(state) &&
                    mToolM.isValid(state) &&
                    mLogM.isValid(state) &&
                    mActionBarM.isValid(state))
                {
                    return(true);
                }
            }
            break;

            case Defined.UiState.SelectedFirmwareAndTool:
            {
                if (mTemplateRootM.isValid(state) &&
                    mFirmwareM.isValid(state) &&
                    mToolM.isValid(state) &&
                    mLogM.isValid(state) &&
                    mActionBarM.isValid(state))
                {
                    return(true);
                }
            }
            break;

            default:
                break;
            }
            return(false);
        }
Example #11
0
        public override void showState(Defined.UiState state)
        {
            if (!isInited())
            {
                return;
            }

            switch (state)
            {
            case Defined.UiState.SelectedFirmware:
            case Defined.UiState.SelectedTemplate:
            case Defined.UiState.SelectedTool:
            case Defined.UiState.SelectedFirmwareAndTool:
            {
                mRunBtn.IsEnabled = true;
                mRunBtn.Content   = (string)mWin.FindResource("start");

                mResetBtn.IsEnabled = true;
                mClearBtn.IsEnabled = true;
            }
            break;

            case Defined.UiState.Doing:
            {
                mRunBtn.IsEnabled = true;
                mRunBtn.Content   = (string)mWin.FindResource("stop");

                mResetBtn.IsEnabled = false;
                mClearBtn.IsEnabled = false;
            }
            break;

            case Defined.UiState.Idle:
            default:
            {
                mRunBtn.IsEnabled = false;
                mRunBtn.Content   = (string)mWin.FindResource("start");

                mResetBtn.IsEnabled = false;
                mClearBtn.IsEnabled = false;
            }
            break;
            }
        }
        /*
         * 界面交互函数 -------------------------------------------------------------
         */
        private void SelectTemplateRootBtn_Click(object sender, RoutedEventArgs e)
        {
            string selectedPath = showSelectPathDialog(
                (string)FindResource("please_select_template_root"));

            if (null == selectedPath)
            {
                return;
            }

            mTemplateRootM.setSelectedPath(selectedPath);
            if (!mTemplateRootM.isValid(Defined.UiState.SelectedTemplate))
            {
                mTemplateRootM.resetSelectedPath();
                showTipMessage((string)FindResource("selected_path_is_invalid"));
                return;
            }

            mLastUiState = mUiState;
            mUiState     = Defined.UiState.SelectedTemplate;
            showCurState(mUiState);
        }
Example #13
0
 public override List <Operate> getOperates(Defined.UiState state)
 {
     return(null);
 }
Example #14
0
 public abstract List <Operate> getOperates(Defined.UiState state);
Example #15
0
 public abstract bool isValid(Defined.UiState state);
Example #16
0
 public abstract void showState(Defined.UiState state);
Example #17
0
        public override List <Operate> getOperates(Defined.UiState state)
        {
            if (!isInited())
            {
                return(null);
            }

            if (Defined.UiState.SelectedTool != state &&
                Defined.UiState.SelectedFirmwareAndTool != state)
            {
                return(null);
            }

            // 只生成列表, 不具体计算, 避免主线程开销
            List <Operate> list = new List <Operate>();

            // Tool file
            Operate curOp = new Operate();

            curOp.type  = Defined.OperateType.CheckItem;
            curOp.key   = Defined.KeyName.ToolFileName.ToString();
            curOp.value = System.IO.Path.GetFileName(
                mToolLabel.Content.ToString());
            list.Add(curOp);

            curOp.type  = Defined.OperateType.ToolItemNeedCopy;
            curOp.key   = Defined.KeyName.ToolFileName.ToString();
            curOp.value = mToolLabel.Content.ToString();
            list.Add(curOp);

            curOp       = new Operate();
            curOp.type  = Defined.OperateType.CalcFileVersion;
            curOp.key   = Defined.KeyName.ToolVersion.ToString();
            curOp.value = mToolLabel.Content.ToString();
            list.Add(curOp);

            curOp       = new Operate();
            curOp.type  = Defined.OperateType.CalcFileMd5;
            curOp.key   = Defined.KeyName.ToolFileMd5.ToString();
            curOp.value = mToolLabel.Content.ToString();
            list.Add(curOp);

            curOp       = new Operate();
            curOp.type  = Defined.OperateType.CalcFileModifiedTime;
            curOp.key   = Defined.KeyName.ToolFileModifiedTime.ToString();
            curOp.value = mToolLabel.Content.ToString();
            list.Add(curOp);

            curOp       = new Operate();
            curOp.type  = Defined.OperateType.CalcFileSizeByBytes;
            curOp.key   = Defined.KeyName.ToolFileSizeByBytes.ToString();
            curOp.value = mToolLabel.Content.ToString();
            list.Add(curOp);

            curOp       = new Operate();
            curOp.type  = Defined.OperateType.CalcFileSizeByMBs;
            curOp.key   = Defined.KeyName.ToolFileSizeByMBs.ToString();
            curOp.value = mToolLabel.Content.ToString();
            list.Add(curOp);

            return(list);
        }
 private void ResetBtn_Click(object sender, RoutedEventArgs e)
 {
     mUiState = Defined.UiState.Idle;
     showCurState(mUiState);
 }
        public override List <Operate> getOperates(Defined.UiState state)
        {
            if (!isInited())
            {
                return(null);
            }

            if (Defined.UiState.SelectedFirmware != state &&
                Defined.UiState.SelectedTool != state &&
                Defined.UiState.SelectedFirmwareAndTool != state)
            {
                return(null);
            }

            // 只生成列表, 不具体计算, 避免主线程开销
            List <Operate> list = new List <Operate>();

            // Template Root
            Operate curOp = new Operate();

            curOp.type  = Defined.OperateType.LoadTempalteParams;
            curOp.key   = Defined.KeyName.TemplateRoot.ToString();
            curOp.value = mTemplateRootLabel.Content.ToString();
            list.Add(curOp);

            List <FileInfo> fileList = getAllFiles(
                mTemplateRootLabel.Content.ToString(), 0);

            foreach (FileInfo file in fileList)
            {
                if (System.IO.Path.GetFileNameWithoutExtension(file.FullName).Equals(
                        mWin.FindResource("template_params_file_name")))
                {
                    // 跳过PDM参数文件
                    continue;
                }

                if (file.DirectoryName.Contains((string)mWin.FindResource("output_folder_firmware")))
                {
                    if (Defined.UiState.SelectedFirmware == state ||
                        Defined.UiState.SelectedFirmwareAndTool == state)
                    {
                        curOp       = new Operate();
                        curOp.type  = Defined.OperateType.InputFile;
                        curOp.key   = Defined.KeyName.TemplateFirmwareFile.ToString();
                        curOp.value = file.FullName;
                        list.Add(curOp);
                    }
                }
                else if (file.DirectoryName.Contains((string)mWin.FindResource("output_folder_tool")))
                {
                    if (Defined.UiState.SelectedTool == state ||
                        Defined.UiState.SelectedFirmwareAndTool == state)
                    {
                        curOp       = new Operate();
                        curOp.type  = Defined.OperateType.InputFile;
                        curOp.key   = Defined.KeyName.TemplateToolFile.ToString();
                        curOp.value = file.FullName;
                        list.Add(curOp);
                    }
                }
                else
                {
                    curOp       = new Operate();
                    curOp.type  = Defined.OperateType.InputFile;
                    curOp.key   = Defined.KeyName.TemplateRootFile.ToString();
                    curOp.value = file.FullName;
                    list.Add(curOp);
                }
            }
            return(list);
        }