Esempio n. 1
0
 internal void SetStatus(NestedPaneCollection nestedPanes, UPlan.Frame.DockForm.DockPane previousPane, DockAlignment alignment, double proportion)
 {
     this.m_nestedPanes  = nestedPanes;
     this.m_previousPane = previousPane;
     this.m_alignment    = alignment;
     this.m_proportion   = proportion;
 }
Esempio n. 2
0
 internal void Add(DockPane pane)
 {
     if (pane != null)
     {
         NestedPaneCollection panes = (pane.NestedPanesContainer == null) ? null : pane.NestedPanesContainer.NestedPanes;
         if (panes != null)
         {
             panes.InternalRemove(pane);
         }
         base.Items.Add(pane);
         if (panes != null)
         {
             panes.CheckFloatWindowDispose();
         }
     }
 }
Esempio n. 3
0
 private void InternalConstruct(UPlan.Frame.DockForm.DockPanel dockPanel, DockPane pane, bool boundsSpecified, Rectangle bounds)
 {
     if (dockPanel == null)
     {
         throw new ArgumentNullException(Strings.FloatWindow_Constructor_NullDockPanel);
     }
     this.m_nestedPanes   = new NestedPaneCollection(this);
     base.FormBorderStyle = FormBorderStyle.Sizable;
     base.MaximizeBox     = false;
     base.MinimizeBox     = false;
     base.ShowIcon        = false;
     base.ShowInTaskbar   = false;
     if (dockPanel.RightToLeft != this.RightToLeft)
     {
         this.RightToLeft = dockPanel.RightToLeft;
     }
     if (this.RightToLeftLayout != dockPanel.RightToLeftLayout)
     {
         this.RightToLeftLayout = dockPanel.RightToLeftLayout;
     }
     base.SuspendLayout();
     if (boundsSpecified)
     {
         base.Bounds        = bounds;
         base.StartPosition = FormStartPosition.Manual;
     }
     else
     {
         base.StartPosition = FormStartPosition.WindowsDefaultLocation;
         base.Size          = dockPanel.DefaultFloatWindowSize;
     }
     this.m_dockPanel = dockPanel;
     base.Owner       = this.DockPanel.FindForm();
     this.DockPanel.AddFloatWindow(this);
     if (pane != null)
     {
         pane.FloatWindow = this;
     }
     this.MinimumSize = new Size(100, 100);
     base.ResumeLayout();
 }
Esempio n. 4
0
        public void DockTo(UPlan.Frame.DockForm.DockPanel panel, DockStyle dockStyle)
        {
            if (panel != this.DockPanel)
            {
                throw new ArgumentException(Strings.IDockDragSource_DockTo_InvalidPanel, "panel");
            }
            NestedPaneCollection nestedPanesTo = null;

            if (dockStyle == DockStyle.Top)
            {
                nestedPanesTo = this.DockPanel.DockWindows[UPlan.Frame.DockForm.DockState.DockTop].NestedPanes;
            }
            else if (dockStyle == DockStyle.Bottom)
            {
                nestedPanesTo = this.DockPanel.DockWindows[UPlan.Frame.DockForm.DockState.DockBottom].NestedPanes;
            }
            else if (dockStyle == DockStyle.Left)
            {
                nestedPanesTo = this.DockPanel.DockWindows[UPlan.Frame.DockForm.DockState.DockLeft].NestedPanes;
            }
            else if (dockStyle == DockStyle.Right)
            {
                nestedPanesTo = this.DockPanel.DockWindows[UPlan.Frame.DockForm.DockState.DockRight].NestedPanes;
            }
            else if (dockStyle == DockStyle.Fill)
            {
                nestedPanesTo = this.DockPanel.DockWindows[UPlan.Frame.DockForm.DockState.Document].NestedPanes;
            }
            DockPane prevPane = null;

            for (int i = nestedPanesTo.Count - 1; i >= 0; i--)
            {
                if (nestedPanesTo[i] != this.VisibleNestedPanes[0])
                {
                    prevPane = nestedPanesTo[i];
                }
            }
            MergeNestedPanes(this.VisibleNestedPanes, nestedPanesTo, prevPane, DockAlignment.Left, 0.5);
        }
