// 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);
}
}
+ %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();
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`");
};