1 using System; 2 using System.Drawing; 3 4 namespace WeifenLuo.WinFormsUI.Docking 5 { 6 public sealed class NestedDockingStatus 7 { NestedDockingStatus(DockPane pane)8 internal NestedDockingStatus(DockPane pane) 9 { 10 m_dockPane = pane; 11 } 12 13 private DockPane m_dockPane = null; 14 public DockPane DockPane 15 { 16 get { return m_dockPane; } 17 } 18 19 private NestedPaneCollection m_nestedPanes = null; 20 public NestedPaneCollection NestedPanes 21 { 22 get { return m_nestedPanes; } 23 } 24 25 private DockPane m_previousPane = null; 26 public DockPane PreviousPane 27 { 28 get { return m_previousPane; } 29 } 30 31 private DockAlignment m_alignment = DockAlignment.Left; 32 public DockAlignment Alignment 33 { 34 get { return m_alignment; } 35 } 36 37 private double m_proportion = 0.5; 38 public double Proportion 39 { 40 get { return m_proportion; } 41 } 42 43 private bool m_isDisplaying = false; 44 public bool IsDisplaying 45 { 46 get { return m_isDisplaying; } 47 } 48 49 private DockPane m_displayingPreviousPane = null; 50 public DockPane DisplayingPreviousPane 51 { 52 get { return m_displayingPreviousPane; } 53 } 54 55 private DockAlignment m_displayingAlignment = DockAlignment.Left; 56 public DockAlignment DisplayingAlignment 57 { 58 get { return m_displayingAlignment; } 59 } 60 61 private double m_displayingProportion = 0.5; 62 public double DisplayingProportion 63 { 64 get { return m_displayingProportion; } 65 } 66 67 private Rectangle m_logicalBounds = Rectangle.Empty; 68 public Rectangle LogicalBounds 69 { 70 get { return m_logicalBounds; } 71 } 72 73 private Rectangle m_paneBounds = Rectangle.Empty; 74 public Rectangle PaneBounds 75 { 76 get { return m_paneBounds; } 77 } 78 79 private Rectangle m_splitterBounds = Rectangle.Empty; 80 public Rectangle SplitterBounds 81 { 82 get { return m_splitterBounds; } 83 } 84 SetStatus(NestedPaneCollection nestedPanes, DockPane previousPane, DockAlignment alignment, double proportion)85 internal void SetStatus(NestedPaneCollection nestedPanes, DockPane previousPane, DockAlignment alignment, double proportion) 86 { 87 m_nestedPanes = nestedPanes; 88 m_previousPane = previousPane; 89 m_alignment = alignment; 90 m_proportion = proportion; 91 } 92 SetDisplayingStatus(bool isDisplaying, DockPane displayingPreviousPane, DockAlignment displayingAlignment, double displayingProportion)93 internal void SetDisplayingStatus(bool isDisplaying, DockPane displayingPreviousPane, DockAlignment displayingAlignment, double displayingProportion) 94 { 95 m_isDisplaying = isDisplaying; 96 m_displayingPreviousPane = displayingPreviousPane; 97 m_displayingAlignment = displayingAlignment; 98 m_displayingProportion = displayingProportion; 99 } 100 SetDisplayingBounds(Rectangle logicalBounds, Rectangle paneBounds, Rectangle splitterBounds)101 internal void SetDisplayingBounds(Rectangle logicalBounds, Rectangle paneBounds, Rectangle splitterBounds) 102 { 103 m_logicalBounds = logicalBounds; 104 m_paneBounds = paneBounds; 105 m_splitterBounds = splitterBounds; 106 } 107 } 108 } 109