Exemplo n.º 1
0
bool WindowManager::Close()
{
    QList<Window::Pointer> t = windows; // make iteration robust
    for (QList<Window::Pointer>::iterator iter = t.begin();
            iter != t.end(); ++iter)
    {
        bool closed = (*iter)->Close();
        if (!closed)
        {
            return false;
        }
    }

    if (!subManagers.empty())
    {
        for (QList<WindowManager*>::iterator iter = subManagers.begin();
                iter != subManagers.end(); ++iter)
        {
            WindowManager* wm = *iter;
            bool closed = wm->Close();
            if (!closed)
            {
                return false;
            }
        }
    }
    return true;
}