X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/66941e14d69e0cee8a67afc81203e958e08a6acf..ec79aded140ef52917c9dc5887f74b34f5c0b181:/src/common/artstd.cpp?ds=sidebyside diff --git a/src/common/artstd.cpp b/src/common/artstd.cpp index cc08b0d756..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,8 +147,8 @@ IMPLEMENT_DYNAMIC_CLASS(wxDefaultArtProviderModule, wxModule) // ---------------------------------------------------------------------------- wxBitmap wxDefaultArtProvider::CreateBitmap(const wxArtID& id, - const wxArtClient& client, - const wxSize& size) + const wxArtClient& WXUNUSED(client), + const wxSize& WXUNUSED(size)) { // wxMessageBox icons: ART_MSGBOX(wxART_ERROR, wxICON_ERROR, error) @@ -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)