Exemplo n.º 1
0
        public DockContent Show(Type type, params object[] args)
        {
            DockContent form = null;

            if (formContainer.ContainsKey(type))
            {
                form = formContainer[type];
            }
            if (form != null && form.IsDisposed)
            {
                formContainer.Remove(type);
                form = null;
            }

            if (form == null)
            {
                form = (DockContent)Activator.CreateInstance(type, args);
                formContainer.Add(type, form);
                form.Show(this.mainDockPanel);
            }
            else if (!form.Visible)
            {
                form.Show();
            }
            else
            {
                form.Activate();
            }

            return(form);
        }
Exemplo n.º 2
0
 public void ShowOrHideWindow(DockContent dockcontent)
 {
     if (DockPanel == null)
     {
         dockcontent.Show(WindowUtility.DockPanel, WeifenLuo.WinFormsUI.Docking.DockState.Float);
     }
     else
     {
         if (!dockcontent.Visible || (DockState.DockTopAutoHide <= dockcontent.DockState && dockcontent.DockState <= DockState.DockRightAutoHide))
         {
             if (dockcontent.Pane != null)
             {
                 dockcontent.Show(DockPanel);
                 dockcontent.Pane.ActiveContent = dockcontent;
             }
             else
             {
                 dockcontent.Show(DockPanel, WeifenLuo.WinFormsUI.Docking.DockState.Float);
             }
         }
         else
         {
             if (DockPanel.ActivePane == dockcontent.Pane || dockcontent.DockState == DockState.Float)
             {
             }
             else
             {
                 dockcontent.Focus();
             }
         }
     }
 }
