]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/artprov.cpp
Compilo.
[wxWidgets.git] / src / common / artprov.cpp
index 2e8a1df31c826bb25ec9e3c0e6cd249d3f0a3b59..7661612429045978443a42f530c3ccf6638f6257 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        artprov.cpp
+// Name:        src/common/artprov.cpp
 // Purpose:     wxArtProvider class
 // Author:      Vaclav Slavik
 // Modified by:
     #pragma hdrstop
 #endif
 
+#include "wx/artprov.h"
+
 #ifndef WX_PRECOMP
-    #include "wx/log.h"
     #include "wx/list.h"
-#endif
-
-#include "wx/artprov.h"
-#include "wx/hashmap.h"
-#include "wx/module.h"
-#if wxUSE_IMAGE
-#include "wx/image.h"
+    #include "wx/log.h"
+    #include "wx/hashmap.h"
+    #include "wx/image.h"
+    #include "wx/module.h"
 #endif
 
 // ===========================================================================
@@ -101,7 +99,7 @@ IMPLEMENT_ABSTRACT_CLASS(wxArtProvider, wxObject)
 wxArtProvidersList *wxArtProvider::sm_providers = NULL;
 wxArtProviderCache *wxArtProvider::sm_cache = NULL;
 
-/*static*/ void wxArtProvider::PushProvider(wxArtProvider *provider)
+/*static*/ void wxArtProvider::CommonAddingProvider()
 {
     if ( !sm_providers )
     {
@@ -109,10 +107,21 @@ wxArtProviderCache *wxArtProvider::sm_cache = NULL;
         sm_cache = new wxArtProviderCache;
     }
 
-    sm_providers->Insert(provider);
     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()
 {
     wxCHECK_MSG( sm_providers, false, _T("no wxArtProvider exists") );
@@ -240,7 +249,7 @@ wxArtProviderCache *wxArtProvider::sm_cache = NULL;
     else if (client == wxART_BUTTON)
         return wxSize(16, 15);
     else // wxART_OTHER or perhaps a user's client, no specified size
-        return wxDefaultSize;      
+        return wxDefaultSize;
 #endif // GTK+ 2/else
 }