git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55008
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// Dtor removes the provider from providers stack if it's still on it
virtual ~wxArtProvider();
// Dtor removes the provider from providers stack if it's still on it
virtual ~wxArtProvider();
+ // Does this platform implement native icons theme?
+ static bool HasNativeProvider();
// Add new provider to the top of providers stack (i.e. the provider will
// be queried first of all).
// Add new provider to the top of providers stack (i.e. the provider will
// be queried first of all).
// Add new provider to the bottom of providers stack (i.e. the provider
// will be queried as the last one).
// Add new provider to the bottom of providers stack (i.e. the provider
// will be queried as the last one).
- static void Insert(wxArtProvider *provider);
+ static void PushBack(wxArtProvider *provider);
+
+#if WXWIN_COMPATIBILITY_2_8
+ // use PushBack(), it's the same thing
+ wxDEPRECATED( static void Insert(wxArtProvider *provider) );
+#endif
// Remove latest added provider and delete it.
static bool Pop();
// Remove latest added provider and delete it.
static bool Pop();
const wxArtClient& client = wxART_OTHER);
/**
const wxArtClient& client = wxART_OTHER);
/**
- Register new art provider and add it to the bottom of providers stack
- (i.e. it will be queried as the last one).
+ Returns true if the platform uses native icons provider that should
+ take precedence over any customizations.
+ This is true for any platform that has user-customizable icon themes,
+ currently only wxGTK.
+
+ A typical use for this method is to decide whether a custom art provider
+ should be plugged in using Push() or PushBack().
+
+ @since 2.9.0
+ */
+ static bool HasNativeProvider();
+
+ /**
+ @deprecated Use PushBack() instead.
*/
static void Insert(wxArtProvider* provider);
*/
static void Insert(wxArtProvider* provider);
Register new art provider and add it to the top of providers stack
(i.e. it will be queried as the first provider).
Register new art provider and add it to the top of providers stack
(i.e. it will be queried as the first provider).
*/
static void Push(wxArtProvider* provider);
*/
static void Push(wxArtProvider* provider);
+ /**
+ Register new art provider and add it to the bottom of providers stack.
+ In other words, it will be queried as the last one, after all others,
+ including the default provider.
+
+ @see Push()
+
+ @since 2.9.0
+ */
+ static void PushBack(wxArtProvider* provider);
+
/**
Remove a provider from the stack if it is on it. The provider is not
deleted, unlike when using Delete().
/**
Remove a provider from the stack if it is on it. The provider is not
deleted, unlike when using Delete().
sm_providers->Insert(provider);
}
sm_providers->Insert(provider);
}
-/*static*/ void wxArtProvider::Insert(wxArtProvider *provider)
+/*static*/ void wxArtProvider::PushBack(wxArtProvider *provider)
{
CommonAddingProvider();
sm_providers->Append(provider);
{
CommonAddingProvider();
sm_providers->Append(provider);
+/* static */
+bool wxArtProvider::HasNativeProvider()
+{
+#ifdef __WXGTK20__
+ return true;
+#else
+ return false;
+#endif
+}
+
// ----------------------------------------------------------------------------
// deprecated wxArtProvider methods
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// deprecated wxArtProvider methods
// ----------------------------------------------------------------------------
#endif // WXWIN_COMPATIBILITY_2_6
#endif // WXWIN_COMPATIBILITY_2_6
+#if WXWIN_COMPATIBILITY_2_8
+/* static */ void wxArtProvider::Insert(wxArtProvider *provider)
+{
+ PushBack(provider);
+}
+#endif // WXWIN_COMPATIBILITY_2_8
+
// ============================================================================
// wxArtProviderModule
// ============================================================================
// ============================================================================
// wxArtProviderModule
// ============================================================================