SPTK Home Page
sptk5
gui
CEvent.h
1
/*
2
╔══════════════════════════════════════════════════════════════════════════════╗
3
║ SIMPLY POWERFUL TOOLKIT (SPTK) ║
4
╟──────────────────────────────────────────────────────────────────────────────╢
5
║ copyright © 1999-2022 Alexey Parshin. All rights reserved. ║
6
║ email alexeyp@gmail.com ║
7
╚══════════════════════════════════════════════════════════════════════════════╝
8
┌──────────────────────────────────────────────────────────────────────────────┐
9
│ This library is free software; you can redistribute it and/or modify it │
10
│ under the terms of the GNU Library General Public License as published by │
11
│ the Free Software Foundation; either version 2 of the License, or (at your │
12
│ option) any later version. │
13
│ │
14
│ This library is distributed in the hope that it will be useful, but │
15
│ WITHOUT ANY WARRANTY; without even the implied warranty of │
16
│ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library │
17
│ General Public License for more details. │
18
│ │
19
│ You should have received a copy of the GNU Library General Public License │
20
│ along with this library; if not, write to the Free Software Foundation, │
21
│ Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. │
22
│ │
23
│ Please report all bugs and problems to alexeyp@gmail.com. │
24
└──────────────────────────────────────────────────────────────────────────────┘
25
*/
26
27
#pragma once
28
29
#include <sptk5/sptk.h>
30
31
namespace
sptk {
32
41
enum class
CEvent
: uint8_t
42
{
46
NONE
,
47
51
DATA_CHANGED
,
52
56
FOCUS
,
57
61
UNFOCUS
,
62
66
SHOW
,
67
71
HIDE
,
72
76
KEYBOARD
,
77
81
MOUSE_CLICK
,
82
86
MOUSE_DOUBLE_CLICK
,
87
91
MOUSE_DRAG
,
92
96
MOUSE_MOVE
,
97
101
MOUSE_RELEASE
,
102
106
MOUSE_WHEEL
,
107
111
PROGRESS
,
112
116
BUTTON_PRESSED
,
117
121
ADD_ITEM
,
122
126
EDIT_ITEM
,
127
131
DELETE_ITEM
,
132
136
REFRESH
,
137
141
LAST_EVENT
142
};
143
147
class
CEventInfo
148
{
152
CEvent
m_event;
153
157
int32_t m_argument;
158
159
160
public
:
166
explicit
CEventInfo
(
CEvent
eventType =
CEvent::NONE
, int32_t eventArg = 0)
167
: m_event(eventType)
168
, m_argument(eventArg)
169
{
170
}
171
176
CEventInfo
&
operator=
(
CEvent
eventType)
177
{
178
m_event = eventType;
179
return
*
this
;
180
}
181
185
CEvent
type
()
const
186
{
187
return
m_event;
188
}
189
193
int32_t
argument
()
const
194
{
195
return
m_argument;
196
}
197
};
201
}
sptk::CEventInfo
Definition:
CEvent.h:148
sptk::CEventInfo::argument
int32_t argument() const
Definition:
CEvent.h:193
sptk::CEventInfo::operator=
CEventInfo & operator=(CEvent eventType)
Definition:
CEvent.h:176
sptk::CEventInfo::type
CEvent type() const
Definition:
CEvent.h:185
sptk::CEventInfo::CEventInfo
CEventInfo(CEvent eventType=CEvent::NONE, int32_t eventArg=0)
Definition:
CEvent.h:166
sptk::CEvent
CEvent
Definition:
CEvent.h:42
sptk::InputEntryFlags::NONE
@ NONE
sptk::CControlKind::PROGRESS
@ PROGRESS
sptk::CEvent::BUTTON_PRESSED
@ BUTTON_PRESSED
sptk::CEvent::HIDE
@ HIDE
sptk::CEvent::MOUSE_DRAG
@ MOUSE_DRAG
sptk::CEvent::UNFOCUS
@ UNFOCUS
sptk::CEvent::MOUSE_MOVE
@ MOUSE_MOVE
sptk::CEvent::MOUSE_CLICK
@ MOUSE_CLICK
sptk::CEvent::DATA_CHANGED
@ DATA_CHANGED
sptk::CEvent::MOUSE_WHEEL
@ MOUSE_WHEEL
sptk::CEvent::ADD_ITEM
@ ADD_ITEM
sptk::CEvent::DELETE_ITEM
@ DELETE_ITEM
sptk::CEvent::REFRESH
@ REFRESH
sptk::CEvent::NONE
@ NONE
sptk::CEvent::SHOW
@ SHOW
sptk::CEvent::MOUSE_RELEASE
@ MOUSE_RELEASE
sptk::CEvent::FOCUS
@ FOCUS
sptk::CEvent::LAST_EVENT
@ LAST_EVENT
sptk::CEvent::MOUSE_DOUBLE_CLICK
@ MOUSE_DOUBLE_CLICK
sptk::CEvent::EDIT_ITEM
@ EDIT_ITEM
sptk::CEvent::KEYBOARD
@ KEYBOARD
Fri Oct 14 2022 09:58:31: SPTK 5.4.1