示例#1
0
        private void edittToolStripButton_Click(object sender, EventArgs e)
        {
            // Create the ScriptEditControl and initialize it with the diagram's ScriptingManager instance
            ScriptEditForm    scripteditform = new ScriptEditForm();
            ScriptEditControl scriptedit     = scripteditform.ScriptEditControl;

            scriptedit.InitializeScriptEditor(this.scriptingMgr);
            // Disable external compilation
            scriptedit.EnableExternalCompile = true;
            // Show the ScriptEditForm as a modal dialog
            scripteditform.ShowDialog(this);
            scripteditform.Dispose();
        }
示例#2
0
        private void btnReplace_Click(object sender, EventArgs e)
        {
            if (this.MainForm == null || this.MainForm.IsDisposed)
            {
                return;
            }

            ScriptEditForm scriptEditForm = this.MainForm.ActiveScriptForm as ScriptEditForm;

            if (scriptEditForm != null && !scriptEditForm.IsDisposed)
            {
                scriptEditForm.ReplaceText(this.txtFindText.Text, this.txtReplaceText.Text, this.chkMatchCase.Checked, false);
            }
        }
 private void RepositoryItemOnButtonClick(object sender, ButtonPressedEventArgs buttonPressedEventArgs)
 {
     if (buttonPressedEventArgs.Button.Kind == ButtonPredefines.Ellipsis)
     {
         var scriptForm = new ScriptEditForm();
         scriptForm.Script = ((BaseEdit)sender).EditValue != null
             ? ((BaseEdit)sender).EditValue.ToString()
             : "";
         if (scriptForm.ShowDialog() == DialogResult.OK)
         {
             ((BaseEdit)sender).EditValue = scriptForm.Script;
         }
     }
 }
示例#4
0
        private void btnReplaceAll_Click(object sender, EventArgs e)
        {
            if (this.MainForm == null || this.MainForm.IsDisposed)
            {
                return;
            }

            ScriptEditForm scriptEditForm = this.MainForm.ActiveScriptForm as ScriptEditForm;

            if (scriptEditForm != null && !scriptEditForm.IsDisposed)
            {
                GlobalMethods.UI.SetCursor(this, Cursors.WaitCursor);
                scriptEditForm.ReplaceText(this.txtFindText.Text, this.txtReplaceText.Text, this.chkMatchCase.Checked, true);
                GlobalMethods.UI.SetCursor(this, Cursors.Default);
            }
        }
示例#5
0
        //internal short OpenTemplet(string szFileName)
        //{
        //    if (string.IsNullOrEmpty(szFileName))
        //        return SystemData.ReturnValue.PARAM_ERROR;
        //    ScriptEditForm designEditForm = new ScriptEditForm(this.MainForm);
        //    designEditForm.FlagCode = Guid.NewGuid().ToString();
        //    this.MainForm.OpenScriptEditForm(designEditForm);

        //    return designEditForm.Open(szFileName) ?
        //        SystemData.ReturnValue.OK : SystemData.ReturnValue.FAILED;
        //}

        internal short OpenTemplet()
        {
            OpenFileDialog openDialog = new OpenFileDialog();

            openDialog.Filter      = "脚本模板(*.vbs)|*.vbs|所有文件(*.*)|*.*";
            openDialog.FilterIndex = 1;
            if (openDialog.ShowDialog() != DialogResult.OK)
            {
                return(SystemData.ReturnValue.CANCEL);
            }

            ScriptEditForm designEditForm = new ScriptEditForm(this.MainForm);

            designEditForm.FlagCode = Guid.NewGuid().ToString();
            this.MainForm.OpenScriptEditForm(designEditForm);

            return(designEditForm.OpenScriptFile(openDialog.FileName) ?
                   SystemData.ReturnValue.OK : SystemData.ReturnValue.FAILED);
        }
