]> git.saurik.com Git - wxWidgets.git/blame - include/wx/private/timer.h
Somehow, setting a tint color makes gauge work :/.
[wxWidgets.git] / include / wx / private / timer.h
CommitLineData
c2ca375c 1/////////////////////////////////////////////////////////////////////////////
80fdcdb9 2// Name: wx/private/timer.h
c2ca375c
VZ
3// Purpose: Base class for wxTimer implementations
4// Author: Lukasz Michalski <lmichalski@sf.net>
5// Created: 31.10.2006
c2ca375c
VZ
6// Copyright: (c) 2006-2007 wxWidgets dev team
7// Licence: wxWindows licence
8/////////////////////////////////////////////////////////////////////////////
9
10#ifndef _WX_TIMERIMPL_H_BASE_
11#define _WX_TIMERIMPL_H_BASE_
12
13#include "wx/defs.h"
14#include "wx/event.h"
15#include "wx/timer.h"
16
17// ----------------------------------------------------------------------------
18// wxTimerImpl: abstract base class for wxTimer implementations
19// ----------------------------------------------------------------------------
20
21class WXDLLIMPEXP_BASE wxTimerImpl
22{
23public:
24 // default ctor, SetOwner() must be called after it (wxTimer does it)
25 wxTimerImpl(wxTimer *owner);
26
27 // this must be called initially but may be also called later
28 void SetOwner(wxEvtHandler *owner, int timerid);
29
30 // empty but virtual base class dtor, the caller is responsible for
31 // stopping the timer before it's destroyed (it can't be done from here as
32 // it's too late)
33 virtual ~wxTimerImpl() { }
34
35
36 // start the timer. When overriding call base version first.
37 virtual bool Start(int milliseconds = -1, bool oneShot = false);
38
39 // stop the timer, only called if the timer is really running (unlike
40 // wxTimer::Stop())
41 virtual void Stop() = 0;
42
43 // return true if the timer is running
44 virtual bool IsRunning() const = 0;
45
46 // this should be called by the port-specific code when the timer expires
47 virtual void Notify() { m_timer->Notify(); }
48
49 // the default implementation of wxTimer::Notify(): generate a wxEVT_TIMER
50 void SendEvent();
51
52
53 // accessors for wxTimer:
54 wxEvtHandler *GetOwner() const { return m_owner; }
55 int GetId() const { return m_idTimer; }
56 int GetInterval() const { return m_milli; }
57 bool IsOneShot() const { return m_oneShot; }
58
59protected:
60 wxTimer *m_timer;
61
62 wxEvtHandler *m_owner;
63
64 int m_idTimer; // id passed to wxTimerEvent
65 int m_milli; // the timer interval
66 bool m_oneShot; // true if one shot
67
68
c0c133e1 69 wxDECLARE_NO_COPY_CLASS(wxTimerImpl);
11624aa0 70};
c2ca375c
VZ
71
72#endif // _WX_TIMERIMPL_H_BASE_