From 24e78d272a133ca96b6b096366dcd6d9bca6f11e Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Tue, 10 Jul 2001 15:14:57 +0000 Subject: [PATCH] moved WX_USE_THEME macros inside IMPLEMENT_APP git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10946 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/app.h | 30 +++++++++++++++++++++++------- samples/menu/menu.cpp | 7 ------- samples/widgets/widgets.cpp | 22 ++++++++-------------- 3 files changed, 31 insertions(+), 28 deletions(-) diff --git a/include/wx/app.h b/include/wx/app.h index cdd0e46cf5..4756689918 100644 --- a/include/wx/app.h +++ b/include/wx/app.h @@ -438,13 +438,15 @@ public: #define IMPLEMENT_WXWIN_MAIN #endif -// 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) \ - wxApp *wxCreateApp() { return new appname; } \ - wxAppInitializer wxTheAppInitializer((wxAppInitializerFunction) wxCreateApp); \ - appname& wxGetApp() { return *(appname *)wxTheApp; } \ - IMPLEMENT_WXWIN_MAIN +#ifdef __WXUNIVERSAL__ + #include "wx/univ/theme.h" + + #define IMPLEMENT_WX_THEME_SUPPORT \ + WX_USE_THEME(win32); \ + WX_USE_THEME(gtk); +#else + #define IMPLEMENT_WX_THEME_SUPPORT +#endif // Use this macro if you want to define your own main() or WinMain() function // and call wxEntry() from there. @@ -453,6 +455,20 @@ public: wxAppInitializer wxTheAppInitializer((wxAppInitializerFunction) wxCreateApp); \ appname& wxGetApp() { return *(appname *)wxTheApp; } +// Same as IMPLEMENT_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 + +// 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 + +// this macro can be used multiple times and just allows you to use wxGetApp() +// function #define DECLARE_APP(appname) extern appname& wxGetApp(); #endif diff --git a/samples/menu/menu.cpp b/samples/menu/menu.cpp index 91bb10d30f..0751bad75d 100644 --- a/samples/menu/menu.cpp +++ b/samples/menu/menu.cpp @@ -40,13 +40,6 @@ #include "copy.xpm" -#ifdef __WXUNIVERSAL__ - #include "wx/univ/theme.h" - - WX_USE_THEME(win32); - WX_USE_THEME(gtk); -#endif // __WXUNIVERSAL__ - // ---------------------------------------------------------------------------- // classes // ---------------------------------------------------------------------------- diff --git a/samples/widgets/widgets.cpp b/samples/widgets/widgets.cpp index ff4cee53d8..d899435866 100644 --- a/samples/widgets/widgets.cpp +++ b/samples/widgets/widgets.cpp @@ -173,13 +173,6 @@ WX_DEFINE_ARRAY(WidgetsPage *, ArrayWidgetsPage); IMPLEMENT_APP(WidgetsApp) -#ifdef __WXUNIVERSAL__ - #include "wx/univ/theme.h" - - WX_USE_THEME(win32); - WX_USE_THEME(gtk); -#endif // __WXUNIVERSAL__ - // ---------------------------------------------------------------------------- // event tables // ---------------------------------------------------------------------------- @@ -201,17 +194,18 @@ bool WidgetsApp::OnInit() { // the reason for having these ifdef's is that I often run two copies of // this sample side by side and it is useful to see which one is which - wxString title = + wxString title; #if defined(__WXUNIVERSAL__) - _T("wxUniv") -#elif defined(__WXMSW__) - _T("wxMSW") + title = _T("wxUniv/") +#endif + +#if defined(__WXMSW__) + title += _T("wxMSW"); #elif defined(__WXGTK__) - _T("wxGTK") + title += _T("wxGTK"); #else - _T("wxWindows") + title += _T("wxWindows"); #endif - ; wxFrame *frame = new WidgetsFrame(title + _T(" widgets demo")); frame->Show(); -- 2.45.2