]> git.saurik.com Git - wxWidgets.git/commitdiff
Implement wx-prefixed macros versions of DECLARE/IMPLEMENT_APP_* macros.
authorFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Wed, 9 Jun 2010 13:23:13 +0000 (13:23 +0000)
committerFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Wed, 9 Jun 2010 13:23:13 +0000 (13:23 +0000)
Implement compatibility aliases for non-prefixed macro names.
Require a final semicolon where possible.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64531 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/app.h
include/wx/build.h
include/wx/debug.h
include/wx/init.h
include/wx/log.h
include/wx/msw/app.h
include/wx/palmos/app.h
interface/wx/app.h
interface/wx/debug.h
interface/wx/init.h
interface/wx/log.h

index 965ffaf723aa26dcb8c7f523d216c08202259a99..89df53f419f45cc324083da16e95eae2aa3a9075 100644 (file)
@@ -399,7 +399,7 @@ public:
                           const wxChar *msg);
 
     // check that the wxBuildOptions object (constructed in the application
-    // itself, usually the one from IMPLEMENT_APP() macro) matches the build
+    // itself, usually the one from wxIMPLEMENT_APP() macro) matches the build
     // options of the library and abort if it doesn't
     static bool CheckBuildOptions(const char *optionsSignature,
                                   const char *componentName);
@@ -728,7 +728,7 @@ protected:
 // object of type wxApp
 //
 // note that instead of using of wxTheApp in application code you should
-// consider using DECLARE_APP() after which you may call wxGetApp() which will
+// consider using wxDECLARE_APP() after which you may call wxGetApp() which will
 // return the object of the correct type (i.e. MyApp and not wxApp)
 //
 // the cast is safe as in GUI build we only use wxApp, not wxAppConsole, and in
@@ -773,11 +773,11 @@ public:
         { wxApp::SetInitializerFunction(fn); }
 };
 
-// the code below defines a IMPLEMENT_WXWIN_MAIN macro which you can use if
+// the code below defines a wxIMPLEMENT_WXWIN_MAIN macro which you can use if
 // your compiler really, really wants main() to be in your main program (e.g.
-// hello.cpp). Now IMPLEMENT_APP should add this code if required.
+// hello.cpp). Now wxIMPLEMENT_APP should add this code if required.
 
-#define IMPLEMENT_WXWIN_MAIN_CONSOLE                                          \
+#define wxIMPLEMENT_WXWIN_MAIN_CONSOLE                                        \
     int main(int argc, char **argv)                                           \
     {                                                                         \
         wxDISABLE_DEBUG_SUPPORT();                                            \
@@ -786,26 +786,26 @@ public:
     }
 
 // port-specific header could have defined it already in some special way
-#ifndef IMPLEMENT_WXWIN_MAIN
-    #define IMPLEMENT_WXWIN_MAIN IMPLEMENT_WXWIN_MAIN_CONSOLE
-#endif // defined(IMPLEMENT_WXWIN_MAIN)
+#ifndef wxIMPLEMENT_WXWIN_MAIN
+    #define wxIMPLEMENT_WXWIN_MAIN          wxIMPLEMENT_WXWIN_MAIN_CONSOLE
+#endif // defined(wxIMPLEMENT_WXWIN_MAIN)
 
 #ifdef __WXUNIVERSAL__
     #include "wx/univ/theme.h"
 
     #ifdef wxUNIV_DEFAULT_THEME
-        #define IMPLEMENT_WX_THEME_SUPPORT \
+        #define wxIMPLEMENT_WX_THEME_SUPPORT \
             WX_USE_THEME(wxUNIV_DEFAULT_THEME);
     #else
-        #define IMPLEMENT_WX_THEME_SUPPORT
+        #define wxIMPLEMENT_WX_THEME_SUPPORT
     #endif
 #else
-    #define IMPLEMENT_WX_THEME_SUPPORT
+    #define wxIMPLEMENT_WX_THEME_SUPPORT
 #endif
 
 // 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)                                      \
