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); }
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(); } } } }
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(); } }
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; } } }
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(); } }
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); } }
/// <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); } }
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; } }
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; } }
/// <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); }
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; }
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(); } } } }
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(); }
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); } }
private void ShowDocView(DockContent view) { if (dockPanel.DocumentStyle == DocumentStyle.SystemMdi) { view.MdiParent = this; view.Show(); } else { view.Show(dockPanel); } }
private void ShowChildForm(DockContent childForm) { if (dockPanel.DocumentStyle == DocumentStyle.SystemMdi) { childForm.MdiParent = this; childForm.Show(); } else { childForm.Show(dockPanel); } }
public void AddDockedControl(DockContent content) { if (dockPanel1.DocumentStyle == DocumentStyle.SystemMdi) { content.MdiParent = this; content.Show(); } else { content.Show(dockPanel1); } }
internal void AddDockedControl(DockContent content, DockState dock) { content.ShowHint = dock; if (dockPanel1.DocumentStyle == DocumentStyle.SystemMdi) { content.MdiParent = this; content.Show(); } else { content.Show(dockPanel1); } }
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); } }
//用于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); }
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); }
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); } }
/// <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; } }
//显示窗体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); }
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>(); }
/// ------------------------------------------------------------------------------------ /// <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; } } }
/// <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); }
/// <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); } }
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; } } }
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; }
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); } }
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; } }