reopen app according to HIG

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2004-05-29 14:56:49 +00:00
parent 94f9b1f0f3
commit 3f42061b05

View File

@@ -304,11 +304,38 @@ void wxApp::MacNewFile()
void wxApp::MacReopenApp()
{
// eventually check for open docs, if none, call MacNewFile
wxTopLevelWindowMac* topLevelWindow = wxDynamicCast(GetTopWindow(), wxTopLevelWindowMac);
if (topLevelWindow && topLevelWindow->IsIconized())
topLevelWindow->Iconize(false);
// HIG says :
// if there is no open window -> create a new one
// if all windows are hidden -> show the first
// if some windows are not hidden -> do nothing
wxWindowList::compatibility_iterator node = wxTopLevelWindows.GetFirst();
if ( node == NULL )
{
MacNewFile() ;
}
else
{
wxTopLevelWindow* win = NULL ;
wxTopLevelWindow* firstIconized = NULL ;
while (node)
{
wxTopLevelWindow* win = (wxTopLevelWindow*) node->GetData();
if ( win->IsIconized() == false )
{
firstIconized = NULL ;
break ;
}
else
{
if ( firstIconized == NULL )
firstIconized = win ;
}
node = node->GetNext();
}
if ( firstIconized )
firstIconized->Iconize( false ) ;
}
}
//----------------------------------------------------------------------