using System; using System.Drawing; namespace WeifenLuo.WinFormsUI.Docking { public sealed class NestedDockingStatus { internal NestedDockingStatus(DockPane pane) { m_dockPane = pane; } private DockPane m_dockPane = null; public DockPane DockPane { get { return m_dockPane; } } private NestedPaneCollection m_nestedPanes = null; public NestedPaneCollection NestedPanes { get { return m_nestedPanes; } } private DockPane m_previousPane = null; public DockPane PreviousPane { get { return m_previousPane; } } private DockAlignment m_alignment = DockAlignment.Left; public DockAlignment Alignment { get { return m_alignment; } } private double m_proportion = 0.5; public double Proportion { get { return m_proportion; } } private bool m_isDisplaying = false; public bool IsDisplaying { get { return m_isDisplaying; } } private DockPane m_displayingPreviousPane = null; public DockPane DisplayingPreviousPane { get { return m_displayingPreviousPane; } } private DockAlignment m_displayingAlignment = DockAlignment.Left; public DockAlignment DisplayingAlignment { get { return m_displayingAlignment; } } private double m_displayingProportion = 0.5; public double DisplayingProportion { get { return m_displayingProportion; } } private Rectangle m_logicalBounds = Rectangle.Empty; public Rectangle LogicalBounds { get { return m_logicalBounds; } } private Rectangle m_paneBounds = Rectangle.Empty; public Rectangle PaneBounds { get { return m_paneBounds; } } private Rectangle m_splitterBounds = Rectangle.Empty; public Rectangle SplitterBounds { get { return m_splitterBounds; } } internal void SetStatus(NestedPaneCollection nestedPanes, DockPane previousPane, DockAlignment alignment, double proportion) { m_nestedPanes = nestedPanes; m_previousPane = previousPane; m_alignment = alignment; m_proportion = proportion; } internal void SetDisplayingStatus(bool isDisplaying, DockPane displayingPreviousPane, DockAlignment displayingAlignment, double displayingProportion) { m_isDisplaying = isDisplaying; m_displayingPreviousPane = displayingPreviousPane; m_displayingAlignment = displayingAlignment; m_displayingProportion = displayingProportion; } internal void SetDisplayingBounds(Rectangle logicalBounds, Rectangle paneBounds, Rectangle splitterBounds) { m_logicalBounds = logicalBounds; m_paneBounds = paneBounds; m_splitterBounds = splitterBounds; } } }