Added a demo showing how to use wxPostEvent
Added an MVCTree contribution Some final tweaks for this release git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4536 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -450,20 +450,20 @@ PyObject* wxPyCallbackHelper::callCallbackObj(PyObject* argTuple) {
|
||||
// themselves and some special case handling in wxPyCallback::EventThunker.
|
||||
|
||||
|
||||
wxPySelfRef::wxPySelfRef() {
|
||||
wxPyEvtSelfRef::wxPyEvtSelfRef() {
|
||||
//m_self = Py_None; // **** We don't do normal ref counting to prevent
|
||||
//Py_INCREF(m_self); // circular loops...
|
||||
m_cloned = false;
|
||||
}
|
||||
|
||||
wxPySelfRef::~wxPySelfRef() {
|
||||
wxPyEvtSelfRef::~wxPyEvtSelfRef() {
|
||||
bool doSave = wxPyRestoreThread();
|
||||
if (m_cloned)
|
||||
Py_DECREF(m_self);
|
||||
wxPySaveThread(doSave);
|
||||
}
|
||||
|
||||
void wxPySelfRef::SetSelf(PyObject* self, bool clone) {
|
||||
void wxPyEvtSelfRef::SetSelf(PyObject* self, bool clone) {
|
||||
bool doSave = wxPyRestoreThread();
|
||||
if (m_cloned)
|
||||
Py_DECREF(m_self);
|
||||
@@ -475,7 +475,7 @@ void wxPySelfRef::SetSelf(PyObject* self, bool clone) {
|
||||
wxPySaveThread(doSave);
|
||||
}
|
||||
|
||||
PyObject* wxPySelfRef::GetSelf() const {
|
||||
PyObject* wxPyEvtSelfRef::GetSelf() const {
|
||||
Py_INCREF(m_self);
|
||||
return m_self;
|
||||
}
|
||||
|
@@ -189,10 +189,10 @@ private:
|
||||
// themselves and some special case handling in wxPyCallback::EventThunker.
|
||||
|
||||
|
||||
class wxPySelfRef {
|
||||
class wxPyEvtSelfRef {
|
||||
public:
|
||||
wxPySelfRef();
|
||||
~wxPySelfRef();
|
||||
wxPyEvtSelfRef();
|
||||
~wxPyEvtSelfRef();
|
||||
|
||||
void SetSelf(PyObject* self, bool clone=FALSE);
|
||||
PyObject* GetSelf() const;
|
||||
@@ -203,7 +203,7 @@ protected:
|
||||
};
|
||||
|
||||
|
||||
class wxPyEvent : public wxEvent, public wxPySelfRef {
|
||||
class wxPyEvent : public wxEvent, public wxPyEvtSelfRef {
|
||||
DECLARE_DYNAMIC_CLASS(wxPyEvent)
|
||||
public:
|
||||
wxPyEvent(int id=0);
|
||||
@@ -213,7 +213,7 @@ public:
|
||||
};
|
||||
|
||||
|
||||
class wxPyCommandEvent : public wxCommandEvent, public wxPySelfRef {
|
||||
class wxPyCommandEvent : public wxCommandEvent, public wxPyEvtSelfRef {
|
||||
DECLARE_DYNAMIC_CLASS(wxPyCommandEvent)
|
||||
public:
|
||||
wxPyCommandEvent(wxEventType commandType = wxEVT_NULL, int id=0);
|
||||
|
Reference in New Issue
Block a user