// 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);
// process all pending events
void ProcessPendingEvents();
+ // reentrance guard
+ void AllowReentrance( bool allow = true );
+ bool IsReentranceAllowed();
+ bool IsEventHandlingInProgress();
+
%extend {
// Dynamic association of a member function handler with the event handler
void Connect( int id, int lastId, int eventType, PyObject* func) {
}
}
+ %pythonAppend _setOORInfo "args[0].thisown = 0";
%extend {
- void _setOORInfo(PyObject* _self) {
+ void _setOORInfo(PyObject* _self, bool incref=true) {
if (_self && _self != Py_None) {
- 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`");
};