void DockWindow::Float(DockableCtrl &dc, Point p) { if (dc.GetParent() && p.IsNullInstance()) p = GetScreenRect().TopLeft(); else Register(dc); FloatContainer(*GetReleasedContainer(dc), p); }
void DockWindow::DockAsTab(DockCont &target, DockableCtrl &dc) { DockCont *c = GetContainer(dc); if (c) { if (c->GetCount() == 1) CloseContainer(*c); else { Ctrl *c = dc.GetParent(); dc.Remove(); c->Layout(); } } target.Add(dc); }