]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/app.h
Renamed internal GetClientWindow to GetClientAreaWindow so
[wxWidgets.git] / include / wx / app.h
index 801c549d6483df0d0b7590bc0e30cba1085da793..8324651d6017f190a53491ed532e98b24ee68950 100644 (file)
@@ -92,6 +92,8 @@ private:
 
 class WXDLLEXPORT wxAppBase : public wxEvtHandler
 {
+    DECLARE_NO_COPY_CLASS(wxAppBase)
+        
 public:
     wxAppBase();
     virtual ~wxAppBase();
@@ -106,6 +108,10 @@ public:
         // Override: always in GUI application, rarely in console ones.
     virtual bool OnInit();
 
+        // initializes wxMessageOutput; other responsibilities
+        // may be added later
+    virtual void DoInit();
+
 #if wxUSE_GUI
         // a platform-dependent version of OnInit(): the code here is likely to
         // depend on the toolkit. default version does nothing.
@@ -145,6 +151,8 @@ public:
         // Override: rarely.
     virtual void OnFatalException() { }
 
+    virtual bool ProcessIdle() = 0;
+
     // the worker functions - usually not used directly by the user code
     // -----------------------------------------------------------------
 
@@ -313,14 +321,29 @@ public:
     virtual void SetActive(bool isActive, wxWindow *lastFocus);
 #endif // wxUSE_GUI
 
+    // this method allows to filter all the events processed by the program, so
+    // you should try to return quickly from it to avoid slowing down the
+    // program to the crawl
+    //
+    // return value should be -1 to continue with the normal event processing,
+    // or TRUE or FALSE to stop further processing and pretend that the event
+    // had been already processed or won't be processed at all, respectively
+    virtual int FilterEvent(wxEvent& event);
+
     // debugging support
     // -----------------
 
     // this function is called when an assert failure occurs, the base class
     // version does the normal processing (i.e. shows the usual assert failure
     // dialog box)
+    //
+    // the arguments are the place where the assert occured, the text of the
+    // assert itself and the user-specified message
 #ifdef __WXDEBUG__
-    virtual void OnAssert(const wxChar *file, int line, const wxChar *msg);
+    virtual void OnAssert(const wxChar *file,
+                          int line,
+                          const wxChar *cond,
+                          const wxChar *msg);
 #endif // __WXDEBUG__
 
     // check that the wxBuildOptions object (constructed in the application
@@ -546,20 +569,14 @@ public:
     #define IMPLEMENT_WX_THEME_SUPPORT
 #endif
 
-// define the build options object for the application which is compared to the
-// one used for building the library on the program startup
-#define WX_DEFINE_BUILDOPTS()                            \
-    const wxBuildOptions& wxGetBuildOptions()            \
-    {                                                    \
-        static wxBuildOptions s_buildOptions;            \
-        return s_buildOptions;                           \
-    }
-
 // Use this macro if you want to define your own main() or WinMain() function
 // and call wxEntry() from there.
 #define IMPLEMENT_APP_NO_MAIN(appname)                   \
-    WX_DEFINE_BUILDOPTS()                                \
-    wxApp *wxCreateApp() { return new appname; }         \
+    wxApp *wxCreateApp()                                 \
+    {                                                    \
+        wxApp::CheckBuildOptions(wxBuildOptions());      \
+        return new appname;                              \
+    }                                                    \
     wxAppInitializer wxTheAppInitializer((wxAppInitializerFunction) wxCreateApp); \
     appname& wxGetApp() { return *(appname *)wxTheApp; }