Exemplo n.º 3
0
        public void ShowDocument(Type formType, string tabText, params object[] args)
        {
            IDockContent docForm = FindDocument(formType.Name);

            if (docForm == null)
            {
                try
                {
                    DockContent form = (DockContent)Activator.CreateInstance(formType, args);
                    form.Name    = formType.Name;
                    form.TabText = tabText;
                    if (dockPanel.DocumentStyle == DocumentStyle.SystemMdi)
                    {
                        form.MdiParent = this;
                        form.Show(dockPanel);
                    }
                    else
                    {
                        form.Show(dockPanel);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else
            {
                docForm.DockHandler.Activate();
            }
        }
Exemplo n.º 4
0
        private void OnTabCall(DockContent tab)
        {
            TabTypes type = (tab as ICobaltTab).TabType;

            switch (type)
            {
            case TabTypes.PointArea:
                tab.Show(dockPanel, DockState.Document);
                break;

            case TabTypes.Project:
                tab.Show(dockPanel, DockState.DockLeft);
                break;

            case TabTypes.Logbook:
                tab.Show(dockPanel, DockState.DockBottom);
                break;

            default:
            {
                tab.Show(dockPanel, DockState.Document);
                break;
            }
            }
        }
Exemplo n.º 5
0
        public void AddPanel(DockContent form, DockState dockState, bool AllowMultiple)
        {
            DockContent joinBefore = null;
            DockPane    joinPane   = null;

            foreach (DockContent content in dockPanel.Contents)
            {
                if (content.GetType() == form.GetType() && !AllowMultiple)
                {
                    return;
                }
                if (content.GetType() == form.GetType() || (
                        content.DockState == DockState.Document && dockState == DockState.Document))
                {
                    joinBefore = content;
                    joinPane   = content.Pane;
                }
            }
            form.DockPanel = dockPanel;
            form.DockState = dockState;
            if (joinPane != null)
            {
                form.Show(joinPane, joinBefore);
            }
            else
            {
                form.Show();
            }
        }
Exemplo n.º 6
0
        public void AddTool(DockContent Content, DockState dock = DockState.Document, Boolean Replace = false)
        {
            DockPane  currentPane;
            DockPanel content = null;

            if (Replace)
            {
                for (int x = 0; x < dockingPanel.Panes.Count; x++)
                {
                    currentPane = dockingPanel.Panes[x];
                    if (Content.Text == currentPane.CaptionText)
                    {
                        content = currentPane.DockPanel;
                        dock    = currentPane.DockState;
                        currentPane.CloseActiveContent();
                    }
                }
            }

            if (content == null)
            {
                Content.Show(dockingPanel, dock);
            }
            else
            {
                Content.Show(content, dock);
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// Show content to main panel of form based on DockState like Document, DockLeft etc
        /// </summary>
        /// <param name="content">Content that would be showed</param>
        /// <param name="state">State of content on main panel</param>
        public void ShowContent(DockContent content, DockState state)
        {
            if (state != DockState.Float)
            {
                bool found = false;

                foreach (DockContent d in window.dckMainPanel.Contents)
                {
                    if (d.Name.Equals(content.Name))
                    {
                        found = true;
                        d.Activate();
                        break;
                    }
                }

                if (!found)
                {
                    content.Show(window.dckMainPanel, state);
                }
            }
            else
            {
                content.Show(window.dckMainPanel, state);
            }
        }
Exemplo n.º 8
0
        public void AddDocument(string key, DockContent content)
        {
            var docKV = _documents.FirstOrDefault(d => d.Key == key);

            if (docKV.Value != null)
            {
                docKV.Value.Activate();
            }
            else
            {
                if (dockPanel1.DocumentStyle == DocumentStyle.SystemMdi)
                {
                    content.MdiParent = this;
                    content.Show();
                }
                else
                {
                    content.Show(dockPanel1);
                }
                content.Closed += (sender, args) =>
                {
                    _documents.Remove(key);
                };
                _documents[key] = content;
            }
        }
Exemplo n.º 9
0
        private void OnTabCall(DockContent tab)
        {
            TabTypes type = (tab as ICobaltTab).TabType;

            switch (type)
            {
            case TabTypes.Code:
            case TabTypes.NetronDiagram:
            case TabTypes.DataGrid:
            case TabTypes.World:
            case TabTypes.Browser:
            case TabTypes.Chart:
            case TabTypes.DiagramBrowser:
                tab.Show(dockPanel, DockState.Document);
                break;

            case TabTypes.Project:
            case TabTypes.PropertyGrid:
                tab.Show(dockPanel, DockState.DockRight);
                break;

            case TabTypes.Trace:
            case TabTypes.Output:
                tab.Show(dockPanel, DockState.DockBottom);
                break;

            case TabTypes.ShapesViewer:
            case TabTypes.ShapeFavorites:
                tab.Show(dockPanel, DockState.DockLeft);
                break;
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// 工具栏调用接口-显示窗口
        /// </summary>
        /// <param name="caption"></param>
        /// <param name="formType"></param>
        /// <returns></returns>
        public DockContent ShowContent(string caption, Type formType)
        {
            DockContent frm = FindDocument(caption);

            if (frm == null)
            {
                frm = Activator.CreateInstance(formType) as DockContent;
                //frm = ChildWinManagement.LoadMdiForm(Portal.gc.MainDialog, formType) as DockContent;
                if (frm == null)
                {
                    LogHelper.Error(string.Format("业务窗体需要继承WeifenLuo.WinFormsUI.Docking.DockContent窗体,窗体信息:{0} {1}"
                                                  , caption, formType.ToString()));
                    return(null);
                }
                frm.DockHandler.TabText = caption;
                frm.Show(this.dockPanel1);
                //frm.BringToFront();
            }
            else
            {
                frm.Show(this.dockPanel1);
                frm.BringToFront();
            }
            return(frm);
        }
Exemplo n.º 11
0
        public void AddWindowToDockPanel(DockContent dc, DockPanel dp, DockStyle dockStyle, DockState dockState, bool isFloat, DockPane dockToPane, int ind)
        {
            if (dc.Visible && dc.Pane != null)
            {
                return;
            }
            if (dp.DocumentStyle == DocumentStyle.SystemMdi)
            {
                dc.MdiParent = this;
                dc.Show();
            }
            else
            {
                dc.Show(dp);
            }

            if (dockToPane != null)
            {
                if (ind == int.MaxValue)
                {
                    dc.Pane.DockTo(dockToPane, dockStyle, dockToPane.Contents.Count - 1);
                }
                else
                {
                    dc.Pane.DockTo(dockToPane, dockStyle, ind);
                }
            }
            dc.DockState = dockState;
            dc.IsFloat   = isFloat;
        }
Exemplo n.º 12
0
        private void StartupWindow_CheckedChanged(object sender, EventArgs e)
        {
            ToolStripMenuItem menuItem = sender as ToolStripMenuItem;

            if (menuItem != null)
            {
                DockContent dockContent = menuItem.Tag as DockContent;
                if (dockContent != null)
                {
                    if (menuItem.Checked)
                    {
                        dockContent.Show();
                        if (dockContent.IsHidden)
                        {
                            //todo: Find a better solution.
                            //This is a hack since apparently the docking suite doesn't save/load
                            //the layout correctly when the window was floating.
                            //Loading the editor will hide all windows that were floating
                            //and the previous dockContent.Show will not bring them back and the window stays hidden!
                            dockContent.Show(_dockPanel, DockState.Float);
                        }
                    }
                    else
                    {
                        dockContent.Hide();
                    }
                }
            }
        }
Exemplo n.º 13
0
        public void ShowForm(Form frm, AddInDockState dockState)
        {
            if (frm != null && Program.MainForm != null && Program.MainForm.DockPanel.DocumentStyle == DocumentStyle.SystemMdi)
            {
                frm.MdiParent   = Program.MainForm;
                frm.WindowState = FormWindowState.Maximized;
                frm.Show();
                return;
            }

            DockContent dockableForm = frm as DockContent;

            if (dockableForm == null || Program.MainForm == null || Program.MainForm.DockPanel == null)
            {
                frm.Show();
                return;
            }

            if (dockableForm.PanelPane != null)
            {
                dockableForm.Show(Program.MainForm.DockPanel);
                dockableForm.PanelPane.Show();
            }
            else
            {
                DockState ds = (DockState)Enum.Parse(typeof(DockState), dockState.ToString());
                dockableForm.Show(Program.MainForm.DockPanel, ds);
            }
            Program.MainForm.DockPanel.Refresh();
        }
Exemplo n.º 14
0
        public void ShowDockContent(DockContent content, DockContent defaultDock, ContentCategory category)
        {
            try
            {
                content.FormClosed += content_FormClosed;

                List <DockContent> typeList;
                Type type = content.GetType();
                if (!DockContents.TryGetValue(type, out typeList))
                {
                    typeList = new List <DockContent>();
                    DockContents.Add(type, typeList);
                }
                typeList.Add(content);

                var handler = DockContentAdded;
                if (handler != null)
                {
                    handler(this, new DockContentEventArgs(content));
                }

                if (defaultDock == null)
                {
                    content.Show(this.dockPanel, DockState.Float);
                }
                else
                {
                    content.Show(defaultDock.Pane, null);

                    if (((defaultDock == DockFiles) || (defaultDock == DockEditors)) && !defaultDock.IsHidden)
                    {
                        defaultDock.Hide();
                    }
                }
                SetDocking(content, dockingToolStripMenuItem.Checked);

                if (category != ContentCategory.None)
                {
                    ((FormQuickAccess)DockQuickAccess).RegisterOpenFile(content, category);
                }

                foreach (Control c in content.Controls)
                {
                    if (c is MenuStrip)
                    {
                        MenuStrip ms = (MenuStrip)c;
                        InstallStatusLineHandler(ms.Items);
                    }
                }
            }
            catch (Exception ex)
            {
                Utility.ReportException(ex);
            }
        }
Exemplo n.º 15
0
 private void ShowDocView(DockContent view)
 {
     if (dockPanel.DocumentStyle == DocumentStyle.SystemMdi)
     {
         view.MdiParent = this;
         view.Show();
     }
     else
     {
         view.Show(dockPanel);
     }
 }
Exemplo n.º 16
0
 private void ShowChildForm(DockContent childForm)
 {
     if (dockPanel.DocumentStyle == DocumentStyle.SystemMdi)
     {
         childForm.MdiParent = this;
         childForm.Show();
     }
     else
     {
         childForm.Show(dockPanel);
     }
 }
Exemplo n.º 17
0
 public void AddDockedControl(DockContent content)
 {
     if (dockPanel1.DocumentStyle == DocumentStyle.SystemMdi)
     {
         content.MdiParent = this;
         content.Show();
     }
     else
     {
         content.Show(dockPanel1);
     }
 }
Exemplo n.º 18
0
 internal void AddDockedControl(DockContent content, DockState dock)
 {
     content.ShowHint = dock;
     if (dockPanel1.DocumentStyle == DocumentStyle.SystemMdi)
     {
         content.MdiParent = this;
         content.Show();
     }
     else
     {
         content.Show(dockPanel1);
     }
 }
Exemplo n.º 19
0
        public static void Show(DockContent content, DockPanel panel)
        {
            PanelHint hint = content.GetType().GetCustomAttribute <PanelHint>();

            if (hint != null)
            {
                content.Show(panel, hint.DockState);
            }
            else
            {
                content.Show(panel, WeifenLuo.WinFormsUI.Docking.DockState.DockLeft);
            }
        }
Exemplo n.º 20
0
        //用于dock
        public DockContent ShowContent(string caption, Type formType)
        {
            DockContent frm = FindDocument(caption);

            if (frm == null)
            {
                frm = Activator.CreateInstance(formType) as DockContent;
                frm.DockHandler.TabText = caption;
                frm.Show(dockPanel1);
            }
            frm.Show(dockPanel1, DockState.Document);
            frm.BringToFront();
            return(frm);
        }
Exemplo n.º 21
0
        public static void ShowDock(DockContent dock, DockPane pane, DockAlignment align, double proportion)
        {
            dock.FormClosed += new FormClosedEventHandler(dock_FormClosed);

            if (m_Docks.Count > 0)
            {
                dock.Show(m_Docks[0].Pane, m_Docks[0]);
            }
            else
            {
                dock.Show(pane, align, proportion);
            }

            m_Docks.Add(dock);
        }
Exemplo n.º 22
0
        public void AddToFrame(IDockContent fx)
        {
            DockContent f = (DockContent)fx;

            f.TabText = f.Text;
            if (dockPanel1.DocumentStyle == DocumentStyle.SystemMdi)
            {
                f.MdiParent = this;
                f.Show();
            }
            else
            {
                f.Show(dockPanel1);
            }
        }
Exemplo n.º 23
0
        /// <summary>
        /// 打开指定窗口,如果已打开就激活窗口
        /// </summary>
        /// <param name="dc"></param>
        public void showRight(DockContent dc)
        {
            if (dc != null)
            {
                IDockContent[] documents = dockPanel1.DocumentsToArray();
                foreach (IDockContent content in documents)
                {
                    if (content.DockHandler.Form.Name.Equals(dc.DockHandler.Form.Name))
                    {
                        //content.DockHandler.Activate();
                        content.DockHandler.Form.Activate();
                        return;
                    }
                }

                //增加标签做为编辑状态标记,并增加关闭闭窗口事件,检查窗口状态
                //新增、编辑="EDIT,保存、取消=""
                editFlag              = new Label();
                editFlag.Text         = "";
                editFlag.Name         = "lblEditFlag";
                editFlag.Visible      = false;
                editFlag.SizeChanged += new System.EventHandler(this.editFlag_VisibleChanged);

                dc.Controls.Add(editFlag);
                dc.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Frm_FormClosing);

                dc.Show(this.dockPanel1); //用于从功能导航窗口调用此窗口
                BSBLL.SetFormRight(dc);   //设置窗口中按钮的权限
                dc1 = dc;
                dc.Controls.Find("lblEditFlag", false).First().Width = 1;
            }
        }
Exemplo n.º 24
0
        //显示窗体MDI
        public Form LoadMdiForm(Form mainDialog, System.Type formType)
        {
            DockContent form = null;

            try
            {
                bool flag = false;
                foreach (DockContent form2 in mainDialog.MdiChildren)
                {
                    if (form2.GetType() == formType)
                    {
                        flag = true;
                        form = form2;
                        break;
                    }
                }
                if (!flag)
                {
                    form           = (DockContent)Activator.CreateInstance(formType);
                    form.MdiParent = mainDialog;
                    form.Show(this.dockPanel);
                }
                form.BringToFront();
                form.Activate();
            }
            catch (Exception ex)
            {
                ShowMessageHelper.ShowBoxMsg("页面加载错误!" + ex.Message);
            }
            return(form);
        }
Exemplo n.º 25
0
        public MainForm()
        {
            InitializeComponent();

            if (PlatformSupport.Platform == PlatformType.Windows)
            {
                Icon                = Properties.Resources.accessories_text_editor;
                actAbout.Image      = Properties.Resources.help_browser;
                actCompileAll.Image = Properties.Resources.go_jump;
                actCompile.Image    = Properties.Resources.go_bottom;
                actOpen.Image       = Properties.Resources.document_open;
                actExit.Image       = Properties.Resources.system_log_out;
            }

            DockContent files = Program.Container.Resolve <DockContent>("DocumentList");

            files.Show(dockPanel1, DockState.DockLeft);

            DockContent output = Program.Container.Resolve <DockContent>("Output");

            output.Show(dockPanel1, DockState.DockBottom);

            DockContent modules = Program.Container.Resolve <DockContent>("ModuleList");

            modules.Show(dockPanel1, DockState.DockRight);

            Compiler = Program.Container.Resolve <CompilerCore>();
        }
Exemplo n.º 26
0
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// Tiles the windows.
        /// </summary>
        /// ------------------------------------------------------------------------------------
        private void TileWindows(DockAlignment alignment)
        {
            m_dockPanel.SuspendLayout();

            IDockContent[] documents = m_dockPanel.DocumentsToArray();
            DockContent    wndAnchor = documents[0] as DockContent;

            if (wndAnchor == null)
            {
                return;
            }

            IDockContent currentWnd = m_dockPanel.ActiveDocument;

            for (int i = documents.Length - 1; i > 0; i--)
            {
                double      proportion = 1.0 / (i + 1);
                DockContent wnd        = documents[i] as DockContent;
                if (wnd != null)
                {
                    wnd.Show(m_dockPanel.Panes[0], alignment, proportion);
                }
            }

            ((DockContent)currentWnd).Activate();
            m_dockPanel.ResumeLayout();
        }
        /// <summary>
        /// Does a command</summary>
        /// <param name="commandTag">Command</param>
        public void DoCommand(object commandTag)
        {
            Control control = commandTag as Control;

            if (control != null)
            {
                DockContent dockContent = FindContent(control);
                if (dockContent.Visible)
                {
                    dockContent.Hide();
                }
                else
                {
                    dockContent.Show();
                }
            }

            if (commandTag is StandardCommand)
            {
                switch ((StandardCommand)commandTag)
                {
                case StandardCommand.WindowTileHorizontal:
                    TileDocumentContent(DockStyle.Right);
                    break;

                case StandardCommand.WindowTileVertical:
                    TileDocumentContent(DockStyle.Bottom);
                    break;

                case StandardCommand.WindowTileTabbed:
                    TileDocumentContent(DockStyle.Fill);
                    break;
                }
            }
        }
Exemplo n.º 28
0
        /// <summary>
        /// Creates an editor of the given type, or if one is already open, brings it to focus
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public virtual T OpenEditor <T>() where T : IEditor
        {
            Console.WriteLine("Opening a " + typeof(T).Name + " for document " + Name);
            T Editor = (T)AttachedEditors.FirstOrDefault(x => x.GetType() == typeof(T));

            if (Editor != null)
            {
                DockContent form = Editor as DockContent;
                if (form != null)
                {
                    //Bring this form to the forefront in the docking area it is already at.
                    form.Show(MainForm.PrimaryDockingPanel, form.DockState);
                }


                return(Editor);
            }

            //Create the new editor
            Editor = (T)typeof(T).GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
            Editor.ActiveDocument = this;

            OnDocumentEdited += Editor.NotifyDocumentModified;
            OnDocumentSaved  += Editor.NotifyDocumentSaved;

            AttachedEditors.Add(Editor);

            return(Editor);
        }
Exemplo n.º 29
0
 /// <summary>The display docked form.</summary>
 /// <param name="frm">The frm.</param>
 public void DisplayDockedForm(DockContent frm)
 {
     if (frm != null)
     {
         frm.Show(dockPanel, DockState.Document);
     }
 }
Exemplo n.º 30
0
 internal void ShowContent(DockContent dc, bool activate)
 {
     if (activate || dc.Pane == null)
     {
         dc.Show();
     }
     else
     {
         IDockContent a = dc.Pane.ActiveContent;
         dc.Show();
         if (a != null)
         {
             dc.Pane.ActiveContent = a;
         }
     }
 }
Exemplo n.º 31
0
        private void AddDefaultContentToTarget(DockAreas target)
        {
            DockPanel panel = this.Control as DockPanel;
            if (panel == null)
                return;

            DockContent content = new DockContent();
            content.DockAreas = target;
            panel.AddContent(content);
            content.Show(panel);
            content.DockAreas = DockAreas.DockLeft | DockAreas.DockRight | DockAreas.DockBottom;
        }
Exemplo n.º 32
0
                public static void Show(Type WindowType,
                                        PortScanMode PortScanMode = PortScanMode.Normal)
                {
                    try
                    {
                        switch (WindowType)
                        {
                            case Type.About:
                                if (aboutForm == null || aboutPanel == null | aboutPanel.VisibleState==DockState.Unknown)
                                {
                                    aboutForm = new About(aboutPanel);
                                    aboutPanel = aboutForm;
                                    aboutForm.Show(frmMain.Default.pnlDock);
                                }
                                else
                                {
                                    aboutPanel.Focus();
                                    aboutPanel.Show();
                                    aboutPanel.BringToFront();
                                    aboutForm.Focus();
                                }

                                break;
                            case Type.ADImport:
                                adimportForm = new ADImport(adimportPanel);
                                adimportPanel = adimportForm;
                                adimportPanel.Show(frmMain.Default.pnlDock);
                                break;
                            case Type.Options:
                                optionsForm = new frmOptions(optionsPanel);
                                optionsForm.Show(frmMain.Default.pnlDock);
                                break;
                            case Type.SaveAs:
                                saveasForm = new SaveAs(saveasPanel);
                                saveasPanel = saveasForm;
                                saveasForm.Show(frmMain.Default.pnlDock);
                                break;
                            case Type.SSHTransfer:
                                sshtransferForm = new SSHTransfer(sshtransferPanel);
                                sshtransferPanel = sshtransferForm;
                                sshtransferForm.Show(frmMain.Default.pnlDock);
                                break;
                            case Type.Update:
                                if (updateForm == null || updatePanel == null || updatePanel.VisibleState == DockState.Unknown)
                                {
                                    updateForm = new UI.Window.Update(updatePanel);
                                    updatePanel = updateForm;
                                    updateForm.Show(frmMain.Default.pnlDock);
                                }
                                else
                                {
                                    updatePanel.Focus();
                                    updatePanel.Show();
                                    updatePanel.BringToFront();
                                    updateForm.Focus();
                                }
                                break;
                            case Type.Help:
                                helpForm = new Help(helpPanel);
                                helpPanel = helpForm;
                                helpForm.Show(frmMain.Default.pnlDock);
                                break;
                            case Type.ExternalApps:
                                if (externalappsForm == null || externalappsPanel == null || externalappsPanel.VisibleState == DockState.Unknown)
                                {
                                    externalappsForm = new ExternalApps(externalappsPanel);
                                    externalappsPanel = externalappsForm;
                                    externalappsForm.Show(frmMain.Default.pnlDock);
                                }
                                else
                                {
                                    externalappsPanel.Focus();
                                    externalappsPanel.Show();
                                    externalappsPanel.BringToFront();
                                    externalappsForm.Focus();
                                }
                                break;
                            case Type.PortScan:
                                portscanForm = new PortScan(portscanPanel, PortScanMode);
                                portscanPanel = portscanForm;
                                portscanForm.Show(frmMain.Default.pnlDock);
                                break;
                            case Type.UltraVNCSC:
                                ultravncscForm = new UltraVNCSC(ultravncscPanel);
                                ultravncscPanel = ultravncscForm;
                                ultravncscForm.Show(frmMain.Default.pnlDock);
                                break;
                            case Type.ComponentsCheck:
                                if (componentscheckForm == null || componentscheckPanel == null || componentscheckPanel.VisibleState == DockState.Unknown)
                                {
                                    componentscheckForm = new ComponentsCheck(componentscheckPanel);
                                    componentscheckPanel = componentscheckForm;
                                    componentscheckForm.Show(frmMain.Default.pnlDock);
                                }
                                else
                                {
                                    componentscheckPanel.Focus();
                                    componentscheckPanel.Show();
                                    componentscheckPanel.BringToFront();
                                    componentscheckForm.Focus();
                                }

                                break;
                            case Type.Announcement:
                                AnnouncementForm = new UI.Window.Announcement(AnnouncementPanel);
                                AnnouncementPanel = AnnouncementForm;
                                AnnouncementForm.Show(frmMain.Default.pnlDock);
                                break;
                            case Type.ConnectionStatus:
                                connectionStatusForm = new ConnectionStatusForm();
                                componentscheckPanel = connectionStatusForm;
                                connectionStatusForm.Show(frmMain.Default.pnlDock);
                                break;
                            case Type.QuickText:

                                if (quicktextPanel != null && (quicktextForm == null || quicktextPanel == null | quicktextPanel.VisibleState == DockState.Unknown))
                                {
                                    quicktextForm = new QuickTextEdit(quicktextPanel);
                                    quicktextPanel = quicktextForm;
                                    quicktextForm.Show(frmMain.Default.pnlDock);
                                }
                                else
                                {
                                    quicktextPanel.Focus();
                                    quicktextPanel.Show();
                                    quicktextPanel.BringToFront();
                                    quicktextForm.Focus();
                                }

                                break;
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageCollector.AddMessage(MessageClass.ErrorMsg,
                                                    (string)
                                                    ("Show (Runtime.Windows) failed" +
                                                     Constants.vbNewLine + ex.Message), true);
                    }
                }
Exemplo n.º 33
0
            public static Form AddPanel(string title = "", bool noTabber = false)
            {
                try
                {
                    if (title == "")
                    {
                        title = Language.strNewPanel;
                    }

                    DockContent pnlcForm = new DockContent();
                    UI.Window.Connection cForm = new UI.Window.Connection(pnlcForm);
                    pnlcForm = cForm;

                    //create context menu
                    ContextMenuStrip cMen = new ContextMenuStrip();

                    //create rename item
                    ToolStripMenuItem cMenRen = new ToolStripMenuItem();
                    cMenRen.Text = Language.strRename;
                    cMenRen.Image = Resources.Rename;
                    cMenRen.Tag = pnlcForm;
                    cMenRen.Click += new EventHandler(cMenConnectionPanelRename_Click);

                    ToolStripMenuItem cMenScreens = new ToolStripMenuItem();
                    cMenScreens.Text = Language.strSendTo;
                    cMenScreens.Image = Resources.Monitor;
                    cMenScreens.Tag = pnlcForm;
                    cMenScreens.DropDownItems.Add("Dummy");
                    cMenScreens.DropDownOpening += new EventHandler(cMenConnectionPanelScreens_DropDownOpening);

                    cMen.Items.AddRange(new ToolStripMenuItem[] { cMenRen, cMenScreens });

                    pnlcForm.TabPageContextMenuStrip = cMen;

                    cForm.SetFormText(title.Replace("&", "&&"));

                    //ToDo: Fix this
                    try
                    {
                        frmMain.Default.pnlDock.DocumentStyle = frmMain.Default.pnlDock.DocumentsCount > 1 ? DocumentStyle.DockingMdi : DocumentStyle.DockingSdi;
                        pnlcForm.Show(frmMain.Default.pnlDock, DockState.Document);
                    }
                    catch (Exception)
                    {
                        frmMain.Default.pnlDock.DocumentStyle = DocumentStyle.DockingSdi;
                        pnlcForm.Show(frmMain.Default.pnlDock, DockState.Document);
                    }

                    if (noTabber)
                    {
                        cForm.TabController.Dispose();
                    }
                    else
                    {
                        WindowList.Add(cForm);
                    }

                    return cForm;
                }
                catch (Exception ex)
                {
                    MessageCollector.AddMessage(MessageClass.ErrorMsg,
                                                (string)
                                                ("Couldn\'t add panel" + Constants.vbNewLine + ex.Message));
                    return null;
                }
            }