]> git.saurik.com Git - wxWidgets.git/commitdiff
Add GetOwner accessor and fix wxRTTI inheritance for wxTimer. Set the
authorRobin Dunn <robin@alldunn.com>
Mon, 10 May 2004 20:53:25 +0000 (20:53 +0000)
committerRobin Dunn <robin@alldunn.com>
Mon, 10 May 2004 20:53:25 +0000 (20:53 +0000)
timer as the event object in wxTimerEvents.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27196 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

12 files changed:
include/wx/timer.h
src/common/timercmn.cpp
src/generic/timer.cpp
src/gtk/timer.cpp
src/gtk1/timer.cpp
src/mac/carbon/timer.cpp
src/mac/classic/timer.cpp
src/motif/timer.cpp
src/msw/timer.cpp
src/os2/timer.cpp
wxPython/include/wx/wxPython/pyclasses.h
wxPython/src/_timer.i

index 9e9ed4e5233018db1b0cbb4a3e1b4e4d84ce9c00..fa4e88b2056c01dc436b0ecc1364ad7fef45f7d1 100644 (file)
@@ -58,6 +58,7 @@ public:
     // same as ctor above
     void SetOwner(wxEvtHandler *owner, int timerid = -1)
         { m_owner = owner; m_idTimer = timerid; }
     // same as ctor above
     void SetOwner(wxEvtHandler *owner, int timerid = -1)
         { m_owner = owner; m_idTimer = timerid; }
+    wxEvtHandler* GetOwner() const { return m_owner; }
 
     virtual ~wxTimerBase();
 
 
     virtual ~wxTimerBase();
 
index ffcf0358a91f390f18a6624592d9cc31dcb27dca..5fd7fd476756316c50f25d1b302a71017564660e 100644 (file)
@@ -57,6 +57,7 @@ void wxTimerBase::Notify()
     wxCHECK_RET( m_owner, _T("wxTimer::Notify() should be overridden.") );
 
     wxTimerEvent event(m_idTimer, m_milli);
     wxCHECK_RET( m_owner, _T("wxTimer::Notify() should be overridden.") );
 
     wxTimerEvent event(m_idTimer, m_milli);
+    event.SetEventObject(this);
     (void)m_owner->ProcessEvent(event);
 }
 
     (void)m_owner->ProcessEvent(event);
 }
 
index 2f0df9a97572d1298bb7467489d000e3df4d40c9..495ca2111cbf7750efaa4154bc77330accab9bb2 100644 (file)
@@ -175,7 +175,7 @@ void wxTimerScheduler::NotifyTimers()
 // wxTimer
 // ----------------------------------------------------------------------------
 
 // wxTimer
 // ----------------------------------------------------------------------------
 
-IMPLEMENT_ABSTRACT_CLASS(wxTimer,wxObject)
+IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
 
 wxTimerScheduler *gs_scheduler = NULL;
 
 
 wxTimerScheduler *gs_scheduler = NULL;
 
index 0353bede8b243199015360d781ae7d88f23642c0..3b28f1d1c22251fc1d84e71ea59ba9556a9a4cf1 100644 (file)
@@ -25,7 +25,7 @@
 // wxTimer
 // ----------------------------------------------------------------------------
 
 // wxTimer
 // ----------------------------------------------------------------------------
 
-IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxObject)
+IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
 
 extern "C" gint timeout_callback( gpointer data )
 {
 
 extern "C" gint timeout_callback( gpointer data )
 {
index 0353bede8b243199015360d781ae7d88f23642c0..3b28f1d1c22251fc1d84e71ea59ba9556a9a4cf1 100644 (file)
@@ -25,7 +25,7 @@
 // wxTimer
 // ----------------------------------------------------------------------------
 
 // wxTimer
 // ----------------------------------------------------------------------------
 
-IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxObject)
+IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
 
 extern "C" gint timeout_callback( gpointer data )
 {
 
 extern "C" gint timeout_callback( gpointer data )
 {
index fe935003ca151dab180acdff1129f5c5ece16d2a..fd06d47dfbc78c6ccfea85c24e9a014945e569fb 100644 (file)
@@ -16,7 +16,7 @@
 #include "wx/timer.h"
 
 #if !USE_SHARED_LIBRARY
 #include "wx/timer.h"
 
 #if !USE_SHARED_LIBRARY
-IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxObject)
+IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
 #endif
 
 #ifdef __WXMAC__
 #endif
 
 #ifdef __WXMAC__
index a639e2c46498e72887d85e4e35c3c713bab47380..26cf3cc1502f8d79aa74108219c74d0e8297d182 100644 (file)
@@ -16,7 +16,7 @@
 #include "wx/timer.h"
 
 #if !USE_SHARED_LIBRARY
 #include "wx/timer.h"
 
 #if !USE_SHARED_LIBRARY
-IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxObject)
+IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
 #endif
 
 #ifdef __WXMAC__
 #endif
 
 #ifdef __WXMAC__
index ef99ffeed09276d0cb57e7dcea7cbfbde04d0388..8fab6d35c1afa2d9a82485528d31ad4caeeee5fe 100644 (file)
@@ -30,7 +30,7 @@
 
 #include "wx/motif/private.h"
 
 
 #include "wx/motif/private.h"
 
-IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxObject);
+IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler);
 
 WX_DECLARE_VOIDPTR_HASH_MAP(wxTimer*, wxTimerHashMap);
 
 
 WX_DECLARE_VOIDPTR_HASH_MAP(wxTimer*, wxTimerHashMap);
 
