]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/app.h
added GetMargins()
[wxWidgets.git] / include / wx / app.h
index 424420c731fd739a7b9b9d2f6fc7733ff0c69bc0..ac59394d3af155ec402ca0eb08e8b62ae921da9a 100644 (file)
@@ -6,33 +6,17 @@
 // Modified by:
 // Created:     01/02/97
 // RCS-ID:      $Id$
-// Copyright:   (c) Julian Smart and Markus Holzem
+// Copyright:   (c) Julian Smart
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_APP_H_BASE_
 #define _WX_APP_H_BASE_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
     #pragma interface "appbase.h"
 #endif
 
-// ----------------------------------------------------------------------------
-// typedefs
-// ----------------------------------------------------------------------------
-
-#if (defined(__WXMSW__) && !defined(__WXMICROWIN__)) || defined (__WXPM__)
-    class WXDLLEXPORT wxApp;
-    typedef wxApp* (*wxAppInitializerFunction)();
-#else
-    // returning wxApp* won't work with gcc
-    #include "wx/object.h"
-
-    typedef wxObject* (*wxAppInitializerFunction)();
-#endif
-
-class WXDLLEXPORT wxCmdLineParser;
-
 // ----------------------------------------------------------------------------
 // headers we have to include here
 // ----------------------------------------------------------------------------
@@ -49,9 +33,18 @@ class WXDLLEXPORT wxCmdLineParser;
 
 #include "wx/build.h"
 
+class WXDLLEXPORT wxApp;
+class WXDLLEXPORT wxCmdLineParser;
 class WXDLLEXPORT wxLog;
 class WXDLLEXPORT wxMessageOutput;
 
+// ----------------------------------------------------------------------------
+// typedefs
+// ----------------------------------------------------------------------------
+
+// the type of the function used to create a wxApp object on program start up
+typedef wxApp* (*wxAppInitializerFunction)();
+
 // ----------------------------------------------------------------------------
 // constants
 // ----------------------------------------------------------------------------
@@ -146,8 +139,6 @@ public:
         // Override: rarely.
     virtual void OnFatalException() { }
 
-    virtual bool ProcessIdle() = 0;
-
     // the worker functions - usually not used directly by the user code
     // -----------------------------------------------------------------
 
@@ -179,6 +170,13 @@ public:
         //          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;
+
+        // 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
+    virtual bool ProcessIdle() = 0;
 #endif // wxUSE_GUI
 
     // application info: name, description, vendor
@@ -425,10 +423,10 @@ protected:
         #include "wx/x11/app.h"
     #elif defined(__WXMAC__)
         #include "wx/mac/app.h"
+    #elif defined(__WXCOCOA__)
+        #include "wx/cocoa/app.h"
     #elif defined(__WXPM__)
         #include "wx/os2/app.h"
-    #elif defined(__WXSTUBS__)
-        #include "wx/stubs/app.h"
     #endif
 #else // !GUI
     // can't use typedef because wxApp forward declared as a class
@@ -532,15 +530,15 @@ public:
 // be in your main program (e.g. hello.cpp). Now IMPLEMENT_APP should add this
 // code if required.
 
-#if !wxUSE_GUI || defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXPM__) || defined(__WXMGL__)
+#if !wxUSE_GUI || defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXPM__) || defined(__WXMGL__) || defined(__WXCOCOA__)
     #define IMPLEMENT_WXWIN_MAIN \
-        extern int wxEntry( int argc, char *argv[] ); \
-        int main(int argc, char *argv[]) { return wxEntry(argc, argv); }
-#elif defined(__WXMAC__) && defined(__UNIX__)
+        extern int wxEntry( int argc, char **argv ); \
+        int main(int argc, char **argv) { return wxEntry(argc, argv); }
+#elif defined(__WXMAC__)
     // wxMac seems to have a specific wxEntry prototype
     #define IMPLEMENT_WXWIN_MAIN \
-        extern int wxEntry( int argc, char *argv[], bool enterLoop = 1 ); \
-        int main(int argc, char *argv[]) { return wxEntry(argc, argv); }
+        extern int wxEntry( int argc, char **argv, bool enterLoop = TRUE ); \
+        int main(int argc, char **argv) { return wxEntry(argc, argv); }
 #elif defined(__WXMSW__) && defined(WXUSINGDLL)
     // NT defines APIENTRY, 3.x not
     #if !defined(WXAPIENTRY)