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
This commit is contained in:
Vadim Zeitlin 2001-07-10 15:14:57 +00:00
parent e4606ed9d0
commit 24e78d272a
3 changed files with 33 additions and 30 deletions

View File

@ -438,13 +438,15 @@ public:
#define IMPLEMENT_WXWIN_MAIN #define IMPLEMENT_WXWIN_MAIN
#endif #endif
// Use this macro exactly once, the argument is the name of the wxApp-derived #ifdef __WXUNIVERSAL__
// class which is the class of your application. #include "wx/univ/theme.h"
#define IMPLEMENT_APP(appname) \
wxApp *wxCreateApp() { return new appname; } \ #define IMPLEMENT_WX_THEME_SUPPORT \
wxAppInitializer wxTheAppInitializer((wxAppInitializerFunction) wxCreateApp); \ WX_USE_THEME(win32); \
appname& wxGetApp() { return *(appname *)wxTheApp; } \ WX_USE_THEME(gtk);
IMPLEMENT_WXWIN_MAIN #else
#define IMPLEMENT_WX_THEME_SUPPORT
#endif
// Use this macro if you want to define your own main() or WinMain() function // Use this macro if you want to define your own main() or WinMain() function
// and call wxEntry() from there. // and call wxEntry() from there.
@ -453,6 +455,20 @@ public:
wxAppInitializer wxTheAppInitializer((wxAppInitializerFunction) wxCreateApp); \ wxAppInitializer wxTheAppInitializer((wxAppInitializerFunction) wxCreateApp); \
appname& wxGetApp() { return *(appname *)wxTheApp; } 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(); #define DECLARE_APP(appname) extern appname& wxGetApp();
#endif #endif

View File

@ -40,13 +40,6 @@
#include "copy.xpm" #include "copy.xpm"
#ifdef __WXUNIVERSAL__
#include "wx/univ/theme.h"
WX_USE_THEME(win32);
WX_USE_THEME(gtk);
#endif // __WXUNIVERSAL__
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// classes // classes
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------

View File

@ -173,13 +173,6 @@ WX_DEFINE_ARRAY(WidgetsPage *, ArrayWidgetsPage);
IMPLEMENT_APP(WidgetsApp) IMPLEMENT_APP(WidgetsApp)
#ifdef __WXUNIVERSAL__
#include "wx/univ/theme.h"
WX_USE_THEME(win32);
WX_USE_THEME(gtk);
#endif // __WXUNIVERSAL__
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// event tables // event tables
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@ -201,17 +194,18 @@ bool WidgetsApp::OnInit()
{ {
// the reason for having these ifdef's is that I often run two copies of // 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 // this sample side by side and it is useful to see which one is which
wxString title = wxString title;
#if defined(__WXUNIVERSAL__) #if defined(__WXUNIVERSAL__)
_T("wxUniv") title = _T("wxUniv/")
#elif defined(__WXMSW__) #endif
_T("wxMSW")
#elif defined(__WXGTK__) #if defined(__WXMSW__)
_T("wxGTK") title += _T("wxMSW");
#else #elif defined(__WXGTK__)
_T("wxWindows") title += _T("wxGTK");
#else
title += _T("wxWindows");
#endif #endif
;
wxFrame *frame = new WidgetsFrame(title + _T(" widgets demo")); wxFrame *frame = new WidgetsFrame(title + _T(" widgets demo"));
frame->Show(); frame->Show();