virtual void OnFatalException() { }
#if wxUSE_EXCEPTIONS
+ // function called if an uncaught exception is caught inside the main
+ // event loop: it may return true to continue running the event loop or
+ // false to stop it (in the latter case it may rethrow the exception as
+ // well)
+ virtual bool OnExceptionInMainLoop();
+
// Called when an unhandled C++ exception occurs inside OnRun(): note that
// the exception type is lost by now, so if you really want to handle the
// exception you should override OnRun() and put a try/catch around
// stop the program immediately!)
virtual void ExitMainLoop();
- // returns true if the program is initialized, i.e. OnInit() has been
- // completed successfully
- virtual bool Initialized() = 0;
-
// returns TRUE if there are unprocessed events in the event queue
virtual bool Pending();
// deactivated
virtual void SetActive(bool isActive, wxWindow *lastFocus);
+ // OBSOLETE: don't use, always returns true
+ //
+ // returns true if the program is successfully initialized
+ bool Initialized() { return true; }
+
protected:
// delete all objects in wxPendingDelete list
// we need HINSTANCE declaration to define WinMain()
#include "wx/msw/wrapwin.h"
- #ifdef SW_SHOWNORMAL
- #define wxSW_SHOWNORMAL SW_SHOWNORMAL
+ #ifndef SW_SHOWNORMAL
+ #define SW_SHOWNORMAL 1
+ #endif
+
+ // WinMain() is always ANSI, even in Unicode build, under normal Windows
+ // but is always Unicode under CE
+ #ifdef __WXWINCE__
+ typedef wchar_t *wxCmdLineArgType;
#else
- #define wxSW_SHOWNORMAL 0
+ typedef char *wxCmdLineArgType;
#endif
#define IMPLEMENT_WXWIN_MAIN \
extern int wxEntry(HINSTANCE hInstance, \
HINSTANCE hPrevInstance = NULL, \
- char *pCmdLine = NULL, \
- int nCmdShow = wxSW_SHOWNORMAL); \
+ wxCmdLineArgType pCmdLine = NULL, \
+ int nCmdShow = SW_SHOWNORMAL); \
extern "C" int WINAPI WinMain(HINSTANCE hInstance, \
HINSTANCE hPrevInstance, \
- char *lpCmdLine, \
+ wxCmdLineArgType lpCmdLine, \
int nCmdShow) \
{ \
return wxEntry(hInstance, hPrevInstance, lpCmdLine, nCmdShow); \