Пример #1
0
void KviMdiManager::focusPreviousTopChild(KviMdiChild * pExcludeThis)
{
	KviMdiChild * lpC = NULL;

	QList<QMdiSubWindow *> tmp = subWindowList(QMdiArea::StackingOrder);
	QListIterator<QMdiSubWindow*> wl(tmp);
	wl.toBack();

	while(wl.hasPrevious())
	{
		QMdiSubWindow * pSubWindow = wl.previous();

		if(!pSubWindow->inherits("KviMdiChild"))
			continue;

		lpC = static_cast<KviMdiChild *>(pSubWindow);

		if(lpC == pExcludeThis)
			continue;

		if(!lpC->isVisible())
			continue;

		if(lpC->state() != KviMdiChild::Minimized)
			break;
	}

	if(!lpC)
		return;

	showAndActivate(lpC);
}