X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e9e4acc5197ac49259b9a39468c5931b4459d87f..af8481937288aa79f67b5e7df3caeef5a7824248:/include/wx/timer.h?ds=sidebyside diff --git a/include/wx/timer.h b/include/wx/timer.h index d6fcce73d0..77d2710666 100644 --- a/include/wx/timer.h +++ b/include/wx/timer.h @@ -7,7 +7,7 @@ // Created: 04/01/98 // RCS-ID: $Id$ // Copyright: (c) wxWindows team -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_TIMER_H_BASE_ @@ -37,7 +37,7 @@ #define wxTIMER_ONE_SHOT TRUE // the interface of wxTimer class -class WXDLLEXPORT wxTimerBase : public wxObject +class WXDLLEXPORT wxTimerBase : public wxEvtHandler { public: // ctors and initializers @@ -45,7 +45,7 @@ public: // default: if you don't call SetOwner(), your only chance to get timer // notifications is to override Notify() in the derived class - wxTimerBase() { Init(); SetOwner(NULL); } + wxTimerBase() { Init(); SetOwner(this); } // ctor which allows to avoid having to override Notify() in the derived // class: the owner will get timer notifications which can be handled with @@ -117,7 +117,7 @@ protected: #include "wx/motif/timer.h" #elif defined(__WXGTK__) #include "wx/gtk/timer.h" -#elif defined(__WXX11__) || defined(__WXMGL__) +#elif defined(__WXX11__) || defined(__WXMGL__) || defined(__WXCOCOA__) #include "wx/generic/timer.h" #elif defined(__WXMAC__) #include "wx/mac/timer.h" @@ -205,10 +205,21 @@ public: void Start(long t0 = 0); // pause the stop watch - void Pause() { if ( !m_pauseCount++) m_pause = GetElapsedTime(); } + void Pause() + { + if ( !m_pauseCount++ ) + m_pause = GetElapsedTime(); + } // resume it - void Resume() { if ( !--m_pauseCount ) Start(m_pause); } + void Resume() + { + wxASSERT_MSG( m_pauseCount > 0, + _T("Resuming stop watch which is not paused") ); + + if ( !--m_pauseCount ) + Start(m_pause); + } // get elapsed time since the last Start() in milliseconds long Time() const;