示例#6
0
        internal bool OpenDesignEditForm(ScriptEditForm scriptForm)
        {
            if (scriptForm == null || scriptForm.IsDisposed)
            {
                return(false);
            }

            DesignEditForm designEditForm = this.GetDesignForm(scriptForm);

            if (designEditForm != null)
            {
                designEditForm.DockHandler.Activate();
                return(true);
            }
            designEditForm          = new DesignEditForm(this.m_mainForm);
            designEditForm.FlagCode = scriptForm.FlagCode;
            this.MainForm.OpenDesignEditForm(designEditForm);
            return(designEditForm.Open(scriptForm.ReportTemplet, scriptForm.HndfFile));
        }
示例#7
0
        internal bool OpenScriptEditForm(DesignEditForm designForm)
        {
            if (designForm == null || designForm.IsDisposed)
            {
                return(false);
            }

            ScriptEditForm scriptEditForm = this.GetScriptForm(designForm);

            if (scriptEditForm != null)
            {
                scriptEditForm.DockHandler.Activate();
                return(true);
            }
            scriptEditForm          = new ScriptEditForm(this.MainForm);
            scriptEditForm.FlagCode = designForm.FlagCode;
            this.MainForm.OpenScriptEditForm(scriptEditForm);
            return(scriptEditForm.Open(designForm.ReportTemplet, designForm.HndfFile));
        }
示例#8
0
        //internal short OpenTemplet(DocTypeInfo docTypeInfo)
        //{
        //    if (docTypeInfo == null)
        //        return SystemData.ReturnValue.FAILED;

        //    DesignEditForm designEditForm = this.GetDesignForm(docTypeInfo);
        //    if (designEditForm != null)
        //    {
        //        designEditForm.Activate();
        //        return SystemData.ReturnValue.OK;
        //    }
        //    designEditForm = new DesignEditForm(this.MainForm);
        //    designEditForm.FlagCode = Guid.NewGuid().ToString();
        //    this.MainForm.OpenDesignEditForm(designEditForm);

        //    string szDocTypeID = docTypeInfo.DocTypeID;
        //    string szHndfFile = string.Format("{0}\\Cache\\{1}.hndt"
        //        , GlobalMethods.Misc.GetWorkingPath(), szDocTypeID);

        //    byte[] byteTempletData = null;
        //    //short shRet = TempletService.Instance.GetFormTemplet(szDocTypeID, ref byteTempletData);
        //    //if (shRet != SystemData.ReturnValue.OK)
        //    //    return shRet;

        //    GlobalMethods.IO.WriteFileBytes(szHndfFile, byteTempletData);
        //    return designEditForm.Open(docTypeInfo, szHndfFile) ?
        //        SystemData.ReturnValue.OK : SystemData.ReturnValue.FAILED;
        //}

        /// <summary>
        /// 保存当前正在编辑的模板文件
        /// </summary>
        /// <returns>bool</returns>
        internal bool SaveTemplet()
        {
            ScriptEditForm scriptEditForm = this.ActiveScript;

            if (scriptEditForm == null)
            {
                return(false);
            }
            FormFileParser parser = new FormFileParser();

            string szScriptSource = scriptEditForm.ScriptProperty.ScriptText;

            byte[] byteScriptData = scriptEditForm.ScriptProperty.ScriptData;

            DialogResult result = MessageBoxEx.ShowQuestion("是否提交到服务器?"
                                                            + "\r\n提交到服务器,请点击“是”按钮!\r\n仅保存到本地,请点击“否”按钮!");

            if (result == DialogResult.Cancel)
            {
                return(false);
            }
            bool success = true;

            if (result == DialogResult.No)
            {
                success = this.SaveTempletToLocal(szScriptSource);
            }
            else
            {
                success = this.SaveTempletToServer(szScriptSource, byteScriptData);
            }
            if (success)
            {
                if (scriptEditForm != null)
                {
                    scriptEditForm.IsModified = false;
                }
                //ScriptCache.Instance.Dispose();
                //ScriptCache.Instance.Initialize();
            }
            return(success);
        }
