internal DockPaneStripBase.Tab GetTab(DockPaneStripBase dockPaneStrip) { if (m_tab == null) m_tab = dockPaneStrip.CreateTab(Content); return m_tab; }
private void InternalConstruct(IDockContent content, DockState dockState, bool flagBounds, Rectangle floatWindowBounds, DockPane prevPane, DockAlignment alignment, double proportion, bool show) { if (dockState == DockState.Hidden || dockState == DockState.Unknown) throw new ArgumentException(Strings.DockPane_SetDockState_InvalidState); if (content == null) throw new ArgumentNullException(Strings.DockPane_Constructor_NullContent); if (content.DockHandler.DockPanel == null) throw new ArgumentException(Strings.DockPane_Constructor_NullDockPanel); SuspendLayout(); SetStyle(ControlStyles.Selectable, false); m_isFloat = (dockState == DockState.Float); m_contents = new DockContentCollection(); m_displayingContents = new DockContentCollection(this); m_dockPanel = content.DockHandler.DockPanel; m_dockPanel.AddPane(this); m_splitter = new SplitterControl(this); m_nestedDockingStatus = new NestedDockingStatus(this); m_captionControl = DockPanel.DockPaneCaptionFactory.CreateDockPaneCaption(this); m_tabStripControl = DockPanel.DockPaneStripFactory.CreateDockPaneStrip(this); Controls.AddRange(new Control[] { m_captionControl, m_tabStripControl }); DockPanel.SuspendLayout(true); if (flagBounds) FloatWindow = DockPanel.FloatWindowFactory.CreateFloatWindow(DockPanel, this, floatWindowBounds); else if (prevPane != null) DockTo(prevPane.NestedPanesContainer, prevPane, alignment, proportion); SetDockState(dockState); if (show) content.DockHandler.Pane = this; else if (this.IsFloat) content.DockHandler.FloatPane = this; else content.DockHandler.PanelPane = this; ResumeLayout(); DockPanel.ResumeLayout(true, true); }
private void SetActiveDockPaneStripBase(DockPaneStripBase newDockPaneStripBase) { if (m_activeDockPaneStripBase != newDockPaneStripBase) { if (m_activeDockPaneStripBase != null) m_activeDockPaneStripBase.MouseUp -= dockPaneStrip_MouseUp; m_activeDockPaneStripBase = newDockPaneStripBase; if (m_activeDockPaneStripBase != null) m_activeDockPaneStripBase.MouseUp += dockPaneStrip_MouseUp; } }
private void InternalConstruct(IDockContent content, DockState dockState, bool flagBounds, Rectangle floatWindowBounds, DockPane prevPane, DockAlignment alignment, double proportion, bool show) { if (dockState == DockState.Hidden || dockState == DockState.Unknown) throw new ArgumentException(Strings.DockPane_SetDockState_InvalidState); if (content == null) throw new ArgumentNullException(Strings.DockPane_Constructor_NullContent); if (content.DockHandler.DockPanel == null) throw new ArgumentException(Strings.DockPane_Constructor_NullDockPanel); SuspendLayout(); SetStyle(ControlStyles.Selectable, false); this.m_isFloat = (dockState == DockState.Float); this.m_contents = new DockContentCollection(); this.m_displayingContents = new DockContentCollection(this); this.m_dockPanel = content.DockHandler.DockPanel; this.m_dockPanel.AddPane(this); this.m_splitter = new SplitterControl(this); this.m_nestedDockingStatus = new NestedDockingStatus(this); this.m_captionControl = this.DockPanel.DockPaneCaptionFactory.CreateDockPaneCaption(this); this.m_tabStripControl = this.DockPanel.DockPaneStripFactory.CreateDockPaneStrip(this); Controls.AddRange(new Control[] { this.m_captionControl, this.m_tabStripControl }); this.DockPanel.SuspendLayout(true); if (flagBounds) this.FloatWindow = this.DockPanel.FloatWindowFactory.CreateFloatWindow(this.DockPanel, this, floatWindowBounds); else if (prevPane != null) this.DockTo(prevPane.NestedPanesContainer, prevPane, alignment, proportion); this.SetDockState(dockState); if (show) { content.DockHandler.Pane = this; if (this.IsFloat) { Size size = (content as DockContent).DefaultFloatSize; int x = (Screen.PrimaryScreen.Bounds.Width - size.Width) / 2; int y = (Screen.PrimaryScreen.Bounds.Height - size.Height) / 2; this.FloatWindow.Bounds = new Rectangle(new Point(x, y), size); } } else if (this.IsFloat) content.DockHandler.FloatPane = this; else content.DockHandler.PanelPane = this; ResumeLayout(); this.DockPanel.ResumeLayout(true, true); }
internal DockPaneStripBase.Tab GetTab(DockPaneStripBase dockPaneStrip) { if (this.m_tab == null) this.m_tab = dockPaneStrip.CreateTab(this.Content); return this.m_tab; }