X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/edccf4281bc8fbb9d8151240ba5b208339c9ac11..619d05280a2b929908565d87a6edbba5a04dc21b:/src/msw/app.cpp diff --git a/src/msw/app.cpp b/src/msw/app.cpp index caf8b6e696..2982fd9716 100644 --- a/src/msw/app.cpp +++ b/src/msw/app.cpp @@ -19,6 +19,7 @@ #ifdef __GNUG__ #pragma implementation "app.h" + #pragma implementation "appbase.h" #endif // For compilers that support precompilation, includes "wx.h". @@ -43,7 +44,8 @@ #include "wx/msgdlg.h" #include "wx/intl.h" #include "wx/dynarray.h" - #include "wx/wxchar.h" +# include "wx/wxchar.h" +# include "wx/icon.h" #endif #include "wx/log.h" @@ -707,7 +709,7 @@ int wxEntry(WXHINSTANCE hInstance) //// Static member initialization -wxAppInitializerFunction wxApp::m_appInitFn = (wxAppInitializerFunction) NULL; +wxAppInitializerFunction wxAppBase::m_appInitFn = (wxAppInitializerFunction) NULL; wxApp::wxApp() { @@ -923,6 +925,15 @@ bool wxApp::ProcessMessage(WXMSG *wxmsg) HWND hWnd = msg->hwnd; wxWindow *wndThis = wxFindWinFromHandle((WXHWND)hWnd), *wnd; + // for some composite controls (like a combobox), wndThis might be NULL + // because the subcontrol is not a wxWindow, but only the control itself + // is - try to catch this case + while ( hWnd && !wndThis ) + { + hWnd = ::GetParent(hWnd); + wndThis = wxFindWinFromHandle((WXHWND)hWnd); + } + // Try translations first; find the youngest window with // a translation table. for ( wnd = wndThis; wnd; wnd = wnd->GetParent() ) @@ -1052,21 +1063,6 @@ void wxApp::OnQueryEndSession(wxCloseEvent& event) } } -wxLog* wxApp::CreateLogTarget() -{ - return new wxLogGui; -} - -wxWindow* wxApp::GetTopWindow() const -{ - if (m_topWindow) - return m_topWindow; - else if (wxTopLevelWindows.GetCount() > 0) - return wxTopLevelWindows.GetFirst()->GetData(); - else - return NULL; -} - int wxApp::GetComCtl32Version() const { // have we loaded COMCTL32 yet? @@ -1140,6 +1136,30 @@ bool wxYield() return TRUE; } +wxIcon +wxApp::GetStdIcon(int which) const +{ + switch(which) + { + case wxICON_INFORMATION: + return wxIcon("wxICON_INFO"); + + case wxICON_QUESTION: + return wxIcon("wxICON_QUESTION"); + + case wxICON_EXCLAMATION: + return wxIcon("wxICON_WARNING"); + + default: + wxFAIL_MSG(_T("requested non existent standard icon")); + // still fall through + + case wxICON_HAND: + return wxIcon("wxICON_ERROR"); + } +} + + HINSTANCE wxGetInstance() { return wxhInstance;