BOOL CDockManager::Dock(DM_POS nPos) { if (nPos == DMP_UNDOCKED) return UnDock(); // check if no change if (IsDocked() && m_nDockPos == nPos) return TRUE; BOOL bDocked = IsDocked(); m_nDockPos = nPos; CRect rDock; ScGetCWnd()->GetWindowRect(rDock); // save window pos if not currently docked if (!bDocked) m_rUndocked = rDock; // and restore previous width/height if (nPos == DMP_BELOW) { int nHeight = GetDockedHeight(IsMaximized()); if (nHeight != -1) { rDock.bottom = rDock.top + nHeight; CAutoFlag af(m_bResizeUpdate, FALSE); CAutoFlag af2(m_bSizeUpdate, FALSE); MoveWindow(ScGetCWnd(), rDock); } } else { int nWidth = GetDockedWidth(IsMaximized()); if (nWidth != -1) { rDock.right = rDock.left + nWidth; CAutoFlag af(m_bResizeUpdate, FALSE); CAutoFlag af2(m_bSizeUpdate, FALSE); MoveWindow(ScGetCWnd(), rDock); } } // also restore main window pos if maximized if (IsMaximized()) OnMaximize(); else { UpdateDockWindowPos(); FitDockWindowToWorkArea(); // make sure it's visible } return TRUE; }
// static void GGaussianProcess::test() { GAutoFilter af(new GGaussianProcess()); af.basicTest(0.693, 0.94); af.clear(); GGaussianProcess* pGP = new GGaussianProcess(); pGP->setKernel(new GKernelGaussianRBF(0.2)); GAutoFilter af2(pGP); af2.basicTest(0.67, 0.92); }