AntiMicroX
advancestickassignmentdialog.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 ADVANCESTICKASSIGNMENTDIALOG_H
20 #define ADVANCESTICKASSIGNMENTDIALOG_H
21 
22 #include <QDialog>
23 
24 class Joystick;
25 class JoyAxisButton;
26 class JoyButton;
27 class QComboBox;
28 class QCheckBox;
29 class JoyControlStick;
30 
31 namespace Ui {
33 }
34 
35 class AdvanceStickAssignmentDialog : public QDialog
36 {
37  Q_OBJECT
38 
39  public:
40  explicit AdvanceStickAssignmentDialog(Joystick *joystick, QWidget *parent = nullptr);
41  AdvanceStickAssignmentDialog(QWidget *parent = nullptr);
43 
44  Joystick *getJoystick() const;
45 
46  signals:
49 
50  private slots:
53 
54  void checkForAxisAssignmentStickOne(QWidget *comboBox);
55  void checkForAxisAssignmentStickTwo(QWidget *comboBox);
56 
57  void changeStateStickOneWidgets(bool enabled);
58  void changeStateStickTwoWidgets(bool enabled);
59  void changeStateVDPadWidgets(bool enabledVDPads);
60 
62 
63  void changeVDPadUpButton(int index);
64  void changeVDPadDownButton(int index);
65  void changeVDPadLeftButton(int index);
66  void changeVDPadRightButton(int index);
67 
69  void enableVDPadComboBoxes();
70 
73 
74  void openAssignVDPadUp();
75  void openAssignVDPadDown();
76  void openAssignVDPadLeft();
77  void openAssignVDPadRight();
78 
79  void quickAssignVDPadUp(JoyAxisButton *joyaxisbtn);
80  void quickAssignVDPadUpBtn(JoyButton *joybtn);
83  void quickAssignVDPadLeft(JoyAxisButton *joyaxisbtn);
84  void quickAssignVDPadLeftJbtn(JoyButton *joybtn);
85  void quickAssignVDPadRight(JoyAxisButton *joyaxisbtn);
87 
88  void reenableButtonEvents();
89 
90  private:
91  Ui::AdvanceStickAssignmentDialog *ui;
92 
94 
95  void checkForAxisAssignmentSticks(QWidget *comboBox, QComboBox *xAxisComboBox, QComboBox *yAxisComboBox,
96  int controlStickNumber);
97  void refreshSticksForAxes(bool axesExist, int xAxisComboBoxIndex, int yAxisComboBoxIndex, QComboBox *xAxisComboBox,
98  QComboBox *yAxisComboBox, QCheckBox *enabledSticksCheckbox, QPushButton *quickAssignBtn);
99  void refreshVDPadConf(JoyButton *vdpadButton, QComboBox *vpadComboBox);
100 };
101 
102 #endif // ADVANCESTICKASSIGNMENTDIALOG_H
AdvanceStickAssignmentDialog::quickAssignVDPadRight
void quickAssignVDPadRight(JoyAxisButton *joyaxisbtn)
Definition: advancestickassignmentdialog.cpp:1202
AdvanceStickAssignmentDialog::stickConfigurationChanged
void stickConfigurationChanged()
Joystick::getSDLName
virtual QString getSDLName() override
Definition: joystick.cpp:51
JoyControlStick::getAxisY
JoyAxis * getAxisY()
Definition: joycontrolstick.cpp:1824
SetJoystick::addControlStick
void addControlStick(int index, JoyControlStick *stick)
Definition: setjoystick.cpp:436
AdvanceStickAssignmentDialog::changeVDPadDownButton
void changeVDPadDownButton(int index)
Definition: advancestickassignmentdialog.cpp:512
AdvanceStickAssignmentDialog::quickAssignVDPadDownJbtn
void quickAssignVDPadDownJbtn(JoyButton *axbtn)
Definition: advancestickassignmentdialog.cpp:1162
AdvanceStickAssignmentDialog::changeStateStickOneWidgets
void changeStateStickOneWidgets(bool enabled)
Definition: advancestickassignmentdialog.cpp:212
AdvanceStickAssignmentDialog::checkForAxisAssignmentStickOne
void checkForAxisAssignmentStickOne(QWidget *comboBox)
Definition: advancestickassignmentdialog.cpp:129
AdvanceStickAssignmentDialog::openQuickAssignDialogStick1
void openQuickAssignDialogStick1()
Definition: advancestickassignmentdialog.cpp:761
joycontrolstick.h
JoyAxis
Represents single axis of of joystick (or other input)
Definition: joyaxis.h:40
JoyAxis::getRealJoyIndex
int getRealJoyIndex()
Definition: joyaxis.cpp:251
SetJoystick::setIgnoreEventState
void setIgnoreEventState(bool ignore)
Definition: setjoystick.cpp:756
AdvanceStickAssignmentDialog::checkForAxisAssignmentStickTwo
void checkForAxisAssignmentStickTwo(QWidget *comboBox)
Definition: advancestickassignmentdialog.cpp:134
globalvariables.h
InputDevice::getNumberAxes
virtual int getNumberAxes()
Definition: inputdevice.cpp:567
AdvanceStickAssignmentDialog::refreshVDPadConf
void refreshVDPadConf(JoyButton *vdpadButton, QComboBox *vpadComboBox)
Definition: advancestickassignmentdialog.cpp:357
AdvanceStickAssignmentDialog::refreshVDPadsConfiguration
void refreshVDPadsConfiguration()
Definition: advancestickassignmentdialog.cpp:306
JoyAxis::active
void active(int value)
AdvanceStickAssignmentDialog::vdpadConfigurationChanged
void vdpadConfigurationChanged()
JoyDPadButton::DpadDown
@ DpadDown
Definition: joydpadbutton.h:46
JoyDPadButton::DpadLeft
@ DpadLeft
Definition: joydpadbutton.h:47
SetJoystick::getVDPad
VDPad * getVDPad(int index) const
Definition: setjoystick.cpp:67
JoyDPadButton::DpadRight
@ DpadRight
Definition: joydpadbutton.h:45
JoyDPadButton::DpadUp
@ DpadUp
Definition: joydpadbutton.h:44
SetJoystick
A set of mapped events which can by switched by a controller event. Contains controller input objects...
Definition: setjoystick.h:39
AdvanceStickAssignmentDialog::joystick
Joystick * joystick
Definition: advancestickassignmentdialog.h:93
VDPad::getVButton
JoyButton * getVButton(JoyDPadButton::JoyDPadDirections direction)
Definition: vdpad.cpp:233
AdvanceStickAssignmentDialog::quickAssignVDPadLeft
void quickAssignVDPadLeft(JoyAxisButton *joyaxisbtn)
Definition: advancestickassignmentdialog.cpp:1174
JoyControlStick::getAxisX
JoyAxis * getAxisX()
Definition: joycontrolstick.cpp:1822
AdvanceStickAssignmentDialog::enableVDPadComboBoxes
void enableVDPadComboBoxes()
Definition: advancestickassignmentdialog.cpp:737
AdvanceStickAssignmentDialog::quickAssignVDPadLeftJbtn
void quickAssignVDPadLeftJbtn(JoyButton *joybtn)
Definition: advancestickassignmentdialog.cpp:1190
JoyButton::getRealJoyNumber
virtual int getRealJoyNumber() const
Get a 1 indexed number of button.
Definition: joybutton.cpp:364
SetJoystick::getJoyStick
JoyControlStick * getJoyStick(int index) const
Definition: setjoystick.cpp:69
JoyAxis::getPAxisButton
JoyAxisButton * getPAxisButton()
Definition: joyaxis.cpp:459
AdvanceStickAssignmentDialog::changeVDPadUpButton
void changeVDPadUpButton(int index)
Definition: advancestickassignmentdialog.cpp:437
joystick.h
vdpad.h
InputDevice::getRealJoyNumber
int getRealJoyNumber()
Definition: inputdevice.cpp:60
AdvanceStickAssignmentDialog::changeVDPadRightButton
void changeVDPadRightButton(int index)
Definition: advancestickassignmentdialog.cpp:662
AdvanceStickAssignmentDialog::openAssignVDPadLeft
void openAssignVDPadLeft()
Definition: advancestickassignmentdialog.cpp:988
Ui
Definition: aboutdialog.h:26
AdvanceStickAssignmentDialog::populateDPadComboBoxes
void populateDPadComboBoxes()
Definition: advancestickassignmentdialog.cpp:386
VDPad
Definition: vdpad.h:26
VDPad::addVButton
void addVButton(JoyDPadButton::JoyDPadDirections direction, JoyButton *button)
Definition: vdpad.cpp:134
AdvanceStickAssignmentDialog::openAssignVDPadRight
void openAssignVDPadRight()
Definition: advancestickassignmentdialog.cpp:1051
AdvanceStickAssignmentDialog::reenableButtonEvents
void reenableButtonEvents()
Definition: advancestickassignmentdialog.cpp:860
JoyButton::clicked
void clicked(int index)
AdvanceStickAssignmentDialog::ui
Ui::AdvanceStickAssignmentDialog * ui
Definition: advancestickassignmentdialog.h:91
Joystick
General input device (which is not a typical gamepad like steering wheels, flight sticks etc....
Definition: joystick.h:34
advancestickassignmentdialog.h
AdvanceStickAssignmentDialog::checkForAxisAssignmentSticks
void checkForAxisAssignmentSticks(QWidget *comboBox, QComboBox *xAxisComboBox, QComboBox *yAxisComboBox, int controlStickNumber)
Definition: advancestickassignmentdialog.cpp:139
AdvanceStickAssignmentDialog::changeVDPadLeftButton
void changeVDPadLeftButton(int index)
Definition: advancestickassignmentdialog.cpp:587
JoyControlStick::replaceAxes
void replaceAxes(JoyAxis *axisX, JoyAxis *axisY)
Definition: joycontrolstick.cpp:1846
SetJoystick::getJoyButton
JoyButton * getJoyButton(int index) const
Definition: setjoystick.cpp:57
JoyButton::getVDPad
VDPad * getVDPad()
Definition: joybutton.cpp:3463
SetJoystick::addVDPad
void addVDPad(int index, VDPad *vdpad)
Definition: setjoystick.cpp:473
JoyControlStick
Represents stick of a joystick.
Definition: joycontrolstick.h:37
InputDevice::getNumberButtons
virtual int getNumberButtons()
Definition: inputdevice.cpp:565
JoyButton
Represents a single joystick button being part of a SetJoystick Contains multiple JoyButtonSlots whic...
Definition: joybutton.h:46
SetJoystick::release
void release()
Perform a release of all elements of a set. Stick and vdpad releases will be handled by the associate...
Definition: setjoystick.cpp:319
JoyAxisButton
Definition: joyaxisbutton.h:29
AdvanceStickAssignmentDialog::refreshStickConfiguration
void refreshStickConfiguration(JoyControlStick *stick1, JoyControlStick *stick2)
Definition: advancestickassignmentdialog.cpp:268
AdvanceStickAssignmentDialog::quickAssignVDPadDown
void quickAssignVDPadDown(JoyAxisButton *axbtn)
Definition: advancestickassignmentdialog.cpp:1146
AdvanceStickAssignmentDialog::quickAssignVDPadUpBtn
void quickAssignVDPadUpBtn(JoyButton *joybtn)
Definition: advancestickassignmentdialog.cpp:1132
AdvanceStickAssignmentDialog
Definition: advancestickassignmentdialog.h:35
AdvanceStickAssignmentDialog::openQuickAssignDialogStick2
void openQuickAssignDialogStick2()
Definition: advancestickassignmentdialog.cpp:811
AdvanceStickAssignmentDialog::refreshSticksForAxes
void refreshSticksForAxes(bool axesExist, int xAxisComboBoxIndex, int yAxisComboBoxIndex, QComboBox *xAxisComboBox, QComboBox *yAxisComboBox, QCheckBox *enabledSticksCheckbox, QPushButton *quickAssignBtn)
Definition: advancestickassignmentdialog.cpp:293
JoyButton::getJoyNumber
int getJoyNumber()
Get 0 indexed number of SDL button index.
Definition: joybutton.cpp:358
VDPad::removeVButton
void removeVButton(JoyDPadButton::JoyDPadDirections direction)
Definition: vdpad.cpp:179
AdvanceStickAssignmentDialog::disableVDPadComboBoxes
void disableVDPadComboBoxes()
Definition: advancestickassignmentdialog.cpp:749
AdvanceStickAssignmentDialog::quickAssignVDPadRightJbtn
void quickAssignVDPadRightJbtn(JoyButton *joybtn)
Definition: advancestickassignmentdialog.cpp:1218
SetJoystick::getJoyAxis
JoyAxis * getJoyAxis(int index) const
Definition: setjoystick.cpp:59
JoyAxis::getNAxisButton
JoyAxisButton * getNAxisButton()
Definition: joyaxis.cpp:461
AdvanceStickAssignmentDialog::openAssignVDPadUp
void openAssignVDPadUp()
Definition: advancestickassignmentdialog.cpp:866
AdvanceStickAssignmentDialog::getJoystick
Joystick * getJoystick() const
Definition: advancestickassignmentdialog.cpp:1230
InputDevice::getNumberHats
virtual int getNumberHats()
Definition: inputdevice.cpp:569
AdvanceStickAssignmentDialog::~AdvanceStickAssignmentDialog
~AdvanceStickAssignmentDialog()
Definition: advancestickassignmentdialog.cpp:127
AdvanceStickAssignmentDialog::quickAssignVDPadUp
void quickAssignVDPadUp(JoyAxisButton *joyaxisbtn)
Definition: advancestickassignmentdialog.cpp:1114
AdvanceStickAssignmentDialog::changeStateStickTwoWidgets
void changeStateStickTwoWidgets(bool enabled)
Definition: advancestickassignmentdialog.cpp:243
JoyAxisButton::getAxis
JoyAxis * getAxis() const
Definition: joyaxisbutton.cpp:183
AdvanceStickAssignmentDialog::changeStateVDPadWidgets
void changeStateVDPadWidgets(bool enabledVDPads)
Definition: advancestickassignmentdialog.cpp:182
JoyAxis::isPartControlStick
bool isPartControlStick()
Definition: joyaxis.cpp:522
InputDevice::removeControlStick
void removeControlStick(int index)
Definition: inputdevice.cpp:682
InputDevice::getJoystick_sets
QMap< int, SetJoystick * > & getJoystick_sets()
Definition: inputdevice.cpp:1715
AdvanceStickAssignmentDialog::AdvanceStickAssignmentDialog
AdvanceStickAssignmentDialog(Joystick *joystick, QWidget *parent=nullptr)
Definition: advancestickassignmentdialog.cpp:37
number
it is up to the author donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License If the distribution and or use of the Library is restricted in certain countries either by patents or by copyrighted the original copyright holder who places the Library under this License may add an geographical distribution limitation excluding those so that distribution is permitted only in or among countries not thus excluded In such this License incorporates the limitation as if written in the body of this License The Free Software Foundation may publish revised and or new versions of the Lesser General Public License from time to time Such new versions will be similar in spirit to the present but may differ in detail to address new problems or concerns Each version is given a distinguishing version number If the Library specifies a version number of this License which applies to it and any later you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation If the Library does not specify a license version number
Definition: lgpl-2.1.txt:423
SetJoystick::removeVDPad
void removeVDPad(int index)
Definition: setjoystick.cpp:496
InputDevice::resetButtonDownCount
void resetButtonDownCount()
Definition: inputdevice.cpp:1123
InputDevice::getActiveSetJoystick
SetJoystick * getActiveSetJoystick()
Definition: inputdevice.cpp:563
AdvanceStickAssignmentDialog::openAssignVDPadDown
void openAssignVDPadDown()
Definition: advancestickassignmentdialog.cpp:927