wx.IconBundle support

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45418 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2007-04-12 00:44:59 +00:00
parent 91d6301a7b
commit 3b0265a32c

View File

@@ -31,6 +31,7 @@ MAKE_CONST_WXSTRING(ART_CMN_DIALOG);
MAKE_CONST_WXSTRING(ART_HELP_BROWSER); MAKE_CONST_WXSTRING(ART_HELP_BROWSER);
MAKE_CONST_WXSTRING(ART_MESSAGE_BOX); MAKE_CONST_WXSTRING(ART_MESSAGE_BOX);
MAKE_CONST_WXSTRING(ART_BUTTON); MAKE_CONST_WXSTRING(ART_BUTTON);
MAKE_CONST_WXSTRING(ART_LIST);
MAKE_CONST_WXSTRING(ART_OTHER); MAKE_CONST_WXSTRING(ART_OTHER);
// Art IDs // Art IDs
@@ -115,6 +116,30 @@ public:
return rval; return rval;
} }
virtual wxIconBundle CreateIconBundle(const wxArtID& id,
const wxArtClient& client)
{
wxIconBundle rval = wxNullIconBundle;
wxPyBlock_t blocked = wxPyBeginBlockThreads();
if ((wxPyCBH_findCallback(m_myInst, "CreateIconBundle"))) {
PyObject* ro;
wxIconBundle* ptr;
PyObject* s1, *s2;
s1 = wx2PyString(id);
s2 = wx2PyString(client);
ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(OO)", s1, s2));
Py_DECREF(s1);
Py_DECREF(s2);
if (ro) {
if (wxPyConvertSwigPtr(ro, (void**)&ptr, wxT("wxIconBundle")))
rval = *ptr;
Py_DECREF(ro);
}
}
wxPyEndBlockThreads(blocked);
return rval;
}
PYPRIVATE; PYPRIVATE;
}; };
%} %}
@@ -237,6 +262,7 @@ identical bitmap for different client values!
MustHaveApp(wxPyArtProvider); MustHaveApp(wxPyArtProvider);
MustHaveApp(wxPyArtProvider::GetBitmap); MustHaveApp(wxPyArtProvider::GetBitmap);
MustHaveApp(wxPyArtProvider::GetIcon); MustHaveApp(wxPyArtProvider::GetIcon);
MustHaveApp(wxPyArtProvider::GetBundle);
%rename(ArtProvider) wxPyArtProvider; %rename(ArtProvider) wxPyArtProvider;
class wxPyArtProvider /*: public wxObject*/ class wxPyArtProvider /*: public wxObject*/
@@ -287,11 +313,18 @@ wx.NullBitmap if no provider provides it.", "");
DocDeclStr( DocDeclStr(
static wxIcon , GetIcon(const wxString& id, static wxIcon , GetIcon(const wxString& id,
const wxString& client = wxPyART_OTHER, const wxString& client = wxPyART_OTHER,
const wxSize& size = wxDefaultSize), const wxSize& size = wxDefaultSize),
"Query the providers for icon with given ID and return it. Return "Query the providers for icon with given ID and return it. Return
wx.NullIcon if no provider provides it.", ""); wx.NullIcon if no provider provides it.", "");
DocDeclStr(
static wxIconBundle , GetIconBundle(const wxArtID& id,
const wxArtClient& client = wxART_OTHER),
"Query the providers for iconbundle with given ID and return it. Return
wx.NullIconBundle if no provider provides it.", "");
DocDeclStr( DocDeclStr(
static wxSize , GetSizeHint(const wxString& client, bool platform_dependent = false), static wxSize , GetSizeHint(const wxString& client, bool platform_dependent = false),
"Get the size hint of an icon from a specific Art Client, queries the "Get the size hint of an icon from a specific Art Client, queries the