public DockPaneTabEnumerator(DockPaneTabCollection tabs)
 {
     m_tabs = tabs;
     Reset();
 }
Пример #2
0
        private void InternalConstruct(DockContent 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(ResourceHelper.GetString("DockPane.DockState.InvalidState"));

            if (content == null)
                throw new ArgumentNullException(ResourceHelper.GetString("DockPane.Constructor.NullContent"));

            if (content.DockPanel == null)
                throw new ArgumentException(ResourceHelper.GetString("DockPane.Constructor.NullDockPanel"));

            SuspendLayout();
            SetStyle(ControlStyles.ResizeRedraw, true);
            SetStyle(ControlStyles.UserPaint, true);
            SetStyle(ControlStyles.AllPaintingInWmPaint, true);
            SetStyle(ControlStyles.DoubleBuffer, true);
            SetStyle(ControlStyles.Selectable, true);

            m_isFloat = (dockState == DockState.Float);

            m_contents = new DockContentCollection();
            m_displayingContents = new DockContentCollection(this);
            m_tabs = new DockPaneTabCollection(this);
            m_dockPanel = content.DockPanel;
            m_dockPanel.AddPane(this);

            m_splitter = new DockPaneSplitter(this);

            m_nestedDockingStatus = new NestedDockingStatus(this);

            m_autoHidePane = DockPanel.AutoHidePaneFactory.CreateAutoHidePane(this);
            m_captionControl = DockPanel.DockPaneCaptionFactory.CreateDockPaneCaption(this);
            m_tabStripControl = DockPanel.DockPaneStripFactory.CreateDockPaneStrip(this);
            Controls.AddRange(new Control[] {	m_captionControl, m_tabStripControl	});

            if (flagBounds)
                FloatWindow = DockPanel.FloatWindowFactory.CreateFloatWindow(DockPanel, this, floatWindowBounds);
            else if (prevPane != null)
                AddToDockList(prevPane.DockListContainer, prevPane, alignment, proportion);

            SetDockState(dockState);
            if (show)
                content.Pane = this;
            else if (this.IsFloat)
                content.FloatPane = this;
            else
                content.PanelPane = this;

            ResumeLayout();
        }
Пример #3
0
 public DockPaneTabEnumerator(DockPaneTabCollection tabs)
 {
     m_tabs = tabs;
     Reset();
 }