// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
+#ifdef __GNUG__
+ #pragma implementation "app.h"
+#endif
+
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
wxLogLastError(sError);
return FALSE;
}
+ if (!::WinRegisterClass( vHab
+ ,wxCanvasClassNameNR
+ ,wxWndProc
+ ,CS_HITTEST | CS_SYNCPAINT
+ ,sizeof(ULONG)
+ ))
+ {
+ vError = ::WinGetLastError(vHab);
+ sError = wxPMErrorToStr(vError);
+ wxLogLastError(sError);
+ return FALSE;
+ }
return TRUE;
} // end of wxApp::RegisterWindowClasses
{
if (wxTheApp->OnInit())
{
- nRetValue = wxTheApp->OnRun();
+ wxTheApp->OnRun();
}
// Normal exit
wxWindow* pTopWindow = wxTheApp->GetTopWindow();
printf("wxTheApp->OnExit ");
fflush(stdout);
#endif
- wxTheApp->OnExit();
+ nRetValue = wxTheApp->OnExit();
#if wxUSE_CONSOLEDEBUG
printf("wxApp::CleanUp ");
fflush(stdout);
argc = 0;
argv = NULL;
m_nPrintMode = wxPRINT_WINDOWS;
- m_exitOnFrameDelete = TRUE;
m_bAuto3D = TRUE;
m_hMq = 0;
m_maxSocketHandles = 0;
{
QMSG vMsg = svSavedMessages[n];
- if ( !ProcessMessage((WXMSG *)&vMsg) )
- {
- ::WinDispatchMsg(vHabmain, &vMsg);
- }
+ DoMessage((WXMSG*)&vMsg);
}
svSavedMessages.Empty();
}
void wxApp::ExitMainLoop()
{
- m_bKeepGoing = FALSE;
-}
+ ::WinPostMsg(NULL, WM_QUIT, 0, 0);
+} // end of wxApp::ExitMainLoop
bool wxApp::Pending()
{
return (::WinPeekMsg(vHabmain, (PQMSG)&svCurrentMsg, (HWND)NULL, 0, 0, PM_NOREMOVE) != 0);
-}
+} // end of wxApp::Pending
void wxApp::Dispatch()
{
wxWindow* pWndThis = wxFindWinFromHandle((WXHWND)hWnd);
wxWindow* pWnd;
-#if wxUSE_TOOLTIPS
- //
- // We must relay WM_MOUSEMOVE events to the tooltip ctrl if we want it to
- // popup the tooltip bubbles
- //
- if (pWndThis && (pMsg->msg == WM_MOUSEMOVE))
- {
- wxToolTip* pToolTip = pWndThis->GetToolTip();
- if (pToolTip)
- {
- pToolTip->RelayEvent(pWxmsg);
- }
- }
-#endif // wxUSE_TOOLTIPS
-
//
// Pass non-system timer messages to the wxTimerProc
//
return FALSE;
} // end of wxApp::ProcessMessage
+bool gbInOnIdle = FALSE;
+
void wxApp::OnIdle(
wxIdleEvent& rEvent
)
{
- static bool sbInOnIdle = FALSE;
//
// Avoid recursion (via ProcessEvent default case)
//
- if (sbInOnIdle)
+ if (gbInOnIdle)
return;
- sbInOnIdle = TRUE;
+ gbInOnIdle = TRUE;
//
// If there are pending events, we must process them: pending events
//
rEvent.RequestMore(TRUE);
}
- sbInOnIdle = FALSE;
+ gbInOnIdle = FALSE;
} // end of wxApp::OnIdle
// Send idle event to all top-level windows
return TRUE;
} // end of wxYield
-wxIcon wxApp::GetStdIcon(
- int nWhich
-) const
-{
- switch(nWhich)
- {
- case wxICON_INFORMATION:
- return wxIcon("wxICON_INFO");
-
- case wxICON_QUESTION:
- return wxIcon("wxICON_QUESTION");
-
- case wxICON_EXCLAMATION:
- return wxIcon("wxICON_WARNING");
-
- default:
- wxFAIL_MSG(wxT("requested non existent standard icon"));
- // still fall through
-
- case wxICON_HAND:
- return wxIcon("wxICON_ERROR");
- }
- return wxIcon("wxICON_ERROR");
-} // end of wxApp::GetStdIcon
-
int wxApp::AddSocketHandler(int handle, int mask,
void (*callback)(void*), void * gsock)
{