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; }
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); }
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); }
public override bool isValid(Defined.UiState state) { if (!isInited()) { return(false); } return(true); }
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); }
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); }
public override List <Operate> getOperates(Defined.UiState state) { return(null); }
public abstract List <Operate> getOperates(Defined.UiState state);
public abstract bool isValid(Defined.UiState state);
public abstract void showState(Defined.UiState state);
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); }