]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_evthandler.i
No animate contrib anymore
[wxWidgets.git] / wxPython / src / _evthandler.i
index 164eb60d41a013355554e0d8c5548efb215175bc..afff9bc4451f65666960ea549e340d6a1e5cae18 100644 (file)
 // wxEvtHandler: the base class for all objects handling wxWindows events
 class wxEvtHandler : public wxObject {
 public:
+    // turn off this typemap
+    %typemap(out) wxEvtHandler*;    
+
+    %pythonAppend wxEvtHandler         "self._setOORInfo(self)"
     wxEvtHandler();
 
+    // Turn it back on again
+    %typemap(out) wxEvtHandler* { $result = wxPyMake_wxObject($1, $owner); }
+
     wxEvtHandler* GetNextHandler();
     wxEvtHandler* GetPreviousHandler();
     void SetNextHandler(wxEvtHandler* handler);
@@ -66,11 +73,11 @@ public:
         }
     }
 
+    %pythonAppend _setOORInfo   "args[0].this.own(False)";
     %extend {
-        void _setOORInfo(PyObject* _self) {
+        void _setOORInfo(PyObject* _self, bool incref=true) {
             if (_self && _self != Py_None) {
-                if (!self->GetClientObject())
-                    self->SetClientObject(new wxPyOORClientData(_self));
+                self->SetClientObject(new wxPyOORClientData(_self, incref));
             }
             else {
                 wxPyOORClientData* data = (wxPyOORClientData*)self->GetClientObject();
@@ -122,6 +129,9 @@ public:
             return event.Unbind(self, id, id2)              
     }
 
+    %property(EvtHandlerEnabled, GetEvtHandlerEnabled, SetEvtHandlerEnabled, doc="See `GetEvtHandlerEnabled` and `SetEvtHandlerEnabled`");
+    %property(NextHandler, GetNextHandler, SetNextHandler, doc="See `GetNextHandler` and `SetNextHandler`");
+    %property(PreviousHandler, GetPreviousHandler, SetPreviousHandler, doc="See `GetPreviousHandler` and `SetPreviousHandler`");
     
 };