X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d84afea9d1ec41ee4e2ebb3bf6b87926cf5f04d1..8805dbab72812a326c121cc7fdefe82620595b1a:/src/common/artstd.cpp diff --git a/src/common/artstd.cpp b/src/common/artstd.cpp index 9a8e4f53eb..7e8abec577 100644 --- a/src/common/artstd.cpp +++ b/src/common/artstd.cpp @@ -27,7 +27,6 @@ #endif #include "wx/artprov.h" -#include "wx/module.h" // For the purposes of forcing this module to link char g_ArtProviderModule = 0; @@ -51,23 +50,6 @@ protected: #define ART(artId, xpmRc) \ if ( id == artId ) return wxBitmap(xpmRc##_xpm); -// Compatibility hack to use wxApp::GetStdIcon of overriden by the user -#if WXWIN_COMPATIBILITY_2_2 - #define GET_STD_ICON_FROM_APP(iconId) \ - if ( client == wxART_MESSAGE_BOX ) \ - { \ - wxIcon icon = wxTheApp->GetStdIcon(iconId); \ - if ( icon.Ok() ) \ - { \ - wxBitmap bmp; \ - bmp.CopyFromIcon(icon); \ - return bmp; \ - } \ - } -#else - #define GET_STD_ICON_FROM_APP(iconId) -#endif - // There are two ways of getting the standard icon: either via XPMs or via // wxIcon ctor. This depends on the platform: #if defined(__WXUNIVERSAL__) @@ -88,28 +70,24 @@ protected: #define ART_MSGBOX(artId, iconId, xpmRc) \ if ( id == artId ) \ { \ - GET_STD_ICON_FROM_APP(iconId) \ CREATE_STD_ICON(#iconId, xpmRc) \ } // ---------------------------------------------------------------------------- -// wxDefaultArtProviderModule +// wxArtProvider::InitStdProvider // ---------------------------------------------------------------------------- -class wxDefaultArtProviderModule: public wxModule +/*static*/ void wxArtProvider::InitStdProvider() { -public: - bool OnInit() - { - wxArtProvider::PushProvider(new wxDefaultArtProvider); - return TRUE; - } - void OnExit() {} - - DECLARE_DYNAMIC_CLASS(wxDefaultArtProviderModule) -}; - -IMPLEMENT_DYNAMIC_CLASS(wxDefaultArtProviderModule, wxModule) + // NB: A few notes about this function: + // (1) it is in artstd.cpp and not in artprov.cpp on purpose. I wanted + // to avoid declaring wxDefaultArtProvider in any public header as + // it is only an implementation detail + // (2) other default art providers (e.g. GTK one) should NOT be added + // here. Instead, add them in port-specific initialialization code + + wxArtProvider::PushProvider(new wxDefaultArtProvider); +} // ---------------------------------------------------------------------------- @@ -137,6 +115,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxDefaultArtProviderModule, wxModule) #include "../../art/htmbook.xpm" #include "../../art/htmfoldr.xpm" #include "../../art/htmpage.xpm" + #include "../../art/missimg.xpm" #endif // wxUSE_HTML #include "../../art/addbookm.xpm" @@ -168,7 +147,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxDefaultArtProviderModule, wxModule) // ---------------------------------------------------------------------------- wxBitmap wxDefaultArtProvider::CreateBitmap(const wxArtID& id, - const wxArtClient& client, + const wxArtClient& WXUNUSED(client), const wxSize& WXUNUSED(size)) { // wxMessageBox icons: @@ -184,6 +163,7 @@ wxBitmap wxDefaultArtProvider::CreateBitmap(const wxArtID& id, ART(wxART_HELP_BOOK, htmbook) ART(wxART_HELP_FOLDER, htmfoldr) ART(wxART_HELP_PAGE, htmpage) + ART(wxART_MISSING_IMAGE, missimg) #endif // wxUSE_HTML ART(wxART_ADD_BOOKMARK, addbookm) ART(wxART_DEL_BOOKMARK, delbookm)