added wxArtProvider::InsertProvider to accompany PushProvider
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40941 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -183,6 +183,17 @@ Returns a suitable size hint for the given {\it wxArtClient}. If
|
|||||||
otherwise return the size from the topmost wxArtProvider. {\it wxDefaultSize} may be
|
otherwise return the size from the topmost wxArtProvider. {\it wxDefaultSize} may be
|
||||||
returned if the client doesn't have a specified size, like wxART\_OTHER for example.
|
returned if the client doesn't have a specified size, like wxART\_OTHER for example.
|
||||||
|
|
||||||
|
\membersection{wxArtProvider::InsertProvider}\label{wxartproviderinsertprovider}
|
||||||
|
|
||||||
|
\func{static void}{InsertProvider}{\param{wxArtProvider* }{provider}}
|
||||||
|
|
||||||
|
Register new art provider and add it to the bottom of providers stack (i.e.
|
||||||
|
it will be queried as the last one).
|
||||||
|
|
||||||
|
\wxheading{See also}
|
||||||
|
|
||||||
|
\helpref{PushProvider}{wxartproviderpushprovider}
|
||||||
|
|
||||||
\membersection{wxArtProvider::PopProvider}\label{wxartproviderctor}
|
\membersection{wxArtProvider::PopProvider}\label{wxartproviderctor}
|
||||||
|
|
||||||
\func{static bool}{PopProvider}{\void}
|
\func{static bool}{PopProvider}{\void}
|
||||||
@@ -193,7 +204,12 @@ Remove latest added provider and delete it.
|
|||||||
|
|
||||||
\func{static void}{PushProvider}{\param{wxArtProvider* }{provider}}
|
\func{static void}{PushProvider}{\param{wxArtProvider* }{provider}}
|
||||||
|
|
||||||
Register new art provider (add it to the top of providers stack).
|
Register new art provider and add it to the top of providers stack (i.e. it
|
||||||
|
will be queried as the first provider).
|
||||||
|
|
||||||
|
\wxheading{See also}
|
||||||
|
|
||||||
|
\helpref{InsertProvider}{wxartproviderinsertprovider}
|
||||||
|
|
||||||
\membersection{wxArtProvider::RemoveProvider}\label{wxartproviderremoveprovider}
|
\membersection{wxArtProvider::RemoveProvider}\label{wxartproviderremoveprovider}
|
||||||
|
|
||||||
|
@@ -112,9 +112,14 @@ typedef wxString wxArtID;
|
|||||||
class WXDLLEXPORT wxArtProvider : public wxObject
|
class WXDLLEXPORT wxArtProvider : public wxObject
|
||||||
{
|
{
|
||||||
public:
|
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);
|
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.
|
// Remove latest added provider and delete it.
|
||||||
static bool PopProvider();
|
static bool PopProvider();
|
||||||
|
|
||||||
@@ -160,6 +165,9 @@ protected:
|
|||||||
const wxArtClient& WXUNUSED(client),
|
const wxArtClient& WXUNUSED(client),
|
||||||
const wxSize& WXUNUSED(size)) = 0;
|
const wxSize& WXUNUSED(size)) = 0;
|
||||||
|
|
||||||
|
private:
|
||||||
|
static void InitProvidersList();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// list of providers:
|
// list of providers:
|
||||||
static wxArtProvidersList *sm_providers;
|
static wxArtProvidersList *sm_providers;
|
||||||
|
@@ -99,7 +99,7 @@ IMPLEMENT_ABSTRACT_CLASS(wxArtProvider, wxObject)
|
|||||||
wxArtProvidersList *wxArtProvider::sm_providers = NULL;
|
wxArtProvidersList *wxArtProvider::sm_providers = NULL;
|
||||||
wxArtProviderCache *wxArtProvider::sm_cache = NULL;
|
wxArtProviderCache *wxArtProvider::sm_cache = NULL;
|
||||||
|
|
||||||
/*static*/ void wxArtProvider::PushProvider(wxArtProvider *provider)
|
/*static*/ void wxArtProvider::CommonAddingProvider()
|
||||||
{
|
{
|
||||||
if ( !sm_providers )
|
if ( !sm_providers )
|
||||||
{
|
{
|
||||||
@@ -107,10 +107,21 @@ wxArtProviderCache *wxArtProvider::sm_cache = NULL;
|
|||||||
sm_cache = new wxArtProviderCache;
|
sm_cache = new wxArtProviderCache;
|
||||||
}
|
}
|
||||||
|
|
||||||
sm_providers->Insert(provider);
|
|
||||||
sm_cache->Clear();
|
sm_cache->Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*static*/ void wxArtProvider::PushProvider(wxArtProvider *provider)
|
||||||
|
{
|
||||||
|
CommonAddingProvider();
|
||||||
|
sm_providers->Insert(provider);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*static*/ void wxArtProvider::InsertProvider(wxArtProvider *provider)
|
||||||
|
{
|
||||||
|
CommonAddingProvider();
|
||||||
|
sm_providers->Append(provider);
|
||||||
|
}
|
||||||
|
|
||||||
/*static*/ bool wxArtProvider::PopProvider()
|
/*static*/ bool wxArtProvider::PopProvider()
|
||||||
{
|
{
|
||||||
wxCHECK_MSG( sm_providers, false, _T("no wxArtProvider exists") );
|
wxCHECK_MSG( sm_providers, false, _T("no wxArtProvider exists") );
|
||||||
|
Reference in New Issue
Block a user