- return node->GetData()->DoGetSize(client);
-
- // else return platform dependent size
- }
-
-#ifdef __WXGTK__
- GtkIconSize gtk_size = wxArtClientToIconSize(client);
- gint width, height;
- gtk_icon_size_lookup( gtk_size, &width, &height);
- return wxSize(width, height);
-#else
- if (client == wxART_TOOLBAR)
- return wxSize(32, 32);
- else if (client == wxART_MENU)
- return wxSize(16, 15);
- else if (client == wxART_CMN_DIALOG || client == wxART_MESSAGE_BOX)
- return wxSize(32, 32);
- else if (client == wxART_BUTTON)
- return wxSize(16, 15);
- else
- return wxSize(16, 15); // this is arbitrary
-#endif
+ return node->GetData()->DoGetSizeHint(client);
+ }
+
+ return GetNativeSizeHint(client);
+}
+
+#ifndef wxHAS_NATIVE_ART_PROVIDER_IMPL
+/*static*/
+wxSize wxArtProvider::GetNativeSizeHint(const wxArtClient& WXUNUSED(client))
+{
+ // rather than returning some arbitrary value that doesn't make much
+ // sense (as 2.8 used to do), tell the caller that we don't have a clue:
+ return wxDefaultSize;
+}
+
+/*static*/
+void wxArtProvider::InitNativeProvider()
+{
+}
+#endif // !wxHAS_NATIVE_ART_PROVIDER_IMPL
+
+
+/* static */
+bool wxArtProvider::HasNativeProvider()
+{
+#ifdef __WXGTK20__
+ return true;
+#else
+ return false;
+#endif
+}
+
+// ----------------------------------------------------------------------------
+// deprecated wxArtProvider methods
+// ----------------------------------------------------------------------------
+
+#if WXWIN_COMPATIBILITY_2_6
+
+/* static */ void wxArtProvider::PushProvider(wxArtProvider *provider)
+{
+ Push(provider);
+}
+
+/* static */ void wxArtProvider::InsertProvider(wxArtProvider *provider)
+{
+ Insert(provider);
+}
+
+/* static */ bool wxArtProvider::PopProvider()
+{
+ return Pop();
+}
+
+/* static */ bool wxArtProvider::RemoveProvider(wxArtProvider *provider)
+{
+ // RemoveProvider() used to delete the provider being removed so this is
+ // not a typo, we must call Delete() and not Remove() here
+ return Delete(provider);
+}
+
+#endif // WXWIN_COMPATIBILITY_2_6
+
+#if WXWIN_COMPATIBILITY_2_8
+/* static */ void wxArtProvider::Insert(wxArtProvider *provider)
+{
+ PushBack(provider);