Coverage Report

Created: 2025-06-13 06:30

/src/wxwidgets/include/wx/private/timer.h
Line
Count
Source (jump to first uncovered line)
1
/////////////////////////////////////////////////////////////////////////////
2
// Name:        wx/private/timer.h
3
// Purpose:     Base class for wxTimer implementations
4
// Author:      Lukasz Michalski <lmichalski@sf.net>
5
// Created:     31.10.2006
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
21
class WXDLLIMPEXP_BASE wxTimerImpl
22
{
23
public:
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
0
    virtual ~wxTimerImpl() = default;
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
0
    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
0
    wxEvtHandler *GetOwner() const { return m_owner; }
55
0
    int GetId() const { return m_idTimer; }
56
0
    int GetInterval() const { return m_milli; }
57
0
    bool IsOneShot() const { return m_oneShot; }
58
59
protected:
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
69
    wxDECLARE_NO_COPY_CLASS(wxTimerImpl);
70
};
71
72
#endif // _WX_TIMERIMPL_H_BASE_