]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_artprov.i
fixed deadlock when calling wxPostEvent() from worker thread
[wxWidgets.git] / wxPython / src / _artprov.i
index 72ef9ddd7da6e1df25a228e74e0674fd4c6cf4b7..3213543a55e17d6985aad3bc19c5743979019bb0 100644 (file)
@@ -76,6 +76,7 @@ MAKE_CONST_WXSTRING(ART_COPY);
 MAKE_CONST_WXSTRING(ART_CUT);
 MAKE_CONST_WXSTRING(ART_PASTE);
 MAKE_CONST_WXSTRING(ART_DELETE);
 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_UNDO);
 MAKE_CONST_WXSTRING(ART_REDO);
 MAKE_CONST_WXSTRING(ART_QUIT);
@@ -92,7 +93,7 @@ public:
                                   const wxArtClient& client,
                                   const wxSize& size) {
         wxBitmap rval = wxNullBitmap;
                                   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;
         if ((wxPyCBH_findCallback(m_myInst, "CreateBitmap"))) {
             PyObject* so = wxPyConstructObject((void*)&size, wxT("wxSize"), 0);
             PyObject* ro;
@@ -130,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
 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):
 
     class MyArtProvider(wx.ArtProvider):
         def __init__(self):
@@ -147,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
 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
 ---------
 
 GTK+ Note
 ---------
@@ -160,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.
 
 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
     * wx.ART_ADD_BOOKMARK
     * wx.ART_DEL_BOOKMARK
     * wx.ART_HELP_SIDE_PANEL
@@ -175,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_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_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
+    * wx.ART_FOLDER_OPEN
     * wx.ART_GO_DIR_UP
     * wx.ART_EXECUTABLE_FILE
     * wx.ART_NORMAL_FILE
     * wx.ART_GO_DIR_UP
     * wx.ART_EXECUTABLE_FILE
     * wx.ART_NORMAL_FILE
@@ -191,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_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
 
 
 Clients
@@ -226,26 +243,39 @@ class wxPyArtProvider /*: public wxObject*/
 {
 public:
 
 {
 public:
 
-    %pythonAppend wxPyArtProvider "self._setCallbackInfo(self, ArtProvider)"
+    %pythonAppend wxPyArtProvider setCallbackInfo(ArtProvider);
     wxPyArtProvider();
     wxPyArtProvider();
+    ~wxPyArtProvider();
     
     void _setCallbackInfo(PyObject* self, PyObject* _class);
 
     
     void _setCallbackInfo(PyObject* self, PyObject* _class);
 
+    %disownarg( wxPyArtProvider *provider );
+
     DocDeclStr(
     DocDeclStr(
-        static void , PushProvider(wxPyArtProvider *provider),
+        static void , Push(wxPyArtProvider *provider),
         "Add new provider to the top of providers stack.", "");
         "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(
     
 
     DocDeclStr(
-        static bool , PopProvider(),
+        static bool , Pop(),
         "Remove latest added provider and delete it.", "");
         "Remove latest added provider and delete it.", "");
+    %pythoncode { PopProvider = Pop }
     
     
-
+    %pythonAppend Delete "args[1].thisown = 1";
     DocDeclStr(
     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.", "");
         "Remove provider. The provider must have been added previously!  The
 provider is _not_ deleted.", "");
-    
+    %pythoncode { RemoveProvider = Delete }
+
 
     DocDeclStr(
         static wxBitmap , GetBitmap(const wxString& id,
 
     DocDeclStr(
         static wxBitmap , GetBitmap(const wxString& id,
@@ -263,12 +293,13 @@ wx.NullBitmap if no provider provides it.", "");
 wx.NullIcon if no provider provides it.", "");
 
     DocDeclStr(
 wx.NullIcon if no provider provides it.", "");
 
     DocDeclStr(
-        static wxSize , GetSize(const wxString& client, bool platform_dependent = false),
-        "Get the size of an icon from a specific Art Client, queries the
+        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", "");
     
     
 
 topmost provider if platform_dependent = false", "");
     
     
 
+    %pythonPrepend Destroy "args[0].this.own(False)"
     %extend { void Destroy() { delete self; }}
 };
 
     %extend { void Destroy() { delete self; }}
 };