示例#9
0
 internal ScriptEditForm GetScriptForm(ScriptConfig scriptConfig)
 {
     if (this.MainForm == null)
     {
         return(null);
     }
     foreach (IDockContent content in this.MainForm.Documents)
     {
         ScriptEditForm scriptForm = content as ScriptEditForm;
         if (scriptForm == null || scriptForm.ScriptConfig == null)
         {
             continue;
         }
         if (scriptForm.ScriptConfig.SCRIPT_ID == scriptConfig.SCRIPT_ID)
         {
             return(scriptForm);
         }
     }
     return(null);
 }
示例#10
0
        private void btnFind_Click(object sender, EventArgs e)
        {
            if (this.MainForm == null || this.MainForm.IsDisposed)
            {
                return;
            }
            ScriptEditForm scriptEditForm = this.MainForm.ActiveScriptForm;

            if (this.chkCheckAllTemple.Checked)
            {
                if (scriptEditForm != null && !scriptEditForm.IsDisposed)
                {
                    scriptEditForm.FindTextInAllTemplet(this.txtFindText.Text, this.chkMatchCase.Checked);
                }
                return;
            }
            if (scriptEditForm != null && !scriptEditForm.IsDisposed)
            {
                scriptEditForm.FindText(this.txtFindText.Text, this.chkMatchCase.Checked);
            }
        }
示例#11
0
        internal short OpenScriptConfig(ScriptConfig scriptConfig)
        {
            if (scriptConfig == null)
            {
                return(SystemData.ReturnValue.FAILED);
            }

            ScriptEditForm scriptEditForm = this.GetScriptForm(scriptConfig);

            if (scriptEditForm != null)
            {
                scriptEditForm.Activate();
                return(SystemData.ReturnValue.OK);
            }
            scriptEditForm              = new ScriptEditForm(this.MainForm);
            scriptEditForm.FlagCode     = Guid.NewGuid().ToString();
            scriptEditForm.ScriptConfig = scriptConfig;

            this.MainForm.OpenScriptEditForm(scriptEditForm);

            string szScriptID = scriptConfig.SCRIPT_ID;
            string szHndfFile = string.Format("{0}\\Cache\\{1}.vbs"
                                              , GlobalMethods.Misc.GetWorkingPath(), szScriptID);

            string byteTempletData = null;

            if (szScriptID != string.Empty)
            {
                short shRet = ScriptConfigAccess.Instance.GetScriptSource(szScriptID, ref byteTempletData);
                if (shRet != SystemData.ReturnValue.OK)
                {
                    return(shRet);
                }
            }

            GlobalMethods.IO.WriteFileText(szHndfFile, byteTempletData);
            return(scriptEditForm.OpenScriptFile(szHndfFile) ?
                   SystemData.ReturnValue.OK : SystemData.ReturnValue.FAILED);
        }
示例#12
0
        private void dataTableView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex < 0 || e.ColumnIndex < 0)
            {
                return;
            }
            DataGridViewRow row = this.dataTableView1.Rows[e.RowIndex];

            if (row == null || row.Index < 0)
            {
                return;
            }
            FindResult result = row.Tag as FindResult;


            if (result.FileType == SystemData.FileType.SCRIPT)
            {
                ScriptConfig scriptConfig = new ScriptConfig();
                scriptConfig.SCRIPT_ID   = result.TempletID;
                scriptConfig.SCRIPT_NAME = result.TempletName;
                this.m_ScriptEditForm    = ScriptHandler.Instance.GetScriptForm(scriptConfig);
                if (this.m_ScriptEditForm == null)
                {
                    ScriptHandler.Instance.OpenScriptConfig(scriptConfig);
                    this.m_ScriptEditForm = this.DebuggerForm.ActiveScriptForm;
                    Application.DoEvents();
                }
            }
            if (result == null)
            {
                return;
            }
            if (this.m_ScriptEditForm != null && !this.m_ScriptEditForm.IsDisposed)
            {
                this.m_ScriptEditForm.LocateToText(result.Offset, result.Length);
            }
            this.dataTableView1.SelectRow(e.RowIndex);
        }