Esempio n. 5
0
 internal DockWindow(UPlan.Frame.DockForm.DockPanel dockPanel, UPlan.Frame.DockForm.DockState dockState)
 {
     this.m_nestedPanes = new NestedPaneCollection(this);
     this.m_dockPanel   = dockPanel;
     this.m_dockState   = dockState;
     base.Visible       = false;
     base.SuspendLayout();
     if ((((this.DockState == UPlan.Frame.DockForm.DockState.DockLeft) || (this.DockState == UPlan.Frame.DockForm.DockState.DockRight)) || (this.DockState == UPlan.Frame.DockForm.DockState.DockTop)) || (this.DockState == UPlan.Frame.DockForm.DockState.DockBottom))
     {
         this.m_splitter = new SplitterControl();
         base.Controls.Add(this.m_splitter);
     }
     if (this.DockState == UPlan.Frame.DockForm.DockState.DockLeft)
     {
         this.Dock            = DockStyle.Left;
         this.m_splitter.Dock = DockStyle.Right;
     }
     else if (this.DockState == UPlan.Frame.DockForm.DockState.DockRight)
     {
         this.Dock            = DockStyle.Right;
         this.m_splitter.Dock = DockStyle.Left;
     }
     else if (this.DockState == UPlan.Frame.DockForm.DockState.DockTop)
     {
         this.Dock            = DockStyle.Top;
         this.m_splitter.Dock = DockStyle.Bottom;
     }
     else if (this.DockState == UPlan.Frame.DockForm.DockState.DockBottom)
     {
         this.Dock            = DockStyle.Bottom;
         this.m_splitter.Dock = DockStyle.Top;
     }
     else if (this.DockState == UPlan.Frame.DockForm.DockState.Document)
     {
         this.Dock = DockStyle.Fill;
     }
     base.ResumeLayout();
 }
Esempio n. 6
0
 private static void MergeNestedPanes(VisibleNestedPaneCollection nestedPanesFrom, NestedPaneCollection nestedPanesTo, DockPane prevPane, DockAlignment alignment, double proportion)
 {
     if (nestedPanesFrom.Count != 0)
     {
         int             num2;
         int             count          = nestedPanesFrom.Count;
         DockPane[]      paneArray      = new DockPane[count];
         DockPane[]      paneArray2     = new DockPane[count];
         DockAlignment[] alignmentArray = new DockAlignment[count];
         double[]        numArray       = new double[count];
         for (num2 = 0; num2 < count; num2++)
         {
             paneArray[num2]      = nestedPanesFrom[num2];
             paneArray2[num2]     = nestedPanesFrom[num2].NestedDockingStatus.PreviousPane;
             alignmentArray[num2] = nestedPanesFrom[num2].NestedDockingStatus.Alignment;
             numArray[num2]       = nestedPanesFrom[num2].NestedDockingStatus.Proportion;
         }
         DockPane pane = paneArray[0].DockTo(nestedPanesTo.Container, prevPane, alignment, proportion);
         paneArray[0].DockState = nestedPanesTo.DockState;
         for (num2 = 1; num2 < count; num2++)
         {
             for (int i = num2; i < count; i++)
             {
                 if (paneArray2[i] == paneArray[num2 - 1])
                 {
                     paneArray2[i] = pane;
                 }
             }
             pane = paneArray[num2].DockTo(nestedPanesTo.Container, paneArray2[num2], alignmentArray[num2], numArray[num2]);
             paneArray[num2].DockState = nestedPanesTo.DockState;
         }
     }
 }
Esempio n. 7
0
 internal VisibleNestedPaneCollection(NestedPaneCollection nestedPanes) : base(new List <DockPane>())
 {
     this.m_nestedPanes = nestedPanes;
 }