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:
Robin Dunn
1999-11-13 05:52:53 +00:00
parent 3739399733
commit e19b716460
6 changed files with 1343 additions and 15 deletions

View File

@@ -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;
}

View File

@@ -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);