Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
            }
        }
Пример #3
0
        /// <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("脚本创建失败!");
            }
        }
Пример #4
0
        /// <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);
        }
Пример #5
0
        /// <summary>
        /// 另存脚本到本地
        /// </summary>
        private void SaveScript()
        {
            ScriptEditForm activeScriptForm = this.ActiveScriptForm;

            if (activeScriptForm != null && !activeScriptForm.IsDisposed)
            {
                activeScriptForm.SaveScript();
            }
        }
Пример #6
0
        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);
        }
Пример #7
0
        /// <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);
            }
        }
Пример #8
0
 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();
 }
Пример #9
0
        /// <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);
        }
Пример #10
0
        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);
            }
        }
Пример #11
0
 /// <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);
 }
Пример #12
0
        /// <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();
        }