X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/07faea280099d6966b4ad1a146c3069d33d25ac5..d359a38002a9a577fcd7c16ca3ed0f2e874bded7:/wxPython/src/_artprov.i diff --git a/wxPython/src/_artprov.i b/wxPython/src/_artprov.i index 3b413e0172..3213543a55 100644 --- a/wxPython/src/_artprov.i +++ b/wxPython/src/_artprov.i @@ -48,13 +48,20 @@ MAKE_CONST_WXSTRING(ART_GO_DOWN); MAKE_CONST_WXSTRING(ART_GO_TO_PARENT); MAKE_CONST_WXSTRING(ART_GO_HOME); MAKE_CONST_WXSTRING(ART_FILE_OPEN); +MAKE_CONST_WXSTRING(ART_FILE_SAVE); +MAKE_CONST_WXSTRING(ART_FILE_SAVE_AS); MAKE_CONST_WXSTRING(ART_PRINT); MAKE_CONST_WXSTRING(ART_HELP); MAKE_CONST_WXSTRING(ART_TIP); MAKE_CONST_WXSTRING(ART_REPORT_VIEW); MAKE_CONST_WXSTRING(ART_LIST_VIEW); MAKE_CONST_WXSTRING(ART_NEW_DIR); +MAKE_CONST_WXSTRING(ART_HARDDISK); +MAKE_CONST_WXSTRING(ART_FLOPPY); +MAKE_CONST_WXSTRING(ART_CDROM); +MAKE_CONST_WXSTRING(ART_REMOVABLE); MAKE_CONST_WXSTRING(ART_FOLDER); +MAKE_CONST_WXSTRING(ART_FOLDER_OPEN); MAKE_CONST_WXSTRING(ART_GO_DIR_UP); MAKE_CONST_WXSTRING(ART_EXECUTABLE_FILE); MAKE_CONST_WXSTRING(ART_NORMAL_FILE); @@ -65,6 +72,16 @@ MAKE_CONST_WXSTRING(ART_QUESTION); MAKE_CONST_WXSTRING(ART_WARNING); MAKE_CONST_WXSTRING(ART_INFORMATION); MAKE_CONST_WXSTRING(ART_MISSING_IMAGE); +MAKE_CONST_WXSTRING(ART_COPY); +MAKE_CONST_WXSTRING(ART_CUT); +MAKE_CONST_WXSTRING(ART_PASTE); +MAKE_CONST_WXSTRING(ART_DELETE); +MAKE_CONST_WXSTRING(ART_NEW); +MAKE_CONST_WXSTRING(ART_UNDO); +MAKE_CONST_WXSTRING(ART_REDO); +MAKE_CONST_WXSTRING(ART_QUIT); +MAKE_CONST_WXSTRING(ART_FIND); +MAKE_CONST_WXSTRING(ART_FIND_AND_REPLACE); //--------------------------------------------------------------------------- @@ -76,7 +93,7 @@ public: const wxArtClient& client, const wxSize& size) { wxBitmap rval = wxNullBitmap; - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); if ((wxPyCBH_findCallback(m_myInst, "CreateBitmap"))) { PyObject* so = wxPyConstructObject((void*)&size, wxT("wxSize"), 0); PyObject* ro; @@ -114,7 +131,7 @@ asks wx.ArtProvider for it instead. This way the users can plug in their own wx.ArtProvider class and easily replace standard art with his/her own version. It is easy thing to do: all that is needed is to derive a class from wx.ArtProvider, override it's CreateBitmap -method and register the provider with wx.ArtProvider.PushProvider:: +method and register the provider with `wx.ArtProvider.Push`:: class MyArtProvider(wx.ArtProvider): def __init__(self): @@ -131,7 +148,7 @@ Identifying art resources Every bitmap is known to wx.ArtProvider under an unique ID that is used when requesting a resource from it. The IDs can have one of the following predefined values. Additionally, any string recognized by -custom art providers registered using `PushProvider` may be used. +custom art providers registered using `Push` may be used. GTK+ Note --------- @@ -144,7 +161,6 @@ follow the freedesktop.org Icon Themes specification. Note that themes are not guaranteed to contain all icons, so wx.ArtProvider may return wx.NullBitmap or wx.NullIcon. The default theme is typically installed in /usr/share/icons/hicolor. - * wx.ART_ADD_BOOKMARK * wx.ART_DEL_BOOKMARK * wx.ART_HELP_SIDE_PANEL @@ -159,13 +175,20 @@ or wx.NullIcon. The default theme is typically installed in /usr/share/icons/hi * wx.ART_GO_TO_PARENT * wx.ART_GO_HOME * wx.ART_FILE_OPEN + * wx.ART_FILE_SAVE + * wx.ART_FILE_SAVE_AS * wx.ART_PRINT * wx.ART_HELP * wx.ART_TIP * wx.ART_REPORT_VIEW * wx.ART_LIST_VIEW * wx.ART_NEW_DIR + * wx.ART_HARDDISK + * wx.ART_FLOPPY + * wx.ART_CDROM + * wx.ART_REMOVABLE * wx.ART_FOLDER + * wx.ART_FOLDER_OPEN * wx.ART_GO_DIR_UP * wx.ART_EXECUTABLE_FILE * wx.ART_NORMAL_FILE @@ -175,7 +198,17 @@ or wx.NullIcon. The default theme is typically installed in /usr/share/icons/hi * wx.ART_QUESTION * wx.ART_WARNING * wx.ART_INFORMATION - * wx.ART_MISSING_IMAGE + * wx.ART_MISSING_IMAGE + * wx.ART_COPY + * wx.ART_CUT + * wx.ART_PASTE + * wx.ART_DELETE + * wx.ART_NEW + * wx.ART_UNDO + * wx.ART_REDO + * wx.ART_QUIT + * wx.ART_FIND + * wx.ART_FIND_AND_REPLACE Clients @@ -205,30 +238,44 @@ MustHaveApp(wxPyArtProvider); MustHaveApp(wxPyArtProvider::GetBitmap); MustHaveApp(wxPyArtProvider::GetIcon); -%name(ArtProvider) class wxPyArtProvider /*: public wxObject*/ +%rename(ArtProvider) wxPyArtProvider; +class wxPyArtProvider /*: public wxObject*/ { public: - %pythonAppend wxPyArtProvider "self._setCallbackInfo(self, ArtProvider)" + %pythonAppend wxPyArtProvider setCallbackInfo(ArtProvider); wxPyArtProvider(); + ~wxPyArtProvider(); void _setCallbackInfo(PyObject* self, PyObject* _class); + %disownarg( wxPyArtProvider *provider ); + DocDeclStr( - static void , PushProvider(wxPyArtProvider *provider), + static void , Push(wxPyArtProvider *provider), "Add new provider to the top of providers stack.", ""); + %pythoncode { PushProvider = Push } + + DocDeclStr( + static void , Insert(wxPyArtProvider *provider), + "Add new provider to the bottom of providers stack.", ""); + %pythoncode { InsertProvider = Insert } + + %cleardisown( wxPyArtProvider *provider ); DocDeclStr( - static bool , PopProvider(), + static bool , Pop(), "Remove latest added provider and delete it.", ""); + %pythoncode { PopProvider = Pop } - + %pythonAppend Delete "args[1].thisown = 1"; DocDeclStr( - static bool , RemoveProvider(wxPyArtProvider *provider), + static bool , Delete(wxPyArtProvider *provider), "Remove provider. The provider must have been added previously! The provider is _not_ deleted.", ""); - + %pythoncode { RemoveProvider = Delete } + DocDeclStr( static wxBitmap , GetBitmap(const wxString& id, @@ -244,8 +291,15 @@ wx.NullBitmap if no provider provides it.", ""); const wxSize& size = wxDefaultSize), "Query the providers for icon with given ID and return it. Return wx.NullIcon if no provider provides it.", ""); + + DocDeclStr( + static wxSize , GetSizeHint(const wxString& client, bool platform_dependent = false), + "Get the size hint of an icon from a specific Art Client, queries the +topmost provider if platform_dependent = false", ""); + + %pythonPrepend Destroy "args[0].this.own(False)" %extend { void Destroy() { delete self; }} };