Exemple #1
0
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);
}