AntiMicroX
Loading...
Searching...
No Matches
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
31
37class JoyButtonSlot : public QObject
38{
40
41 public:
61
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);
89
90 void setSlotCode(int code);
91 int getSlotCode() const;
95 void setMouseSpeed(int value);
96 void setDistance(double distance);
97 double getMouseDistance();
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);
112
114 QString getTextData() const;
115
117 QVariant getExtraData() const;
118
121
122 template <typename T> void appendMiniSlot(T minislot)
123 {
125 mix_slots->append(minislot);
126 }
127
129
130 bool isValidSlot();
131
132 void cleanMixSlots();
133
135
136 private:
137 void copyAssignments(const JoyButtonSlot &rhs);
138 void secureMixSlotsInit();
139
151};
152
155
156#endif // JOYBUTTONSLOT_H
Represents action which can be performed after pressing button.
Definition joybuttonslot.h:38
void setMixSlots(QList< JoyButtonSlot * > *slots)
Definition joybuttonslot.cpp:463
double previousDistance
Definition joybuttonslot.h:145
bool isEasingActive() const
Definition joybuttonslot.cpp:377
JoyButtonSlot & operator=(JoyButtonSlot *slot)
Definition joybuttonslot.cpp:499
int getSlotCode() const
Definition joybuttonslot.cpp:110
void setSlotCode(int code)
Definition joybuttonslot.cpp:86
QElapsedTimer mouseInterval
Definition joybuttonslot.h:146
bool isModifierKey()
Definition joybuttonslot.cpp:365
JoySlotMouseWheelButton
Definition joybuttonslot.h:70
@ MouseWheelDown
Definition joybuttonslot.h:72
@ MouseWheelLeft
Definition joybuttonslot.h:73
@ MouseWheelUp
Definition joybuttonslot.h:71
@ MouseWheelRight
Definition joybuttonslot.h:74
QString movementString()
Definition joybuttonslot.cpp:116
void assignMixSlotsToNull()
Definition joybuttonslot.cpp:444
bool easingActive
Definition joybuttonslot.h:148
void setPreviousDistance(double distance)
Definition joybuttonslot.cpp:359
void appendMiniSlot(T minislot)
Definition joybuttonslot.h:122
QList< JoyButtonSlot * > * getMixSlots()
Definition joybuttonslot.cpp:438
int getSlotCodeAlias() const
Definition joybuttonslot.cpp:108
QString m_textData
Definition joybuttonslot.h:149
double getPreviousDistance() const
Definition joybuttonslot.cpp:361
void setDistance(double distance)
Definition joybuttonslot.cpp:147
QString getSlotString()
Definition joybuttonslot.cpp:157
QList< JoyButtonSlot * > * mix_slots
Definition joybuttonslot.h:143
double getMouseDistance()
Definition joybuttonslot.cpp:149
JoySlotInputAction getSlotMode() const
Definition joybuttonslot.cpp:114
void setMouseSpeed(int value)
void copyAssignments(const JoyButtonSlot &rhs)
Deep-copies member variables from another JoyButtonSlot object into this object.
Definition joybuttonslot.cpp:401
double m_distance
Definition joybuttonslot.h:144
QElapsedTimer easingTime
Definition joybuttonslot.h:147
void secureMixSlotsInit()
Definition joybuttonslot.cpp:429
void setExtraData(QVariant data)
Definition joybuttonslot.cpp:392
QString getTextData() const
Definition joybuttonslot.cpp:385
void setSlotMode(JoySlotInputAction selectedMode)
Definition joybuttonslot.cpp:112
JoySlotMouseDirection
Definition joybuttonslot.h:63
@ MouseRight
Definition joybuttonslot.h:67
@ MouseDown
Definition joybuttonslot.h:65
@ MouseLeft
Definition joybuttonslot.h:66
@ MouseUp
Definition joybuttonslot.h:64
void cleanMixSlots()
Definition joybuttonslot.cpp:446
QElapsedTimer * getMouseInterval()
Definition joybuttonslot.cpp:151
bool isValidSlot()
Definition joybuttonslot.cpp:465
QElapsedTimer * getEasingTime()
Definition joybuttonslot.cpp:381
QString getXmlName()
Definition joybuttonslot.cpp:155
int qkeyaliasCode
Definition joybuttonslot.h:141
int deviceCode
Definition joybuttonslot.h:140
JoySlotInputAction
Definition joybuttonslot.h:43
@ JoyPause
Definition joybuttonslot.h:47
@ JoyDelay
Definition joybuttonslot.h:54
@ JoySetChange
Definition joybuttonslot.h:56
@ JoyMouseButton
Definition joybuttonslot.h:45
@ JoyCycle
Definition joybuttonslot.h:49
@ JoyRelease
Definition joybuttonslot.h:51
@ JoyTextEntry
Definition joybuttonslot.h:57
@ JoyMouseMovement
Definition joybuttonslot.h:46
@ JoyMix
Definition joybuttonslot.h:59
@ JoyKeyboard
Definition joybuttonslot.h:44
@ JoyMouseSpeedMod
Definition joybuttonslot.h:52
@ JoyHold
Definition joybuttonslot.h:48
@ JoyLoadProfile
Definition joybuttonslot.h:55
@ JoyExecute
Definition joybuttonslot.h:58
@ JoyDistance
Definition joybuttonslot.h:50
@ JoyKeyPress
Definition joybuttonslot.h:53
void setTextData(QString textData)
Definition joybuttonslot.cpp:383
JoySlotInputAction m_mode
Definition joybuttonslot.h:142
QVariant extraData
Definition joybuttonslot.h:150
JoySlotMouseButton
Definition joybuttonslot.h:77
@ MouseLB
Definition joybuttonslot.h:78
@ MouseRB
Definition joybuttonslot.h:80
@ MouseMB
Definition joybuttonslot.h:79
void restartMouseInterval()
Definition joybuttonslot.cpp:153
double getDistance() const
Definition joybuttonslot.cpp:363
~JoyButtonSlot()
Definition joybuttonslot.cpp:84
QVariant getExtraData() const
Definition joybuttonslot.cpp:394
void setEasingStatus(bool isActive)
Definition joybuttonslot.cpp:379
Definition joydpadxml.h:27