X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/50f65637a84135808d0fa246b7f53c6d66889a74..978af864269a739e77d9431c8465435e3f8f7407:/include/wx/artprov.h diff --git a/include/wx/artprov.h b/include/wx/artprov.h index 4afdfad882..535d6767fa 100644 --- a/include/wx/artprov.h +++ b/include/wx/artprov.h @@ -12,10 +12,6 @@ #ifndef _WX_ARTPROV_H_ #define _WX_ARTPROV_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma interface "artprov.h" -#endif - #include "wx/string.h" #include "wx/bitmap.h" #include "wx/icon.h" @@ -98,6 +94,7 @@ typedef wxString wxArtID; #define wxART_CUT wxART_MAKE_ART_ID(wxART_CUT) #define wxART_PASTE wxART_MAKE_ART_ID(wxART_PASTE) #define wxART_DELETE wxART_MAKE_ART_ID(wxART_DELETE) +#define wxART_NEW wxART_MAKE_ART_ID(wxART_NEW) #define wxART_UNDO wxART_MAKE_ART_ID(wxART_UNDO) #define wxART_REDO wxART_MAKE_ART_ID(wxART_REDO) @@ -115,9 +112,14 @@ typedef wxString wxArtID; class WXDLLEXPORT wxArtProvider : public wxObject { public: - // Add new provider to the top of providers stack. + // Add new provider to the top of providers stack (i.e. the provider will + // be querier first of all). static void PushProvider(wxArtProvider *provider); + // Add new provider to the bottom of providers stack (i.e. the provider + // will be queried as the last one). + static void InsertProvider(wxArtProvider *provider); + // Remove latest added provider and delete it. static bool PopProvider(); @@ -137,6 +139,10 @@ public: const wxArtClient& client = wxART_OTHER, const wxSize& size = wxDefaultSize); + // Get the size hint of an icon from a specific wxArtClient, queries + // the topmost provider if platform_dependent = false + static wxSize GetSizeHint(const wxArtClient& client, bool platform_dependent = false); + protected: friend class wxArtProviderModule; // Initializes default provider @@ -146,6 +152,12 @@ protected: // Destroy caches & all providers static void CleanUpProviders(); + // Get the default size of an icon for a specific client + virtual wxSize DoGetSizeHint(const wxArtClient& client) + { + return GetSizeHint(client, true); + } + // Derived classes must override this method to create requested // art resource. This method is called only once per instance's // lifetime for each requested wxArtID. @@ -153,6 +165,9 @@ protected: const wxArtClient& WXUNUSED(client), const wxSize& WXUNUSED(size)) = 0; +private: + static void CommonAddingProvider(); + private: // list of providers: static wxArtProvidersList *sm_providers;