Exemple #1
0
        /**************************************************************\
         * Create a new tab (for editing, NORMAL mode)                *
         *   - Add the component.                                     *
         *   - Display the content of the xml                         *
         *   - Manage the event when clicking on "Close".             *
        \**************************************************************/
        public void AddTab(String tabName, String path, string defaultMode)
        {
            KryptonPage navigatorTab = new KryptonPage();
            ButtonSpecAny closeButton = new ButtonSpecAny();
            XMLLoader.XMLForm XMLLoader = new XMLLoader.XMLForm();

            if(defaultMode.Equals("CREATION"))
            {
                try
                {
                    GC.Collect();
                    XMLLoader.Dock = DockStyle.Fill;
                    XMLLoader.init(Properties.Settings.Default.interpretation_template, _ButtonHelp);
                    XMLLoader.loadXML(path);
                    XMLLoader.Tag = path;
                    navigatorTab.Tag = true;
                    navigatorTab.Controls.Add(XMLLoader);
                    switchButtonSpec.ExtraText = "XML Mode";
                    EnableDisableAllProcessesButtonSpec.Enabled = ComponentFactory.Krypton.Toolkit.ButtonEnabled.True;
                }

                // If no connection, New tab (XML mode)
                catch (Exception ex)
                {
                    var result = KryptonMessageBox.Show("Unable to access XML Template (maybe there is no network). No Creation Mode available.\n\n\n" + ex, "Error",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);

                    KryptonRichTextBox richTextBox = new KryptonRichTextBox();
                    richTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
                    richTextBox.Name = tabName + "RichTextBox";
                    richTextBox.Text = "";
                    richTextBox.Tag = path;
                    navigatorTab.Tag = false;
                    switchButtonSpec.ExtraText = "Creation Mode";
                    EnableDisableAllProcessesButtonSpec.Enabled = ComponentFactory.Krypton.Toolkit.ButtonEnabled.False;
                    navigatorTab.Controls.Add(richTextBox);
                    DisplayXml(richTextBox);
                }
            }

            else if (defaultMode.Equals("XML"))
            {
                KryptonRichTextBox richTextBox = new KryptonRichTextBox();
                richTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
                richTextBox.Name = tabName + "RichTextBox";
                richTextBox.Text = "";
                richTextBox.Tag = path;
                navigatorTab.Tag = false;
                switchButtonSpec.ExtraText = "Creation Mode";
                EnableDisableAllProcessesButtonSpec.Enabled = ComponentFactory.Krypton.Toolkit.ButtonEnabled.False;
                navigatorTab.Controls.Add(richTextBox);
                DisplayXml(richTextBox);
            }

            navigatorTab.Name = tabName + "Tab";
            navigatorTab.Text = tabName;

            closeButton.Type = ComponentFactory.Krypton.Toolkit.PaletteButtonSpecStyle.PendantClose;
            navigatorTab.ButtonSpecs.AddRange(new ComponentFactory.Krypton.Toolkit.ButtonSpecAny[] {
            closeButton});

            navigatorTab.ButtonSpecs[0].Click += new EventHandler(CloseNavigatorTab);
            navigatorTab.ButtonSpecs[0].Tag = navigatorTab;

            NavigatorControl.Pages.Add(navigatorTab);
        }
Exemple #2
0
        /**************************************************************\
         * Event for clicking on the switch button of the navigator : *
         *    - Switch to creation mode if it's normal mode           *
         *    - and vice & versa                                      *
        \**************************************************************/
        private void switchButtonSpec_Click(object sender, EventArgs e)
        {
            if (!NavigatorControl.SelectedPage.Text.Equals("Summary"))
            {
                // If creation mode, switch to normal mode
                if ((Boolean)NavigatorControl.SelectedPage.Tag)
                {
                    // Get path
                    string path = "";
                    var childrens = NavigatorControl.SelectedPage.Controls.OfType<XMLLoader.XMLForm>().ToList();
                    foreach (XMLLoader.XMLForm element in childrens)
                    {
                        path = (string)element.Tag;
                    }

                    NavigatorControl.SelectedPage.Tag = false;
                    switchButtonSpec.ExtraText = "Creation Mode";
                    NavigatorControl.SelectedPage.Controls.Clear();

                    // Set New Control
                    KryptonRichTextBox richTextBox = new KryptonRichTextBox();
                    richTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
                    richTextBox.Text = "";
                    richTextBox.Tag = path;

                    NavigatorControl.SelectedPage.Controls.Add(richTextBox);
                    DisplayXml(richTextBox);
                }

                // If normal mode, switch to creation mode
                else if (!(Boolean)NavigatorControl.SelectedPage.Tag)
                {
                    // Get path
                    string path = "";
                    var childrens = NavigatorControl.SelectedPage.Controls.OfType<KryptonRichTextBox>().ToList();
                    foreach (KryptonRichTextBox element in childrens)
                    {
                        path = (string)element.Tag;
                    }

                    NavigatorControl.SelectedPage.Tag = true;
                    switchButtonSpec.ExtraText = "XML Mode";
                    EnableDisableAllProcessesButtonSpec.Enabled = ComponentFactory.Krypton.Toolkit.ButtonEnabled.True;
                    NavigatorControl.SelectedPage.Controls.Clear();

                    try
                    {
                        // Set New Control
                        XMLLoader.XMLForm XMLLoader = new XMLLoader.XMLForm();
                        XMLLoader.Dock = DockStyle.Fill;
                        XMLLoader.init(Properties.Settings.Default.interpretation_template, _ButtonHelp);
                        XMLLoader.loadXML(path);
                        XMLLoader.Tag = path;
                        NavigatorControl.SelectedPage.Controls.Add(XMLLoader);
                    }

                    // If no connection, stay in XML mode
                    catch
                    {
                        var result = KryptonMessageBox.Show("Unable to access XML Template (maybe there is no network). No Creation Mode available.", "No network",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Warning);

                        KryptonRichTextBox richTextBox = new KryptonRichTextBox();
                        richTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
                        richTextBox.Text = "";
                        richTextBox.Tag = path;
                        NavigatorControl.SelectedPage.Tag = false;
                        switchButtonSpec.ExtraText = "Creation Mode";
                        EnableDisableAllProcessesButtonSpec.Enabled = ComponentFactory.Krypton.Toolkit.ButtonEnabled.False;

                        NavigatorControl.SelectedPage.Controls.Add(richTextBox);
                        DisplayXml(richTextBox);
                    }
                }
            }
        }