Exemple #1
0
        private void projectTreeview_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            using (new Wait())
            {
                if (e.Node is TemplateTreeNode)
                {
                    TemplateTreeNode node = (TemplateTreeNode)e.Node;

                    if (TemplateTabPages.ContainsKey(node.Template))
                    {
                        documentsTabControl.SelectedTab = TemplateTabPages[node.Template];
                    }
                    else
                    {
                        TabPage        tabPage = new TabPage(Path.GetFileName(node.Template.XsltHintPath));
                        TemplateEditor editor  = null;

                        try
                        {
                            editor = new TemplateEditor(node.Template);
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show("An error occurred while loading the template: " + ex.Message, "Template Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }


                        editor.Dock         = DockStyle.Fill;
                        editor.TextChanged += new EventHandler(Editor_TextChanged);

                        tabPage.Controls.Add(editor);
                        documentsTabControl.TabPages.Add(tabPage);
                        documentsTabControl.SelectedTab = tabPage;
                        documentsTabControl.Visible     = true;

                        TemplateTabPages.Add(node.Template, tabPage);
                    }
                }
            }
        }
Exemple #2
0
        private bool CloseDocumentTab(TabPage tabPage)
        {
            TemplateEditor editor = (TemplateEditor)tabPage.Controls[0];

            if (editor.UnsavedChanges)
            {
                DialogResult result = MessageBox.Show("The file \"{0}\" has unsaved changes. Would you like to save this file before closing it?".FormatString(editor.Template.XsltAbsolutePath), "Save Changes?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);

                if (result == DialogResult.Yes)
                {
                    editor.Save();
                }
                else if (result == DialogResult.Cancel)
                {
                    return(false);
                }
            }

            TemplateTabPages.Remove(editor.Template);
            documentsTabControl.TabPages.Remove(tabPage);
            documentsTabControl.Visible = (documentsTabControl.TabPages.Count > 0);

            return(true);
        }