index 796db83d7a6c63b073eaf46eb93f46a51f27c24f..b1e23fca66c67ca2a3a52db4fd57e5fce20af71f 100644 (file)
@@ -62,7 +62,7 @@ void WINAPI wxTimerProc(HWND hwnd, WORD, int idTimer, DWORD);
 // macros
 // ----------------------------------------------------------------------------
 
 // macros
 // ----------------------------------------------------------------------------
 
-IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxObject)
+IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
 
 // ============================================================================
 // implementation
 
 // ============================================================================
 // implementation
index e01bedb5523cf5b3390fe8c4c8f23b83c50b0e90..1aebce5ee143222539b25e8c9eb994e45cc0517b 100644 (file)
@@ -46,7 +46,7 @@ ULONG wxTimerProc(HWND hwnd, ULONG, int nIdTimer, ULONG);
 // macros
 // ----------------------------------------------------------------------------
 
 // macros
 // ----------------------------------------------------------------------------
 
-IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxObject)
+IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
 
 void wxTimer::Init()
 {
 
 void wxTimer::Init()
 {
index 085b41be42000477c725493b4f5b2b24c4abbae8..8a3429c77b47fa305a25f6eaa2603675f3a7aac6 100644 (file)
@@ -87,6 +87,7 @@ public:
 
     DEC_PYCALLBACK__(Notify);
     PYPRIVATE;
 
     DEC_PYCALLBACK__(Notify);
     PYPRIVATE;
+    DECLARE_ABSTRACT_CLASS(wxPyTimer)
 };
 
 
 };
 
 
index b613bbc630f10f45268695453b00d2b83ff20380..1042c7f52fda0dda6a9fe58477584233a1509229 100644 (file)
@@ -34,6 +34,8 @@ enum {
 %{
 //IMP_PYCALLBACK__(wxPyTimer, wxTimer, Notify);
 
 %{
 //IMP_PYCALLBACK__(wxPyTimer, wxTimer, Notify);
 
+IMPLEMENT_ABSTRACT_CLASS(wxPyTimer, wxTimer);
+    
 void wxPyTimer::Notify() {
     bool found;
     bool blocked = wxPyBeginBlockThreads();
 void wxPyTimer::Notify() {
     bool found;
     bool blocked = wxPyBeginBlockThreads();
@@ -54,7 +56,7 @@ void wxPyTimer::base_Notify() {
 %name(Timer) class wxPyTimer : public wxEvtHandler
 {
 public:
 %name(Timer) class wxPyTimer : public wxEvtHandler
 {
 public:
-    %pythonAppend wxPyTimer         "self._setCallbackInfo(self, Timer, 0)"
+    %pythonAppend wxPyTimer         "self._setCallbackInfo(self, Timer, 0); self._setOORInfo(self)"
 
 
     // if you don't call SetOwner() or provide an owner in the contstructor
 
 
     // if you don't call SetOwner() or provide an owner in the contstructor
@@ -69,7 +71,7 @@ public:
     // Set the owner instance that will receive the EVT_TIMER events using the
     // given id.
     void SetOwner(wxEvtHandler *owner, int id = -1);
     // Set the owner instance that will receive the EVT_TIMER events using the
     // given id.
     void SetOwner(wxEvtHandler *owner, int id = -1);
-
+    wxEvtHandler* GetOwner();
 
     // start the timer: if milliseconds == -1, use the same value as for the
     // last Start()
 
     // start the timer: if milliseconds == -1, use the same value as for the
     // last Start()
@@ -141,3 +143,7 @@ public:
 
 
 //---------------------------------------------------------------------------
 
 
 //---------------------------------------------------------------------------
+%init %{
+    wxPyPtrTypeMap_Add("wxTimer", "wxPyTimer");
+%}
+//---------------------------------------------------------------------------