void wxApp::MacReopenApp() { // 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* 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 ) ; } }
void wxApp::MacReopenApp() { // 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 ) { MacNewFile() ; } else { wxTopLevelWindow* firstIconized = NULL ; wxTopLevelWindow* firstHidden = NULL ; while (node) { wxTopLevelWindow* win = (wxTopLevelWindow*) node->GetData(); if ( !win->IsShown() ) { // make sure we don't show 'virtual toplevel windows' like wxTaskBarIconWindow if ( firstHidden == NULL && ( wxDynamicCast( win, wxFrame ) || wxDynamicCast( win, wxDialog ) ) ) firstHidden = win ; } else if ( win->IsIconized() ) { if ( firstIconized == NULL ) firstIconized = win ; } else { // we do have a visible, non-iconized toplevelwindow -> do nothing return; } node = node->GetNext(); } if ( firstIconized ) firstIconized->Iconize( false ) ; // showing hidden windows is not really always a good solution, also non-modal dialogs when closed end up // as hidden tlws, we don't want to reshow those, so let's just reopen the minimized a.k.a. iconized tlws // unless we find a regression ... #if 0 else if ( firstHidden ) firstHidden->Show( true ); #endif } }
void wxApp::MacReopenApp() { // 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 ) { MacNewFile() ; } else { wxTopLevelWindow* firstIconized = NULL ; wxTopLevelWindow* firstHidden = NULL ; while (node) { wxTopLevelWindow* win = (wxTopLevelWindow*) node->GetData(); if ( !win->IsShown() ) { // make sure we don't show 'virtual toplevel windows' like wxTaskBarIconWindow if ( firstHidden == NULL && ( wxDynamicCast( win, wxFrame ) || wxDynamicCast( win, wxDialog ) ) ) firstHidden = win ; } else if ( win->IsIconized() ) { if ( firstIconized == NULL ) firstIconized = win ; } else { // we do have a visible, non-iconized toplevelwindow -> do nothing return; } node = node->GetNext(); } if ( firstIconized ) firstIconized->Iconize( false ) ; else if ( firstHidden ) firstHidden->Show( true ); } }
short wxApp::MacHandleAEOApp(const WXEVENTREF WXUNUSED(event) , WXEVENTREF WXUNUSED(reply)) { MacNewFile() ; return noErr ; }