+#define wxIMPLEMENT_APP_NO_MAIN(appname)                                    \
     wxAppConsole *wxCreateApp()                                             \
     {                                                                       \
         wxAppConsole::CheckBuildOptions(WX_BUILD_OPTIONS_SIGNATURE,         \
@@ -814,36 +814,54 @@ public:
     }                                                                       \
     wxAppInitializer                                                        \
         wxTheAppInitializer((wxAppInitializerFunction) wxCreateApp);        \
-    DECLARE_APP(appname)                                                    \
-    appname& wxGetApp() { return *static_cast<appname*>(wxApp::GetInstance()); }
+    appname& wxGetApp() { return *static_cast<appname*>(wxApp::GetInstance()); }    \
+    wxDECLARE_APP(appname)
 
-// Same as IMPLEMENT_APP() normally but doesn't include themes support in
+// Same as wxIMPLEMENT_APP() normally but doesn't include themes support in
 // wxUniversal builds
-#define IMPLEMENT_APP_NO_THEMES(appname)    \
-    IMPLEMENT_APP_NO_MAIN(appname)          \
-    IMPLEMENT_WXWIN_MAIN
+#define wxIMPLEMENT_APP_NO_THEMES(appname)  \
+    wxIMPLEMENT_WXWIN_MAIN                  \
+    wxIMPLEMENT_APP_NO_MAIN(appname)
 
 // Use this macro exactly once, the argument is the name of the wxApp-derived
 // class which is the class of your application.
-#define IMPLEMENT_APP(appname)              \
-    IMPLEMENT_APP_NO_THEMES(appname)        \
-    IMPLEMENT_WX_THEME_SUPPORT
+#define wxIMPLEMENT_APP(appname)            \
+    wxIMPLEMENT_WX_THEME_SUPPORT            \
+    wxIMPLEMENT_APP_NO_THEMES(appname)
 
 // Same as IMPLEMENT_APP(), but for console applications.
-#define IMPLEMENT_APP_CONSOLE(appname)      \
-    IMPLEMENT_APP_NO_MAIN(appname)          \
-    IMPLEMENT_WXWIN_MAIN_CONSOLE
+#define wxIMPLEMENT_APP_CONSOLE(appname)    \
+    wxIMPLEMENT_WXWIN_MAIN_CONSOLE          \
+    wxIMPLEMENT_APP_NO_MAIN(appname)
 
 // this macro can be used multiple times and just allows you to use wxGetApp()
 // function
-#define DECLARE_APP(appname) extern appname& wxGetApp();
+#define wxDECLARE_APP(appname)              \
+    extern appname& wxGetApp()
 
 
-// declare the stuff defined by IMPLEMENT_APP() macro, it's not really needed
+// declare the stuff defined by wxIMPLEMENT_APP() macro, it's not really needed
 // anywhere else but at the very least it suppresses icc warnings about
 // defining extern symbols without prior declaration, and it shouldn't do any
 // harm
 extern wxAppConsole *wxCreateApp();
 extern wxAppInitializer wxTheAppInitializer;
 
+// ----------------------------------------------------------------------------
+// Compatibility macro aliases
+// ----------------------------------------------------------------------------
+
+// deprecated variants _not_ requiring a semicolon after them
+// (note that also some wx-prefixed macro do _not_ require a semicolon because
+//  it's not always possible to force the compire to require it)
+
+#define IMPLEMENT_WXWIN_MAIN_CONSOLE            wxIMPLEMENT_WXWIN_MAIN_CONSOLE
+#define IMPLEMENT_WXWIN_MAIN                    wxIMPLEMENT_WXWIN_MAIN
+#define IMPLEMENT_WX_THEME_SUPPORT              wxIMPLEMENT_WX_THEME_SUPPORT
+#define IMPLEMENT_APP_NO_MAIN(app)              wxIMPLEMENT_APP_NO_MAIN(app);
+#define IMPLEMENT_APP_NO_THEMES(app)            wxIMPLEMENT_APP_NO_THEMES(app);
+#define IMPLEMENT_APP(app)                      wxIMPLEMENT_APP(app);
+#define IMPLEMENT_APP_CONSOLE(app)              wxIMPLEMENT_APP_CONSOLE(app);
+#define DECLARE_APP(app)                        wxDECLARE_APP(app);
+
 #endif // _WX_APP_H_BASE_
index d3e60f1c3d0d0220a1b017753f561be5fe9dfca6..4d5b5421c4f18f320a3030cbb3ceec8f55fc7134 100644 (file)
 // ----------------------------------------------------------------------------
 
 // Use this macro to check build options. Adding it to a file in DLL will
-// ensure that the DLL checks build options in same way IMPLEMENT_APP() does.
+// ensure that the DLL checks build options in same way wxIMPLEMENT_APP() does.
 #define WX_CHECK_BUILD_OPTIONS(libName)                                 \
     static struct wxBuildOptionsChecker                                 \
     {                                                                   \
index 70e164d6e9c98c41391d2fe0cc8cc2326e3e1b71..3d49a9e523630560aeb1ef0e003497f8eb0680c2 100644 (file)
@@ -148,7 +148,7 @@ inline void wxDisableAsserts() { wxSetAssertHandler(NULL); }
 /*
     A macro which disables asserts for applications compiled in release build.
 
-    By default, IMPLEMENT_APP (or rather IMPLEMENT_WXWIN_MAIN) disable the
+    By default, wxIMPLEMENT_APP (or rather wxIMPLEMENT_WXWIN_MAIN) disable the
     asserts in the applications compiled in the release build by calling this.
     It does nothing if NDEBUG is not defined.
  */
index 3ea8957cc39ae01da40b3bc1ddced77ac5fbf224..90304ef91839ad2c1553c853c8166d39ca0a002e 100644 (file)
@@ -55,7 +55,7 @@ extern int WXDLLIMPEXP_BASE wxEntry(int& argc, char **argv);
 
 // ----------------------------------------------------------------------------
 // Using the library without (explicit) application object: you may avoid using
-// DECLARE_APP and IMPLEMENT_APP macros and call the functions below instead at
+// wxDECLARE_APP and wxIMPLEMENT_APP macros and call the functions below instead at
 // the program startup and termination
 // ----------------------------------------------------------------------------
 
index 41933e853486266806274ce2fc5fd1085bcf0019..71903146580a38e228e2952fc371f05cb668e06f 100644 (file)
@@ -1571,7 +1571,7 @@ wxSafeShowMessage(const wxString& title, const wxString& text);
 #endif
 
 // macro which disables debug logging in release builds: this is done by
-// default by IMPLEMENT_APP() so usually it doesn't need to be used explicitly
+// default by wxIMPLEMENT_APP() so usually it doesn't need to be used explicitly
 #if defined(NDEBUG) && wxUSE_LOG_DEBUG
     #define wxDISABLE_DEBUG_LOGGING_IN_RELEASE_BUILD() \
         wxLog::SetLogLevel(wxLOG_Info)
index 73e01be93888dc1114d150887eee8d5cf0307bfd..ab41124fabfb23ad1b6d236b8cadddc487c96034 100644 (file)
@@ -127,7 +127,7 @@ inline int wxApp::GetShell32Version()
 #endif // __WXWINCE__
 
 // ----------------------------------------------------------------------------
-// MSW-specific wxEntry() overload and IMPLEMENT_WXWIN_MAIN definition
+// MSW-specific wxEntry() overload and wxIMPLEMENT_WXWIN_MAIN definition
 // ----------------------------------------------------------------------------
 
 // we need HINSTANCE declaration to define WinMain()
@@ -164,11 +164,11 @@ extern WXDLLIMPEXP_CORE int
     // command line flag is used, the linker expects to find wWinMain instead
     // of WinMain. This flag causes the compiler to define _UNICODE and
     // UNICODE symbols and there's no way to detect its use, so we have to
-    // define both WinMain and wWinMain so that IMPLEMENT_WXWIN_MAIN works
+    // define both WinMain and wWinMain so that wxIMPLEMENT_WXWIN_MAIN works
     // for both code compiled with and without -WU.
     // See http://sourceforge.net/tracker/?func=detail&atid=309863&aid=1935997&group_id=9863
     // for more details.
-    #define IMPLEMENT_WXWIN_MAIN_BORLAND_NONSTANDARD                        \
+    #define wxIMPLEMENT_WXWIN_MAIN_BORLAND_NONSTANDARD                      \
         extern "C" int WINAPI wWinMain(HINSTANCE hInstance,                 \
                                       HINSTANCE hPrevInstance,              \
                                       wchar_t * WXUNUSED(lpCmdLine),        \
@@ -182,10 +182,10 @@ extern WXDLLIMPEXP_CORE int
             return wxEntry(hInstance, hPrevInstance, NULL, nCmdShow);       \
         }
 #else
-    #define IMPLEMENT_WXWIN_MAIN_BORLAND_NONSTANDARD
+    #define wxIMPLEMENT_WXWIN_MAIN_BORLAND_NONSTANDARD
 #endif // defined(__BORLANDC__) && wxUSE_UNICODE
 
-#define IMPLEMENT_WXWIN_MAIN \
+#define wxIMPLEMENT_WXWIN_MAIN                                              \
     extern "C" int WINAPI WinMain(HINSTANCE hInstance,                      \
                                   HINSTANCE hPrevInstance,                  \
                                   wxCmdLineArgType WXUNUSED(lpCmdLine),     \
@@ -199,7 +199,7 @@ extern WXDLLIMPEXP_CORE int
         /*     wWinMain() above too.                                     */ \
         return wxEntry(hInstance, hPrevInstance, NULL, nCmdShow);           \
     }                                                                       \
-    IMPLEMENT_WXWIN_MAIN_BORLAND_NONSTANDARD
+    wxIMPLEMENT_WXWIN_MAIN_BORLAND_NONSTANDARD
 
 
 #endif // _WX_APP_H_
index 0590f5e5891124077397cc8efbdcb11400c104b6..d5429471642573ef021c82e399b556d7796e96e0 100644 (file)
@@ -85,7 +85,7 @@ protected:
 
 extern WXDLLIMPEXP_CORE int wxEntry();
 
-#define IMPLEMENT_WXWIN_MAIN                                              \
+#define wxIMPLEMENT_WXWIN_MAIN                                            \
                                                                           \
     extern "C" {                                                          \
                                                                           \
index 701fda8b5bff7ee8f50b8bc041d87a8df3a15c97..4e8be1de06b54ebd89b7d7300bb42aa14076b63b 100644 (file)
         objects in the application (see wxAppConsole::FilterEvent)
     @li implement Apple-specific event handlers (see wxAppConsole::MacXXX functions)
 
-    You should use the macro IMPLEMENT_APP(appClass) in your application
+    You should use the macro wxIMPLEMENT_APP(appClass) in your application
     implementation file to tell wxWidgets how to create an instance of your
     application class.
 
-    Use DECLARE_APP(appClass) in a header file if you want the ::wxGetApp() function
+    Use wxDECLARE_APP(appClass) in a header file if you want the ::wxGetApp() function
     (which returns a reference to your application object) to be visible to other
     files.
 
@@ -856,35 +856,37 @@ public:
 
 /**
     This is used in headers to create a forward declaration of the ::wxGetApp()
-    function implemented by IMPLEMENT_APP().
+    function implemented by wxIMPLEMENT_APP().
 
-    It creates the declaration <tt>className& wxGetApp()</tt>.
+    It creates the declaration <tt>className& wxGetApp()</tt>
+    (requires a final semicolon).
 
     @header{wx/app.h}
 
     Example:
 
     @code
-    DECLARE_APP(MyApp)
+    wxDECLARE_APP(MyApp);
     @endcode
 */
-#define DECLARE_APP( className )
+#define wxDECLARE_APP( className )
 
 /**
     This is used in the application class implementation file to make the
     application class known to wxWidgets for dynamic construction.
+    Note that this macro requires a final semicolon.
 
     @header{wx/app.h}
 
     Example:
 
     @code
-    IMPLEMENT_APP(MyApp)
+    wxIMPLEMENT_APP(MyApp);
     @endcode
 
-    @see DECLARE_APP().
+    @see wxDECLARE_APP()
 */
-#define IMPLEMENT_APP( className )
+#define wxIMPLEMENT_APP( className )
 
 //@}
 
@@ -904,10 +906,10 @@ wxApp *wxTheApp;
 
 /**
     This function doesn't exist in wxWidgets but it is created by using the
-    IMPLEMENT_APP() macro.
+    wxIMPLEMENT_APP() macro.
 
     Thus, before using it anywhere but in the same module where this macro is
-    used, you must make it available using DECLARE_APP().
+    used, you must make it available using wxDECLARE_APP().
 
     The advantage of using this function compared to directly using the global
     ::wxTheApp pointer is that the latter is of type wxApp* and so wouldn't
@@ -1060,11 +1062,11 @@ void wxExit();
     @def wxDISABLE_DEBUG_SUPPORT()
 
     Use this macro to disable all debugging code in release build when not
-    using IMPLEMENT_APP().
+    using wxIMPLEMENT_APP().
 
     Currently this macro disables assert checking and debug and trace level
     logging messages in release build (i.e. when @c NDEBUG is defined). It is
-    used by IMPLEMENT_APP() macro so you only need to use it explicitly if you
+    used by wxIMPLEMENT_APP() macro so you only need to use it explicitly if you
     don't use this macro but initialize wxWidgets directly (e.g. calls
     wxEntry() or wxEntryStart() itself).
 
index d805f21e52fb2457ffb65067680605b5afcbf888..e3d2ef717f4544eb6856ed8508ddae951babdeb5 100644 (file)
@@ -249,10 +249,10 @@ void wxDisableAsserts();
     @def wxDISABLE_ASSERTS_IN_RELEASE_BUILD
 
     Use this macro to disable asserts in release build when not using
-    IMPLEMENT_APP().
+    wxIMPLEMENT_APP().
 
     By default, assert message boxes are suppressed in release build by
-    IMPLEMENT_APP() which uses this macro. If you don't use IMPLEMENT_APP()
+    wxIMPLEMENT_APP() which uses this macro. If you don't use wxIMPLEMENT_APP()
     because your application initializes wxWidgets directly (e.g. calls
     wxEntry() or wxEntryStart() itself) but still want to suppress assert
     notifications in release build you need to use this macro directly.
index d5d6a0fb6c6be91707f83324cd46ad54fdbfa7ad..cb74acc8a2d27ace5fe9dc4191b1add6b1f78874 100644 (file)
@@ -90,7 +90,7 @@ void wxEntryCleanup();
     Initialize the library (may be called as many times as needed, but each
     call to wxInitialize() must be matched by wxUninitialize()).
 
-    With this function you may avoid DECLARE_APP() and IMPLEMENT_APP() macros
+    With this function you may avoid wxDECLARE_APP() and wxIMPLEMENT_APP() macros
     and use wxInitialize() and wxUninitialize() dynamically in the
     program startup and termination.
 
index 04f57638d4bf001f84287f93ee5ad6b1d6e03a9a..434ef3547aaa8ed7e0b92c7b32075051a9d559ad 100644 (file)
@@ -1415,7 +1415,7 @@ void wxVLogSysError(const char* formatString, va_list argPtr);
     @def wxDISABLE_DEBUG_LOGGING_IN_RELEASE_BUILD()
 
     Use this macro to disable logging at debug and trace levels in release
-    build when not using IMPLEMENT_APP().
+    build when not using wxIMPLEMENT_APP().
 
     @see wxDISABLE_DEBUG_SUPPORT(),
          wxDISABLE_ASSERTS_IN_RELEASE_BUILD(),