/// <summary> /// 单击确定按钮,生成二进制DLL /// </summary> /// <returns>是否编译成功</returns> public bool CompileWithOK() { if (this.m_scriptProperty == null) { this.m_scriptProperty = new ScriptProperty(); } //ScriptEditForm activeScriptForm = this.GetScriptEditForm(this.m_scriptProperty.FilePath); ScriptEditForm activeScriptForm = this.ActiveScriptForm; if (activeScriptForm == null) { return(false); } activeScriptForm.Activate(); if (!activeScriptForm.Compile()) { MessageBoxEx.Show("编译失败,请查看错误列表!"); return(false); } //activeScriptForm.IsModified = false; this.m_scriptProperty = activeScriptForm.ScriptProperty; this.ScriptConfig = activeScriptForm.ScriptConfig; return(true); }
/// <summary> /// 打开指定脚本配置信息的脚本 /// </summary> /// <param name="scriptProperty">脚本配置信息</param> internal void OpenScript(ScriptProperty scriptProperty) { if (scriptProperty == null) { return; } string szScriptFile = scriptProperty.FilePath; ScriptEditForm scriptEditForm = this.GetScriptEditForm(szScriptFile); if (scriptEditForm != null) { scriptEditForm.Activate(); scriptEditForm.OnRefreshView(); return; } if (scriptEditForm == null || scriptEditForm.IsDisposed) { scriptEditForm = new ScriptEditForm(this); scriptEditForm.Show(this.dockPanel1, DockState.Document); } scriptEditForm.ScriptProperty = scriptProperty; this.dockPanel1.Update(); if (!scriptEditForm.OpenScriptText(scriptProperty.ScriptText)) { MessageBoxEx.Show("文件打开失败!", MessageBoxIcon.Error); } }
/// <summary> /// 创建一个新的脚本编辑窗口 /// </summary> internal void CreateNewScript() { ScriptNewForm frmNewScript = new ScriptNewForm(); if (frmNewScript.ShowDialog() != DialogResult.OK) { return; } ScriptEditForm scriptEditForm = new ScriptEditForm(this); scriptEditForm.Show(this.dockPanel1, DockState.Document); this.dockPanel1.Update(); string szScriptFile = frmNewScript.FileName; string szScriptText = null; if (!GlobalMethods.IO.GetFileText(szScriptFile, ref szScriptText)) { return; } ScriptProperty scriptProperty = new ScriptProperty(); scriptProperty.ScriptName = frmNewScript.ScriptTitle; scriptEditForm.ScriptProperty = scriptProperty; if (!scriptEditForm.OpenScriptText(szScriptText)) { MessageBoxEx.ShowError("脚本创建失败!"); } }
/// <summary> /// 显示脚本测试窗口 /// </summary> internal void ShowScriptTestForm() { if (this.m_ErrorsListForm != null && !this.m_ErrorsListForm.IsDisposed) { this.m_ErrorsListForm.Close(); } ScriptEditForm activeScriptForm = this.ActiveScriptForm; if (activeScriptForm == null || activeScriptForm.IsDisposed) { return; } ScriptProperty scriptProperty = activeScriptForm.ScriptProperty; if (scriptProperty == null) { scriptProperty = new ScriptProperty(); } ScriptCompiler.Instance.WorkingPath = this.WorkingPath; CompileResults results = ScriptCompiler.Instance.CompileScript(scriptProperty); if (results.HasErrors) { this.ShowCompileErrorForm(results.Errors); MessageBoxEx.Show("编译失败,无法启动测试程序!"); return; } ScriptTestForm scriptTestForm = new ScriptTestForm(); scriptTestForm.ShowDialog(scriptProperty.ScriptName, scriptProperty.ScriptText); }
/// <summary> /// 另存脚本到本地 /// </summary> private void SaveScript() { ScriptEditForm activeScriptForm = this.ActiveScriptForm; if (activeScriptForm != null && !activeScriptForm.IsDisposed) { activeScriptForm.SaveScript(); } }
private void toolbtnUncomment_Click(object sender, EventArgs e) { GlobalMethods.UI.SetCursor(this, Cursors.WaitCursor); ScriptEditForm scriptEditForm = this.ActiveScriptForm; if (scriptEditForm != null) { scriptEditForm.Comment(); } GlobalMethods.UI.SetCursor(this, Cursors.Default); }
/// <summary> /// 打开脚本编辑器窗口 /// </summary> /// <param name="scriptEditForm">脚本编辑器窗口</param> internal void OpenScriptEditForm(ScriptEditForm scriptEditForm) { if (scriptEditForm == null || scriptEditForm.IsDisposed) { return; } this.dockPanel1.Update(); IDockContent content = scriptEditForm as IDockContent; if (content != null) { content.DockHandler.Show(this.dockPanel1); } }
private void ShowScriptEditForm() { if (this.m_ScriptEditForm == null || this.m_ScriptEditForm.IsDisposed) { this.m_ScriptEditForm = new ScriptEditForm(null); this.m_ScriptEditForm.SetAsReadonly(); this.m_ScriptEditForm.TopLevel = false; this.m_ScriptEditForm.FormBorderStyle = FormBorderStyle.None; this.m_ScriptEditForm.Dock = DockStyle.Fill; this.m_ScriptEditForm.Parent = this.panel2; } this.m_ScriptEditForm.Show(); this.m_ScriptEditForm.OnRefreshView(); this.m_ScriptEditForm.BringToFront(); }
/// <summary> /// 显示脚本文本查找结果窗口 /// </summary> /// <param name="scriptEditForm">脚本编辑器窗口</param> /// <param name="szFindText">查找文本</param> /// <param name="results">查找结果集</param> /// <param name="bshowFileName">设置是否显示文件名列</param> internal void ShowFindResultForm(ScriptEditForm scriptEditForm , string szFindText, List <FindResult> results, bool bshowFileName) { GlobalMethods.UI.SetCursor(this, Cursors.WaitCursor); if (this.m_FindResultForm == null || this.m_FindResultForm.IsDisposed) { this.m_FindResultForm = new FindResultForm(this); } this.m_FindResultForm.ScriptEditForm = scriptEditForm; this.m_FindResultForm.FindText = szFindText; this.m_FindResultForm.Results = results; this.m_FindResultForm.Show(this.dockPanel1); this.m_FindResultForm.ShowFileName = bshowFileName; this.m_FindResultForm.OnRefreshView(); GlobalMethods.UI.SetCursor(this, Cursors.Default); }
private void TestScript() { if (this.PatVisitInfo == null) { MessageBoxEx.ShowMessage("请先选择患者"); return; } if (this.QcCheckPoint == null) { MessageBoxEx.ShowMessage("缺陷规则未初始化"); return; } if (this.m_ErrorsListForm != null && !this.m_ErrorsListForm.IsDisposed) { this.m_ErrorsListForm.Close(); } ScriptEditForm activeScriptForm = this.ActiveScriptForm; if (activeScriptForm == null || activeScriptForm.IsDisposed) { return; } ScriptProperty scriptProperty = activeScriptForm.ScriptProperty; if (scriptProperty == null) { scriptProperty = new ScriptProperty(); } ScriptCompiler.Instance.WorkingPath = this.WorkingPath; CompileResults results = ScriptCompiler.Instance.CompileScript(scriptProperty); if (results.HasErrors) { this.ShowCompileErrorForm(results.Errors); MessageBoxEx.Show("编译失败,无法启动测试程序!"); return; } AutoCalcHandler.Instance.Start(); foreach (IElementCalculator item in results.ElementCalculators) { //item.Calculate("A"); AutoCalcHandler.Instance.CalcularTest(item, this.PatVisitInfo, this.QcCheckPoint, this.QcCheckResult); } }
/// <summary> /// 获取指定路径的脚本编辑窗口对象 /// </summary> /// <param name="szFileName">指定路径</param> /// <returns>ScriptEditForm</returns> private ScriptEditForm GetScriptEditForm(string szFileName) { IDockContent[] documents = this.dockPanel1.DocumentsToArray(); for (int index = 0; index < documents.Length; index++) { ScriptEditForm scriptForm = documents[index] as ScriptEditForm; if (scriptForm == null || scriptForm.IsDisposed) { continue; } if (scriptForm.ScriptProperty == null) { continue; } string szFilePath = scriptForm.ScriptProperty.FilePath; if (string.Compare(szFilePath, szFileName, true) == 0) { return(scriptForm); } } return(null); }
/// <summary> /// 显示编译错误列表 /// </summary> internal void ShowCompileErrorForm(CompileErrorCollection errors) { if (errors == null || errors.Count <= 0) { return; } ScriptEditForm activeScriptForm = this.ActiveScriptForm; if (activeScriptForm == null || activeScriptForm.IsDisposed) { return; } if (this.m_ErrorsListForm == null || this.m_ErrorsListForm.IsDisposed) { this.m_ErrorsListForm = new ErrorsListForm(this); this.m_ErrorsListForm.Show(this.dockPanel1, DockState.DockBottom); } this.m_ErrorsListForm.Activate(); this.m_ErrorsListForm.CompileErrors = errors; this.m_ErrorsListForm.ScriptEditForm = activeScriptForm; this.m_ErrorsListForm.OnRefreshView(); }