KiCad PCB EDA Suite
Loading...
Searching...
No Matches
wx_debounced_action.cpp
Go to the documentation of this file.
1
/*
2
* This program source code file is part of KiCad, a free EDA CAD application.
3
*
4
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
5
*
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; either version 2
9
* of the License, or (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <https://www.gnu.org/licenses/>.
18
*/
19
20
#include <
widgets/wx_debounced_action.h
>
21
22
#include <utility>
23
24
25
WX_DEBOUNCED_ACTION::WX_DEBOUNCED_ACTION
(
ACTION_FN
aAction,
int
aDelayMs ) :
26
m_action
(
std
::
move
( aAction ) ),
27
m_delayMs
( aDelayMs )
28
{
29
wxASSERT_MSG( aDelayMs >= 0, wxT(
"A debounce delay cannot be negative"
) );
30
}
31
32
33
void
WX_DEBOUNCED_ACTION::Restart
()
34
{
35
// StartOnce() restarts the timer when it is already running, which is what makes the
36
// action wait for the caller to stop calling Restart().
37
StartOnce(
m_delayMs
);
38
}
39
40
41
void
WX_DEBOUNCED_ACTION::Cancel
()
42
{
43
Stop();
44
}
45
46
47
void
WX_DEBOUNCED_ACTION::Notify
()
48
{
49
if
(
m_action
)
50
m_action
();
51
}
BITMAPS::move
@ move
Definition
bitmaps_list.h:382
WX_DEBOUNCED_ACTION::WX_DEBOUNCED_ACTION
WX_DEBOUNCED_ACTION(ACTION_FN aAction, int aDelayMs)
Definition
wx_debounced_action.cpp:25
WX_DEBOUNCED_ACTION::Notify
void Notify() override
Definition
wx_debounced_action.cpp:47
WX_DEBOUNCED_ACTION::Restart
void Restart()
(Re)start the delay: the action runs by the delay after the call, unless another one is made within t...
Definition
wx_debounced_action.cpp:33
WX_DEBOUNCED_ACTION::ACTION_FN
std::function< void()> ACTION_FN
Definition
wx_debounced_action.h:36
WX_DEBOUNCED_ACTION::m_action
ACTION_FN m_action
Definition
wx_debounced_action.h:63
WX_DEBOUNCED_ACTION::Cancel
void Cancel()
Stop the timer.
Definition
wx_debounced_action.cpp:41
WX_DEBOUNCED_ACTION::m_delayMs
int m_delayMs
Definition
wx_debounced_action.h:64
std
STL namespace.
wx_debounced_action.h
src
common
widgets
wx_debounced_action.cpp
Generated on Wed Oct 7 2026 00:05:54 for KiCad PCB EDA Suite by
1.13.2