AntiMicroX
Loading...
Searching...
No Matches
src
joybuttonslot.h
Go to the documentation of this file.
1
/* antimicrox Gamepad to KB+M event mapper
2
* Copyright (C) 2015 Travis Nickles <nickles.travis@gmail.com>
3
* Copyright (C) 2020 Jagoda Górska <juliagoda.pl@protonmail>
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation, either version 3 of the License, or
8
* (at your option) any later version.
9
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
15
* You should have received a copy of the GNU General Public License
16
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
#ifndef JOYBUTTONSLOT_H
20
#define JOYBUTTONSLOT_H
21
22
#include <QElapsedTimer>
23
#include <QObject>
24
#include <QPointer>
25
#include <QTime>
26
#include <QVariant>
27
#include <QtWidgets/QApplication>
28
29
class
QXmlStreamReader
;
30
class
QXmlStreamWriter
;
31
37
class
JoyButtonSlot
:
public
QObject
38
{
39
Q_OBJECT
40
41
public
:
42
enum
JoySlotInputAction
43
{
44
JoyKeyboard
= 0,
45
JoyMouseButton
,
46
JoyMouseMovement
,
47
JoyPause
,
48
JoyHold
,
49
JoyCycle
,
50
JoyDistance
,
51
JoyRelease
,
52
JoyMouseSpeedMod
,
53
JoyKeyPress
,
54
JoyDelay
,
55
JoyLoadProfile
,
56
JoySetChange
,
57
JoyTextEntry
,
58
JoyExecute
,
59
JoyMix
60
};
61
62
enum
JoySlotMouseDirection
63
{
64
MouseUp
= 1,
65
MouseDown
,
66
MouseLeft
,
67
MouseRight
68
};
69
enum
JoySlotMouseWheelButton
70
{
71
MouseWheelUp
= 4,
72
MouseWheelDown
= 5,
73
MouseWheelLeft
= 6,
74
MouseWheelRight
= 7
75
};
76
enum
JoySlotMouseButton
77
{
78
MouseLB
= 1,
79
MouseMB
,
80
MouseRB
81
};
82
83
explicit
JoyButtonSlot
(QObject *
parent
=
nullptr
);
84
explicit
JoyButtonSlot
(
int
code,
JoySlotInputAction
mode, QObject *
parent
=
nullptr
);
85
explicit
JoyButtonSlot
(
int
code,
int
alias,
JoySlotInputAction
mode, QObject *
parent
=
nullptr
);
86
explicit
JoyButtonSlot
(
JoyButtonSlot
*slot, QObject *
parent
=
nullptr
);
87
explicit
JoyButtonSlot
(
QString
text
,
JoySlotInputAction
mode, QObject *
parent
=
nullptr
);
88
~JoyButtonSlot
();
89
90
void
setSlotCode
(
int
code);
91
int
getSlotCode
()
const
;
92
void
setSlotMode
(
JoySlotInputAction
selectedMode
);
93
JoySlotInputAction
getSlotMode
()
const
;
94
QString
movementString
();
95
void
setMouseSpeed
(
int
value);
96
void
setDistance
(
double
distance
);
97
double
getMouseDistance
();
98
QElapsedTimer
*
getMouseInterval
();
99
void
restartMouseInterval
();
100
QString
getXmlName
();
101
QString
getSlotString
();
102
void
setSlotCode
(
int
code,
int
alias);
103
int
getSlotCodeAlias
()
const
;
104
void
setPreviousDistance
(
double
distance
);
105
double
getPreviousDistance
()
const
;
106
double
getDistance
()
const
;
107
bool
isModifierKey
();
108
109
bool
isEasingActive
()
const
;
110
void
setEasingStatus
(
bool
isActive);
111
QElapsedTimer
*
getEasingTime
();
112
113
void
setTextData
(
QString
textData
);
114
QString
getTextData
()
const
;
115
116
void
setExtraData
(
QVariant
data
);
117
QVariant
getExtraData
()
const
;
118
119
void
setMixSlots
(
QList<JoyButtonSlot *>
*
slots
);
120
QList<JoyButtonSlot *>
*
getMixSlots
();
121
122
template
<
typename
T>
void
appendMiniSlot
(
T
minislot
)
123
{
124
secureMixSlotsInit
();
125
mix_slots
->append(
minislot
);
126
}
127
128
void
assignMixSlotsToNull
();
129
130
bool
isValidSlot
();
131
132
void
cleanMixSlots
();
133
134
JoyButtonSlot
&
operator=
(
JoyButtonSlot
*slot);
135
136
private
:
137
void
copyAssignments
(
const
JoyButtonSlot
&
rhs
);
138
void
secureMixSlotsInit
();
139
140
int
deviceCode
;
141
int
qkeyaliasCode
;
142
JoySlotInputAction
m_mode
;
143
QList<JoyButtonSlot *>
*
mix_slots
;
144
double
m_distance
;
145
double
previousDistance
;
146
QElapsedTimer
mouseInterval
;
147
QElapsedTimer
easingTime
;
148
bool
easingActive
;
149
QString
m_textData
;
150
QVariant
extraData
;
151
};
152
153
Q_DECLARE_METATYPE
(
JoyButtonSlot
*)
154
Q_DECLARE_METATYPE
(
JoyButtonSlot::JoySlotInputAction
)
155
156
#endif
// JOYBUTTONSLOT_H
JoyButtonSlot
Represents action which can be performed after pressing button.
Definition
joybuttonslot.h:38
JoyButtonSlot::setMixSlots
void setMixSlots(QList< JoyButtonSlot * > *slots)
Definition
joybuttonslot.cpp:463
JoyButtonSlot::previousDistance
double previousDistance
Definition
joybuttonslot.h:145
JoyButtonSlot::isEasingActive
bool isEasingActive() const
Definition
joybuttonslot.cpp:377
JoyButtonSlot::operator=
JoyButtonSlot & operator=(JoyButtonSlot *slot)
Definition
joybuttonslot.cpp:499
JoyButtonSlot::getSlotCode
int getSlotCode() const
Definition
joybuttonslot.cpp:110
JoyButtonSlot::setSlotCode
void setSlotCode(int code)
Definition
joybuttonslot.cpp:86
JoyButtonSlot::mouseInterval
QElapsedTimer mouseInterval
Definition
joybuttonslot.h:146
JoyButtonSlot::isModifierKey
bool isModifierKey()
Definition
joybuttonslot.cpp:365
JoyButtonSlot::JoySlotMouseWheelButton
JoySlotMouseWheelButton
Definition
joybuttonslot.h:70
JoyButtonSlot::MouseWheelDown
@ MouseWheelDown
Definition
joybuttonslot.h:72
JoyButtonSlot::MouseWheelLeft
@ MouseWheelLeft
Definition
joybuttonslot.h:73
JoyButtonSlot::MouseWheelUp
@ MouseWheelUp
Definition
joybuttonslot.h:71
JoyButtonSlot::MouseWheelRight
@ MouseWheelRight
Definition
joybuttonslot.h:74
JoyButtonSlot::movementString
QString movementString()
Definition
joybuttonslot.cpp:116
JoyButtonSlot::assignMixSlotsToNull
void assignMixSlotsToNull()
Definition
joybuttonslot.cpp:444
JoyButtonSlot::easingActive
bool easingActive
Definition
joybuttonslot.h:148
JoyButtonSlot::setPreviousDistance
void setPreviousDistance(double distance)
Definition
joybuttonslot.cpp:359
JoyButtonSlot::appendMiniSlot
void appendMiniSlot(T minislot)
Definition
joybuttonslot.h:122
JoyButtonSlot::getMixSlots
QList< JoyButtonSlot * > * getMixSlots()
Definition
joybuttonslot.cpp:438
JoyButtonSlot::getSlotCodeAlias
int getSlotCodeAlias() const
Definition
joybuttonslot.cpp:108
JoyButtonSlot::m_textData
QString m_textData
Definition
joybuttonslot.h:149
JoyButtonSlot::getPreviousDistance
double getPreviousDistance() const
Definition
joybuttonslot.cpp:361
JoyButtonSlot::setDistance
void setDistance(double distance)
Definition
joybuttonslot.cpp:147
JoyButtonSlot::getSlotString
QString getSlotString()
Definition
joybuttonslot.cpp:157
JoyButtonSlot::mix_slots
QList< JoyButtonSlot * > * mix_slots
Definition
joybuttonslot.h:143
JoyButtonSlot::getMouseDistance
double getMouseDistance()
Definition
joybuttonslot.cpp:149
JoyButtonSlot::getSlotMode
JoySlotInputAction getSlotMode() const
Definition
joybuttonslot.cpp:114
JoyButtonSlot::setMouseSpeed
void setMouseSpeed(int value)
JoyButtonSlot::copyAssignments
void copyAssignments(const JoyButtonSlot &rhs)
Deep-copies member variables from another JoyButtonSlot object into this object.
Definition
joybuttonslot.cpp:401
JoyButtonSlot::m_distance
double m_distance
Definition
joybuttonslot.h:144
JoyButtonSlot::easingTime
QElapsedTimer easingTime
Definition
joybuttonslot.h:147
JoyButtonSlot::secureMixSlotsInit
void secureMixSlotsInit()
Definition
joybuttonslot.cpp:429
JoyButtonSlot::setExtraData
void setExtraData(QVariant data)
Definition
joybuttonslot.cpp:392
JoyButtonSlot::getTextData
QString getTextData() const
Definition
joybuttonslot.cpp:385
JoyButtonSlot::setSlotMode
void setSlotMode(JoySlotInputAction selectedMode)
Definition
joybuttonslot.cpp:112
JoyButtonSlot::JoySlotMouseDirection
JoySlotMouseDirection
Definition
joybuttonslot.h:63
JoyButtonSlot::MouseRight
@ MouseRight
Definition
joybuttonslot.h:67
JoyButtonSlot::MouseDown
@ MouseDown
Definition
joybuttonslot.h:65
JoyButtonSlot::MouseLeft
@ MouseLeft
Definition
joybuttonslot.h:66
JoyButtonSlot::MouseUp
@ MouseUp
Definition
joybuttonslot.h:64
JoyButtonSlot::cleanMixSlots
void cleanMixSlots()
Definition
joybuttonslot.cpp:446
JoyButtonSlot::getMouseInterval
QElapsedTimer * getMouseInterval()
Definition
joybuttonslot.cpp:151
JoyButtonSlot::isValidSlot
bool isValidSlot()
Definition
joybuttonslot.cpp:465
JoyButtonSlot::getEasingTime
QElapsedTimer * getEasingTime()
Definition
joybuttonslot.cpp:381
JoyButtonSlot::getXmlName
QString getXmlName()
Definition
joybuttonslot.cpp:155
JoyButtonSlot::qkeyaliasCode
int qkeyaliasCode
Definition
joybuttonslot.h:141
JoyButtonSlot::deviceCode
int deviceCode
Definition
joybuttonslot.h:140
JoyButtonSlot::JoySlotInputAction
JoySlotInputAction
Definition
joybuttonslot.h:43
JoyButtonSlot::JoyPause
@ JoyPause
Definition
joybuttonslot.h:47
JoyButtonSlot::JoyDelay
@ JoyDelay
Definition
joybuttonslot.h:54
JoyButtonSlot::JoySetChange
@ JoySetChange
Definition
joybuttonslot.h:56
JoyButtonSlot::JoyMouseButton
@ JoyMouseButton
Definition
joybuttonslot.h:45
JoyButtonSlot::JoyCycle
@ JoyCycle
Definition
joybuttonslot.h:49
JoyButtonSlot::JoyRelease
@ JoyRelease
Definition
joybuttonslot.h:51
JoyButtonSlot::JoyTextEntry
@ JoyTextEntry
Definition
joybuttonslot.h:57
JoyButtonSlot::JoyMouseMovement
@ JoyMouseMovement
Definition
joybuttonslot.h:46
JoyButtonSlot::JoyMix
@ JoyMix
Definition
joybuttonslot.h:59
JoyButtonSlot::JoyKeyboard
@ JoyKeyboard
Definition
joybuttonslot.h:44
JoyButtonSlot::JoyMouseSpeedMod
@ JoyMouseSpeedMod
Definition
joybuttonslot.h:52
JoyButtonSlot::JoyHold
@ JoyHold
Definition
joybuttonslot.h:48
JoyButtonSlot::JoyLoadProfile
@ JoyLoadProfile
Definition
joybuttonslot.h:55
JoyButtonSlot::JoyExecute
@ JoyExecute
Definition
joybuttonslot.h:58
JoyButtonSlot::JoyDistance
@ JoyDistance
Definition
joybuttonslot.h:50
JoyButtonSlot::JoyKeyPress
@ JoyKeyPress
Definition
joybuttonslot.h:53
JoyButtonSlot::setTextData
void setTextData(QString textData)
Definition
joybuttonslot.cpp:383
JoyButtonSlot::m_mode
JoySlotInputAction m_mode
Definition
joybuttonslot.h:142
JoyButtonSlot::extraData
QVariant extraData
Definition
joybuttonslot.h:150
JoyButtonSlot::JoySlotMouseButton
JoySlotMouseButton
Definition
joybuttonslot.h:77
JoyButtonSlot::MouseLB
@ MouseLB
Definition
joybuttonslot.h:78
JoyButtonSlot::MouseRB
@ MouseRB
Definition
joybuttonslot.h:80
JoyButtonSlot::MouseMB
@ MouseMB
Definition
joybuttonslot.h:79
JoyButtonSlot::restartMouseInterval
void restartMouseInterval()
Definition
joybuttonslot.cpp:153
JoyButtonSlot::getDistance
double getDistance() const
Definition
joybuttonslot.cpp:363
JoyButtonSlot::~JoyButtonSlot
~JoyButtonSlot()
Definition
joybuttonslot.cpp:84
JoyButtonSlot::getExtraData
QVariant getExtraData() const
Definition
joybuttonslot.cpp:394
JoyButtonSlot::setEasingStatus
void setEasingStatus(bool isActive)
Definition
joybuttonslot.cpp:379
JoyDPadXml
Definition
joydpadxml.h:27
Generated by
1.9.8