small wxArtProvider API improvements: added HasNativeProvider() and renamed confusingly-named Insert() to PushBack()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55008 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -117,6 +117,8 @@ public:
|
||||
// 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).
|
||||
@@ -124,7 +126,12 @@ public:
|
||||
|
||||
// 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();
|
||||
|
@@ -218,10 +218,21 @@ public:
|
||||
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.
|
||||
|
||||
@see Push()
|
||||
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);
|
||||
|
||||
@@ -234,10 +245,21 @@ public:
|
||||
Register new art provider and add it to the top of providers stack
|
||||
(i.e. it will be queried as the first provider).
|
||||
|
||||
@see Insert()
|
||||
@see PushBack()
|
||||
*/
|
||||
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().
|
||||
|
@@ -160,7 +160,7 @@ wxArtProvider::~wxArtProvider()
|
||||
sm_providers->Insert(provider);
|
||||
}
|
||||
|
||||
/*static*/ void wxArtProvider::Insert(wxArtProvider *provider)
|
||||
/*static*/ void wxArtProvider::PushBack(wxArtProvider *provider)
|
||||
{
|
||||
CommonAddingProvider();
|
||||
sm_providers->Append(provider);
|
||||
@@ -378,6 +378,16 @@ wxIcon wxArtProvider::GetMessageBoxIcon(int flags)
|
||||
#endif // GTK+ 2/else
|
||||
}
|
||||
|
||||
/* static */
|
||||
bool wxArtProvider::HasNativeProvider()
|
||||
{
|
||||
#ifdef __WXGTK20__
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// deprecated wxArtProvider methods
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -408,6 +418,13 @@ wxIcon wxArtProvider::GetMessageBoxIcon(int flags)
|
||||
|
||||
#endif // WXWIN_COMPATIBILITY_2_6
|
||||
|
||||
#if WXWIN_COMPATIBILITY_2_8
|
||||
/* static */ void wxArtProvider::Insert(wxArtProvider *provider)
|
||||
{
|
||||
PushBack(provider);
|
||||
}
|
||||
#endif // WXWIN_COMPATIBILITY_2_8
|
||||
|
||||
// ============================================================================
|
||||
// wxArtProviderModule
|
||||
// ============================================================================
|
||||
|
Reference in New Issue
Block a user