protected SetupChildDock ( Pos pos ) : void | ||
pos | Pos | Dock position. |
Результат | void |
protected virtual void SetupChildDock(Pos pos)
{
if (m_DockedTabControl == null)
{
m_DockedTabControl = new DockedTabControl(this);
m_DockedTabControl.TabRemoved += OnTabRemoved;
m_DockedTabControl.TabStripPosition = Pos.Bottom;
m_DockedTabControl.TitleBarVisible = true;
}
Dock = pos;
Pos sizeDir;
if (pos == Pos.Right) sizeDir = Pos.Left;
else if (pos == Pos.Left) sizeDir = Pos.Right;
else if (pos == Pos.Top) sizeDir = Pos.Bottom;
else if (pos == Pos.Bottom) sizeDir = Pos.Top;
else throw new ArgumentException("Invalid dock", "pos");
if (m_Sizer != null)
m_Sizer.Dispose();
m_Sizer = new Resizer(this);
m_Sizer.Dock = sizeDir;
m_Sizer.ResizeDir = sizeDir;
m_Sizer.SetSize(2, 2);
}
/// <summary> /// Gets an inner docked control for the specified position. /// </summary> /// <param name="pos"></param> /// <returns></returns> protected virtual DockBase GetChildDock(Pos pos) { // todo: verify DockBase dock = null; switch (pos) { case Pos.Left: if (m_Left == null) { m_Left = new DockBase(this); m_Left.SetupChildDock(pos); } dock = m_Left; break; case Pos.Right: if (m_Right == null) { m_Right = new DockBase(this); m_Right.SetupChildDock(pos); } dock = m_Right; break; case Pos.Top: if (m_Top == null) { m_Top = new DockBase(this); m_Top.SetupChildDock(pos); } dock = m_Top; break; case Pos.Bottom: if (m_Bottom == null) { m_Bottom = new DockBase(this); m_Bottom.SetupChildDock(pos); } dock = m_Bottom; break; } if (dock != null) { dock.IsHidden = false; } return(dock); }