示例#13
0
 internal DesignEditForm GetDesignForm(ScriptEditForm scriptForm)
 {
     if (this.MainForm == null || scriptForm == null)
     {
         return(null);
     }
     foreach (IDockContent content in this.MainForm.Documents)
     {
         DesignEditForm designForm = content as DesignEditForm;
         if (designForm == null)
         {
             continue;
         }
         if (designForm.FlagCode == scriptForm.FlagCode)
         {
             return(designForm);
         }
         if (designForm.HndfFile == scriptForm.HndfFile)
         {
             return(designForm);
         }
     }
     return(null);
 }
示例#14
0
        /// <summary>
        /// 保存当前正在编辑的模板文件
        /// </summary>
        /// <returns>bool</returns>
        internal bool SaveReport()
        {
            DesignEditForm designForm = this.ActiveReport;
            ScriptEditForm scriptForm = this.ActiveScript;

            if (scriptForm == null && designForm == null)
            {
                return(false);
            }

            if (designForm != null)
            {
                scriptForm = this.GetScriptForm(designForm);
            }
            else if (scriptForm != null)
            {
                designForm = this.GetDesignForm(scriptForm);
            }

            ReportFileParser parser       = new ReportFileParser();
            string           szScriptData = null;

            if (scriptForm != null)
            {
                szScriptData = scriptForm.Save();
            }
            else
            {
                szScriptData = parser.GetScriptData(designForm.HndfFile);
            }

            string szDesignData = null;

            if (designForm != null)
            {
                designForm.Save(ref szDesignData);
            }
            else
            {
                szDesignData = parser.GetDesignData(scriptForm.HndfFile);
            }

            byte[] byteTempletData = null;
            parser.MakeReportData(szDesignData, szScriptData, out byteTempletData);

            DialogResult result = MessageBoxEx.ShowQuestion("是否提交到服务器?"
                                                            + "\r\n提交到服务器,请点击“是”按钮!\r\n仅保存到本地,请点击“否”按钮!");

            if (result == DialogResult.Cancel)
            {
                return(false);
            }
            bool success = true;

            if (result == DialogResult.No)
            {
                success = this.SaveReportToLocal(byteTempletData);
            }
            else
            {
                success = this.SaveReportToServer(byteTempletData);
            }
            if (success)
            {
                if (designForm != null)
                {
                    designForm.IsModified = false;
                }
                if (scriptForm != null)
                {
                    scriptForm.IsModified = false;
                }
            }
            return(success);
        }
示例#15
0
        internal void ShowScriptTestForm()
        {
            DesignEditForm designForm = this.ActiveReport;
            ScriptEditForm scriptForm = this.ActiveScript;

            if (scriptForm == null && designForm == null)
            {
                return;
            }

            if (designForm != null)
            {
                scriptForm = this.GetScriptForm(designForm);
            }
            else if (scriptForm != null)
            {
                designForm = this.GetDesignForm(scriptForm);
            }

            ReportFileParser parser       = new ReportFileParser();
            string           szScriptData = null;

            if (scriptForm != null)
            {
                szScriptData = scriptForm.Save();
            }
            else
            {
                szScriptData = parser.GetScriptData(designForm.HndfFile);
            }

            string szDesignData = null;

            if (designForm != null)
            {
                designForm.Save(ref szDesignData);
            }
            else
            {
                szDesignData = parser.GetDesignData(scriptForm.HndfFile);
            }

            //编译脚本
            ScriptProperty scriptProperty = new ScriptProperty();

            scriptProperty.ScriptText = szScriptData;
            CompileResults results = null;

            results = ScriptCompiler.Instance.CompileScript(scriptProperty);
            if (!results.HasErrors)
            {
                this.MainForm.ShowCompileErrorForm(null);
            }
            else
            {
                if (scriptForm == null)
                {
                    this.OpenScriptEditForm(designForm);
                }
                this.MainForm.ShowCompileErrorForm(this.GetCompileErrors(results));
                MessageBoxEx.Show("编译失败,无法启动测试程序!");
                return;
            }

            ScriptTestForm scriptTestForm = new ScriptTestForm();

            scriptTestForm.ScriptData = szScriptData;
            scriptTestForm.DesignData = szDesignData;
            scriptTestForm.ShowDialog();
        }