Пример #1
0
 public void EventHandler_Compile(object sender, System.EventArgs e)
 {
     try
     {
         TreeNode node = gscriptTreeView.SelectedNode;
         if (node != null)
         {
             ScriptTreeNodeProperty prop = (ScriptTreeNodeProperty)node.Tag;
             if (prop != null)
             {
                 if (prop.Type == ScriptTreeNodeType.G ||
                     prop.Type == ScriptTreeNodeType.Simple)
                 {
                     ScriptType type;
                     type = prop.Type == ScriptTreeNodeType.G ? ScriptType.G : ScriptType.Simple;
                     string code = scriptRepository__.GetContent(prop.Name, type);
                     compiler__.ClearCodes();
                     compiler__.AddCode(code);
                     int ret = compiler__.Compile();
                     Output.Clear();
                     ErrorList.Clear();
                     if (ret > 0)
                     {
                         foreach (CompilerError error in compiler__.Errors)
                         {
                             ErrorLevel level = error.IsWarning ? ErrorLevel.elWarning : ErrorLevel.elError;
                             ErrorList.Add(level, error.ErrorNumber, error.ErrorText, error.Line);
                         }
                         Output.Add(Resources.TEXT_ERR_COMPILE);
                         ErrorList.Show();
                     }
                     else if (ret == 0)
                     {
                         Output.Add(Resources.TEXT_COMPILE_OK);
                         Output.Show();
                     }
                     else if (ret == -1)
                     {
                         Output.Add(Resources.TEXT_ERR_NO_CODE);
                         Output.Show();
                     }
                     else
                     {
                         Output.Add(Resources.TEXT_ERR_COMPILE_GENERAL);
                         Output.Show();
                     }
                 }
             }
         }
     }
     catch
     {
         throw;
     }
 }
Пример #2
0
        private void EventHandler_New(object sender, System.EventArgs e)
        {
            try
            {
                TreeNode node = gscriptTreeView.SelectedNode;
                if (node != null)
                {
                    ScriptTreeNodeProperty prop = (ScriptTreeNodeProperty)node.Tag;
                    if (prop != null)
                    {
                        ScriptType type;
                        if (prop.Type == ScriptTreeNodeType.G ||
                            prop.Type == ScriptTreeNodeType.GRoot)
                        {
                            type = ScriptType.G;
                        }
                        else
                        {
                            type = ScriptType.Simple;
                        }

                        string name = StringInputBox.GetInputString(Resources.TEXT_INPUTNAME,
                                                                    Resources.TEXT_INPUTNAME_TITLE,
                                                                    SunnyChen.Common.RegularExpressions.RegularExpressionSet.IDENTIFIER);

                        if (name.Trim().Equals(string.Empty))
                        {
                            return;
                        }
                        string fileName = FileSystemScriptRepository.GetScriptFileName(name, type);
                        if (File.Exists(fileName))
                        {
                            MessageBox.Show(Resources.TEXT_SCRIPT_ALREADY_EXISTS,
                                            Resources.TEXT_ERROR,
                                            MessageBoxButtons.OK,
                                            MessageBoxIcon.Error);

                            return;
                        }
                        frmCodeEditor codeEditor = new frmCodeEditor(parent__, compiler__, configReader__);
                        codeEditor.CreateNewCode(name, fileName, type);
                        codeEditor.Show();
                        toolbarsManager.Tools["mnuDelete"].SharedProps.Enabled  = false;
                        toolbarsManager.Tools["mnuRun"].SharedProps.Enabled     = false;
                        toolbarsManager.Tools["mnuCompile"].SharedProps.Enabled = false;
                    }
                }
            }
            catch
            {
            }
        }
Пример #3
0
        private void EventHandler_Open(object sender, System.EventArgs e)
        {
            TreeNode      node = gscriptTreeView.SelectedNode;
            frmCodeEditor codeEditor;

            if (node != null)
            {
                ScriptTreeNodeProperty prop = (ScriptTreeNodeProperty)node.Tag;
                if (prop != null)
                {
                    if (prop.Type == ScriptTreeNodeType.G ||
                        prop.Type == ScriptTreeNodeType.Simple)
                    {
                        try
                        {
                            ScriptType type = prop.Type == ScriptTreeNodeType.G ? ScriptType.G : ScriptType.Simple;
                            foreach (frmDummy form in parent__.MdiChildren)
                            {
                                if (form is frmCodeEditor)
                                {
                                    codeEditor = (form as frmCodeEditor);
                                    if (codeEditor.ScriptName.Equals(prop.Name) &&
                                        codeEditor.ScriptType.Equals(type))
                                    {
                                        codeEditor.BringToFront();
                                        return;
                                    }
                                }
                            }
                            codeEditor = new frmCodeEditor(parent__, compiler__, configReader__);
                            codeEditor.LoadExistingCode(prop.Name, type, false);
                            codeEditor.Show();
                            return;
                        }
                        catch
                        {
                        }
                    }
                    if (e == null)
                    {
                        if (prop.Type == ScriptTreeNodeType.GRoot ||
                            prop.Type == ScriptTreeNodeType.SimpleRoot)
                        {
                            if (!node.IsExpanded)
                            {
                                node.Expand();
                            }
                        }
                    }
                }
            }
        }
Пример #4
0
 private void gscriptTreeView_AfterSelect(object sender, TreeViewEventArgs e)
 {
     if (e.Node != null)
     {
         ScriptTreeNodeProperty prop = (ScriptTreeNodeProperty)e.Node.Tag;
         toolbarsManager.Tools["mnuDelete"].SharedProps.Enabled =
             (prop.Type == ScriptTreeNodeType.G ||
              prop.Type == ScriptTreeNodeType.Simple);
         toolbarsManager.Tools["mnuCompile"].SharedProps.Enabled =
             (prop.Type == ScriptTreeNodeType.G ||
              prop.Type == ScriptTreeNodeType.Simple);
         toolbarsManager.Tools["mnuRun"].SharedProps.Enabled =
             (prop.Type == ScriptTreeNodeType.G ||
              prop.Type == ScriptTreeNodeType.Simple);
     }
 }
Пример #5
0
        private void EventHandler_Delete(object sender, System.EventArgs e)
        {
            TreeNode node = gscriptTreeView.SelectedNode;

            if (node != null)
            {
                ScriptTreeNodeProperty prop = (ScriptTreeNodeProperty)node.Tag;
                if (prop != null)
                {
                    if (prop.Type == ScriptTreeNodeType.G ||
                        prop.Type == ScriptTreeNodeType.Simple)
                    {
                        if (MessageBox.Show(Resources.TEXT_CONFIRM_DELETE_ITEM,
                                            Resources.TEXT_CONFIRMATION,
                                            MessageBoxButtons.YesNo,
                                            MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            try
                            {
                                ScriptType type = prop.Type == ScriptTreeNodeType.G ? ScriptType.G : ScriptType.Simple;
                                scriptRepository__.Remove(prop.Name, type);
                                UpdateGScriptTreeView(type);
                                TreeNode parentNode = type == ScriptType.G ? gScriptsRoot__ : simpleScriptsRoot__;
                                gscriptTreeView.SelectedNode = parentNode;
                                toolbarsManager.Tools["mnuDelete"].SharedProps.Enabled  = false;
                                toolbarsManager.Tools["mnuRun"].SharedProps.Enabled     = false;
                                toolbarsManager.Tools["mnuCompile"].SharedProps.Enabled = false;
                            }
                            catch
                            {
                            }
                        } // User confirmation
                    }     // property type
                }
            }
        }