예제 #1
0
        public static frmScriptEditor CreateScriptEditor(string caption, string script, NodeData data)
        {
            frmScriptEditor frm = CreateScriptEditor(caption, data);

            frm.ScriptText = script;
            return(frm);
        }
예제 #2
0
        public static frmScriptEditor CreateScriptEditor(string caption, string script, int objectType, NodeData data)
        {
            frmScriptEditor frm = CreateScriptEditor(caption, script, data);

            frm.ObjectType = objectType;
            return(frm);
        }
예제 #3
0
        private void AddToList(frmScriptEditor scriptEditor)
        {
            if (scriptEditor == null || !scriptEditor.ScriptModified)
            {
                return;
            }

            ListViewItem item = lv.Items.Add(scriptEditor.Caption, 0);

            item.Checked = true;

            item.SubItems.Add(scriptEditor.FileName);

            if (scriptEditor.LastModifiedOn.HasValue)
            {
                item.SubItems.Add(scriptEditor.LastModifiedOn.Value.ToString());
            }
            else
            {
                item.SubItems.Add(String.Empty);
            }

            item.Tag = scriptEditor;
            lv.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
        }
예제 #4
0
 public void PopulateList(DockPanel dockPanel, frmScriptEditor skipThis)
 {
     if (dockPanel != null)
     {
         if (dockPanel.DocumentStyle == DocumentStyles.SystemMdi)
         {
             foreach (Form form in Program.MainForm.MdiChildren)
             {
                 if (form is frmScriptEditor && form != skipThis)
                 {
                     AddToList(form as frmScriptEditor);
                 }
             }
         }
         else
         {
             foreach (IDockContent content in dockPanel.Documents)
             {
                 if (content is frmScriptEditor && content != skipThis)
                 {
                     AddToList(content as frmScriptEditor);
                 }
             }
         }
     }
 }
예제 #5
0
        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            frmScriptEditor editor = CreateNewScriptEditor();

            if (editor != null)
            {
                editor.OpenScriptFromFile();
            }
        }
예제 #6
0
        public static frmScriptEditor CreateScriptEditor(string caption, NodeData data)
        {
            if (data == null)
            {
                throw new NullParameterException("NodeData paremeter is null!");
            }
            frmScriptEditor frm = new frmScriptEditor();

            frm.InitializeScriptEditor(caption, String.Empty, DBObjectType.None, data.ConnParams, data.DBName);
            return(frm);
        }
예제 #7
0
        public static DialogResult ShowSaveScriptsDialog(DockPanel dockPanel, frmScriptEditor skipThis)
        {
            if (!CheckIfShallShow(dockPanel, skipThis))
            {
                return(DialogResult.Ignore);
            }

            frmSaveScripts frm = new frmSaveScripts();

            frm.PopulateList(dockPanel, skipThis);
            return(frm.ShowDialog());
        }
예제 #8
0
 private void btnSaveChecked_Click(object sender, EventArgs e)
 {
     foreach (ListViewItem item  in lv.Items)
     {
         frmScriptEditor editor = item.Tag as frmScriptEditor;
         if (item.Checked)
         {
             editor.SaveScript();
         }
         editor.CheckSave = false;
     }
     DialogResult = DialogResult.OK;
 }
예제 #9
0
        public static frmScriptEditor OpenFile(string fileName, NodeData data)
        {
            frmScriptEditor frm = CreateScriptEditor(data);

            if (!frm.OpenScriptFromFile(String.Empty))
            {
                _instanceCnt--;
                frm.Close();
                frm.Dispose();
                return(null);
            }


            return(frm);
        }
예제 #10
0
        private void btnSkipAll_Click(object sender, EventArgs e)
        {
            DialogResult dlgRes = MessageBox.Show("Do you really want to skip changes?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);

            if (dlgRes == DialogResult.No)
            {
                return;
            }

            foreach (ListViewItem item  in lv.Items)
            {
                frmScriptEditor editor = item.Tag as frmScriptEditor;
                editor.CheckSave = false;
            }
            DialogResult = DialogResult.Ignore;
        }
예제 #11
0
        public static void ShowScriptEditor(frmScriptEditor frm)
        {
            if (frm == null)
            {
                return;
            }

            if (Program.MainForm.DockPanel.DocumentStyle == DocumentStyles.SystemMdi)
            {
                frm.MdiParent = Program.MainForm;
                frm.Show();
            }
            else
            {
                frm.Show(Program.MainForm.DockPanel);
            }
        }
예제 #12
0
        private static bool CheckIfShallShow(DockPanel dockPanel, frmScriptEditor skipThis)
        {
            bool result = false;
            int  cnt    = 0;

            if (dockPanel != null)
            {
                if (dockPanel.DocumentStyle == DocumentStyles.SystemMdi)
                {
                    foreach (Form form in Program.MainForm.MdiChildren)
                    {
                        if (form is frmScriptEditor && form != skipThis)
                        {
                            if ((form as frmScriptEditor).ScriptModified)
                            {
                                cnt++;
                                if (cnt == 2)
                                {
                                    result = true;
                                    break;
                                }
                            }
                        }
                    }
                }
                else
                {
                    foreach (IDockContent content in dockPanel.Documents)
                    {
                        if (content is frmScriptEditor && content != skipThis)
                        {
                            if ((content as frmScriptEditor).ScriptModified)
                            {
                                cnt++;
                                if (cnt == 2)
                                {
                                    result = true;
                                    break;
                                }
                            }
                        }
                    }
                }
            }
            return(result);
        }
예제 #13
0
        private frmScriptEditor CreateNewScriptEditor()
        {
            TreeNode node = tv.SelectedNode;

            if (node == null)
            {
                CreateNewConnectionFromRepository(false);
            }

            node = tv.SelectedNode;
            if (node == null)
            {
                return(null);
            }


            NodeData data = NodeDataFactory.GetNodeData(node.Tag);

            if (data == null)
            {
                MessageBox.Show("Can not create connection!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(null);
            }

            frmScriptEditor editor = new frmScriptEditor();

            editor.Text    = "Script " + (++_scriptEditorCnt).ToString();
            editor.TabText = editor.Text;

            if (DockPanel.DocumentStyle == DocumentStyles.SystemMdi)
            {
                editor.MdiParent = this;
                editor.Show();
            }
            else
            {
                editor.Show(DockPanel);
            }
            editor.InitializeScriptEditor(String.Empty, DBObjectType.None, data.ConnParams, data.DBName);
            return(editor);
        }
예제 #14
0
        private void ModifySelectedObjectInScriptWindow()
        {
            TreeNode node = tv.SelectedNode;

            if (node == null)
            {
                return;
            }

            NodeData data = NodeDataFactory.GetNodeData(node.Tag);

            if (data == null)
            {
                MessageBox.Show("Node data not assigned", "Application Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            frmScriptEditor editor = new frmScriptEditor();

            editor.Text    = data.Name;
            editor.TabText = editor.Text;

            if (DockPanel.DocumentStyle == DocumentStyles.SystemMdi)
            {
                editor.MdiParent = this;
                editor.Show();
            }
            else
            {
                editor.Show(DockPanel);
            }

            ProgrammabilityHelper.SqlConn = _connections[data.ConnParams.Name];
            string script = ProgrammabilityHelper.GetObjectCreateScript(data.ID);

            script = ProgrammabilityHelper.ReplaceCreateWithAlter(data.Type, script);

            editor.InitializeScriptEditor(script, data.Type, data.ConnParams, data.DBName);
        }