// class OnInit() to do it.
virtual bool OnInit();
- // this is here only temproary hopefully (FIXME)
+ // this is here only temporary hopefully (FIXME)
virtual bool OnInitGui() { return true; }
// This is the replacement for the normal main(): all program work should
// override it!)
virtual void OnInitCmdLine(wxCmdLineParser& parser);
- // called after successfully parsing the command line, return TRUE
- // to continue and FALSE to exit (don't forget to call the base class
+ // called after successfully parsing the command line, return true
+ // to continue and false to exit (don't forget to call the base class
// version if you override it!)
virtual bool OnCmdLineParsed(wxCmdLineParser& parser);
- // called if "--help" option was specified, return TRUE to continue
- // and FALSE to exit
+ // called if "--help" option was specified, return true to continue
+ // and false to exit
virtual bool OnCmdLineHelp(wxCmdLineParser& parser);
// called if incorrect command line options were given, return
- // FALSE to abort and TRUE to continue
+ // false to abort and true to continue
virtual bool OnCmdLineError(wxCmdLineParser& parser);
#endif // wxUSE_CMDLINE_PARSER
// make sure that idle events are sent again
virtual void WakeUpIdle() { }
+ // this is just a convenience: by providing its implementation here we
+ // avoid #ifdefs in the code using it
+ static bool IsMainLoopRunning() { return false; }
+
// debugging support
// -----------------
// the worker functions - usually not used directly by the user code
// -----------------------------------------------------------------
+ // return true if we're running main loop, i.e. if the events can
+ // (already) be dispatched
+ static bool IsMainLoopRunning()
+ {
+#if wxUSE_EVTLOOP_IN_APP
+ wxAppBase *app = wx_static_cast(wxAppBase *, GetInstance());
+ return app && app->m_mainLoop != NULL;
+#else
+ return false;
+#endif
+ }
+
// execute the main GUI loop, the function returns when the loop ends
virtual int MainLoop();
// stop the program immediately!)
virtual void ExitMainLoop();
- // returns TRUE if there are unprocessed events in the event queue
+ // returns true if there are unprocessed events in the event queue
virtual bool Pending();
// process the first event in the event queue (blocks until an event
// process all currently pending events right now
//
// it is an error to call Yield() recursively unless the value of
- // onlyIfNeeded is TRUE
+ // onlyIfNeeded is true
//
// WARNING: this function is dangerous as it can lead to unexpected
// reentrancies (i.e. when called from an event handler it
// may result in calling the same event handler again), use
// with _extreme_ care or, better, don't use at all!
- virtual bool Yield(bool onlyIfNeeded = FALSE) = 0;
+ virtual bool Yield(bool onlyIfNeeded = false) = 0;
// this virtual function is called in the GUI mode when the application
// becomes idle and normally just sends wxIdleEvent to all interested
// parties
//
- // it should return TRUE if more idle events are needed, FALSE if not
+ // it should return true if more idle events are needed, false if not
virtual bool ProcessIdle();
// Send idle event to window and all subwindows
- // Returns TRUE if more idle time is requested.
+ // Returns true if more idle time is requested.
virtual bool SendIdleEvents(wxWindow* win, wxIdleEvent& event);
// Perform standard OnIdle behaviour: call from port's OnIdle
// top level window functions
// --------------------------
- // return TRUE if our app has focus
+ // return true if our app has focus
virtual bool IsActive() const { return m_isActive; }
// set the "main" top level window
// control the exit behaviour: by default, the program will exit the
// main loop (and so, usually, terminate) when the last top-level
// program window is deleted. Beware that if you disable this behaviour
- // (with SetExitOnFrameDelete(FALSE)), you'll have to call
+ // (with SetExitOnFrameDelete(false)), you'll have to call
// ExitMainLoop() explicitly from somewhere.
void SetExitOnFrameDelete(bool flag)
{ m_exitOnFrameDelete = flag ? Yes : No; }
// Set display mode to use. This is only used in framebuffer wxWin
// ports (such as wxMGL). This method should be called from
// wxApp::OnInitGui
- virtual bool SetDisplayMode(const wxVideoMode& WXUNUSED(info)) { return TRUE; }
+ virtual bool SetDisplayMode(const wxVideoMode& WXUNUSED(info)) { return true; }
// set use of best visual flag (see below)
void SetUseBestVisual( bool flag ) { m_useBestVisual = flag; }
Yes
} m_exitOnFrameDelete;
- // TRUE if the apps whats to use the best visual on systems where
+ // true if the apps whats to use the best visual on systems where
// more than one are available (Sun, SGI, XFree86 4.0 ?)
bool m_useBestVisual;
// ----------------------------------------------------------------------------
#if wxUSE_GUI
- #if defined(__WXMSW__)
+ #if defined(__PALMOS__)
+ #include "wx/palmos/app.h"
+ #elif defined(__WXMSW__)
#include "wx/msw/app.h"
#elif defined(__WXMOTIF__)
#include "wx/motif/app.h"
// port-specific header could have defined it already in some special wau
#ifndef IMPLEMENT_WXWIN_MAIN
- #if !wxUSE_GUI
- #define IMPLEMENT_WXWIN_MAIN IMPLEMENT_WXWIN_MAIN_CONSOLE
- #else // wxUSE_GUI
- #define IMPLEMENT_WXWIN_MAIN
- #endif
+ #define IMPLEMENT_WXWIN_MAIN IMPLEMENT_WXWIN_MAIN_CONSOLE
#endif // defined(IMPLEMENT_WXWIN_MAIN)
#ifdef __WXUNIVERSAL__