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
+5 -5
View File
@@ -45,6 +45,7 @@ Or you can send mail directly to the list using this address:
----------------------------------------------------------------------
What's new in 2.1.11
--------------------
Skipped a few version numbers so wxMSW, wxGTK and wxPython are all
@@ -88,13 +89,12 @@ Many updates to wxMenu, wxMenuBar.
wxPyEvent and wxPyCommandEvent derived classes now give you the actual
Python object in the event handler instead of a new shadow.
Added a Calendar widget from Lorne White.
Made some fixes to the wxFloatbar.
Added the HTML printing classes.
Added a Calendar widget from Lorne White to the library.
Made some fixes to the wxFloatbar. It still has some troubles on
wxGTK...
Added an MVC tree control from Bryn Keller to the library.
+2 -1
View File
@@ -42,7 +42,8 @@ _treeList = [
('Miscellaneous', [ 'DragAndDrop', 'CustomDragAndDrop', 'FontEnumerator',
'wxTimer', 'wxValidator', 'wxGLCanvas', 'DialogUnits',
'wxImage', 'PrintFramework', 'wxOGL', 'PythonEvents']),
'wxImage', 'PrintFramework', 'wxOGL', 'PythonEvents',
'Threads']),
('wxPython Library', ['Layoutf', 'wxScrolledMessageDialog',
'wxMultipleChoiceDialog', 'wxPlotCanvas', 'wxFloatBar',
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+4 -4
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;
}
+5 -5
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);