AntiMicroX
quicksetdialog.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 QUICKSETDIALOG_H
20 #define QUICKSETDIALOG_H
21 
23 #include <QDialog>
24 
25 class InputDevice;
26 class QWidget;
27 class SetJoystick;
28 class JoyControlStick;
29 class JoyButton;
31 class JoyDPadButton;
32 class JoyAxisButton;
33 
34 namespace Ui {
35 class QuickSetDialog;
36 }
37 
38 class QuickSetDialog : public QDialog
39 {
40  Q_OBJECT
41 
42  public:
43  explicit QuickSetDialog(InputDevice *joystick, QWidget *parent = nullptr);
46  QWidget *parent = nullptr);
48 
50  InputDevice *getJoystick() const;
51  QDialog *getCurrentButtonDialog() const;
52  const char *getInvokeString() const;
55 
56  private slots:
57  void showAxisButtonDialog(JoyAxisButton *joybtn); // QuickSetDialogAxisBtn class
58  void showButtonDialog(JoyButton *joybtn); // QuickSetDialogBtn class
59  void showStickButtonDialog(JoyControlStickButton *joyctrlstickbtn); // QuickSetDialogStick class
60  void showDPadButtonDialog(JoyDPadButton *joydpadbtn); // QuickSetDialogHat class
61  void restoreJoystickState();
62 
63  private:
64  void invokeMethodLastBtn(JoyButton *lastJoyBtn, Qt::ConnectionType connTypeForAlias,
65  Qt::ConnectionType connTypeForNothing, Qt::ConnectionType connTypeForAll,
66  bool possibleAxisAction = false);
67  void restoreSticksStates(SetJoystick *currentset); // QuickSetDialogStick class
68  void restoreAxesStates(SetJoystick *currentset); // QuickSetDialogAxis class
69  void restoreHatsStates(SetJoystick *currentset); // QuickSetDialogHat class
70  void restoreVDPadsStates(SetJoystick *currentset); // QuickSetDialogVDPad class
71  void restoreButtonsStates(SetJoystick *currentset); // QuickSetDialogBtn class
72  void connectSticksForDialog(SetJoystick *currentset); // QuickSetDialogStick class
73  void connectAxesForDialog(SetJoystick *currentset); // QuickSetDialogAxis class
74  void connectDpadForDialog(SetJoystick *currentset); // QuickSetDialogHat class
75  void connectVDpadForDialog(SetJoystick *currentset); // QuickSetDialogVDPad class
76  void connectBtnForDialog(SetJoystick *currentset); // QuickSetDialogBtn class
77 
78  Ui::QuickSetDialog *ui;
79 
84 
85  const char *invokeString;
86 
87  int code;
88  int alias;
89  int index;
90 
92 
93  bool withClear;
94  bool withTrue;
95 };
96 
97 #endif // QUICKSETDIALOG_H
JoyControlStick::getButtons
QHash< JoyStickDirections, JoyControlStickButton * > * getButtons()
Definition: joycontrolstick.cpp:1820
JoyDPad::EightWayMode
@ EightWayMode
Definition: joydpad.h:34
QuickSetDialog::restoreJoystickState
void restoreJoystickState()
Definition: quicksetdialog.cpp:345
JoyDPad::getJoyMode
JoyMode getJoyMode()
Definition: joydpad.cpp:211
QuickSetDialog::restoreVDPadsStates
void restoreVDPadsStates(SetJoystick *currentset)
Definition: quicksetdialog.cpp:428
QuickSetDialog::getLastPressedButton
JoyButton * getLastPressedButton() const
Definition: quicksetdialog.cpp:472
joycontrolstickbutton.h
QuickSetDialog
Definition: quicksetdialog.h:38
JoyDPadButton::DpadLeftDown
@ DpadLeftDown
Definition: joydpadbutton.h:51
code
the intent is to exercise the right to control the distribution of derivative or collective works based on the Library In mere aggregation of another work not based on the Library with the you must alter all the notices that refer to this so that they refer to the ordinary GNU General Public instead of to this it is irreversible for that so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy This option is useful when you wish to copy part of the code of the Library into a program that is not a library You may copy and distribute the which must be distributed under the terms of Sections and above on a medium customarily used for software interchange If distribution of object code is made by offering access to copy from a designated then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code
Definition: lgpl-2.1.txt:237
QuickSetDialog::getHelper
ButtonEditDialogHelper * getHelper() const
Definition: quicksetdialog.cpp:480
joycontrolstick.h
QuickSetDialog::getCurrentButtonDialog
QDialog * getCurrentButtonDialog() const
Definition: quicksetdialog.cpp:476
JoyAxis
Represents single axis of of joystick (or other input)
Definition: joyaxis.h:40
JoyAxis::hasControlOfButtons
bool hasControlOfButtons()
Definition: joyaxis.cpp:538
QuickSetDialog::index
int index
Definition: quicksetdialog.h:89
QuickSetDialog::showStickButtonDialog
void showStickButtonDialog(JoyControlStickButton *joyctrlstickbtn)
Definition: quicksetdialog.cpp:329
QuickSetDialog::connectVDpadForDialog
void connectVDpadForDialog(SetJoystick *currentset)
Definition: quicksetdialog.cpp:206
QuickSetDialog::restoreAxesStates
void restoreAxesStates(SetJoystick *currentset)
Definition: quicksetdialog.cpp:380
QuickSetDialog::showDPadButtonDialog
void showDPadButtonDialog(JoyDPadButton *joydpadbtn)
Definition: quicksetdialog.cpp:338
QuickSetDialog::~QuickSetDialog
~QuickSetDialog()
Definition: quicksetdialog.cpp:264
QuickSetDialog::currentButtonDialog
QDialog * currentButtonDialog
Definition: quicksetdialog.h:81
SetJoystick::getHats
const QHash< int, JoyDPad * > & getHats() const
Definition: setjoystick.cpp:1105
JoyDPadButton::DpadRightDown
@ DpadRightDown
Definition: joydpadbutton.h:49
InputDevice
Abstract class representing a hardware input device, e.g a joystick or controller.
Definition: inputdevice.h:50
SetJoystick
A set of mapped events which can by switched by a controller event. Contains controller input objects...
Definition: setjoystick.h:39
QuickSetDialog::showAxisButtonDialog
void showAxisButtonDialog(JoyAxisButton *joybtn)
Definition: quicksetdialog.cpp:315
quicksetdialog.h
QuickSetDialog::ui
Ui::QuickSetDialog * ui
Definition: quicksetdialog.h:78
JoyDPad::getButtons
QHash< int, JoyDPadButton * > * getButtons()
Definition: joydpad.cpp:223
QuickSetDialog::helper
ButtonEditDialogHelper * helper
Definition: quicksetdialog.h:82
QuickSetDialog::mode
JoyButtonSlot::JoySlotInputAction mode
Definition: quicksetdialog.h:91
QuickSetDialog::joystick
InputDevice * joystick
Definition: quicksetdialog.h:80
JoyAxis::getPAxisButton
JoyAxisButton * getPAxisButton()
Definition: joyaxis.cpp:459
vdpad.h
JoyStickDirectionsType::StickRightUp
@ StickRightUp
Definition: joycontrolstickdirectionstype.h:32
QuickSetDialog::connectDpadForDialog
void connectDpadForDialog(SetJoystick *currentset)
Definition: quicksetdialog.cpp:171
QuickSetDialog::lastButton
JoyButton * lastButton
Definition: quicksetdialog.h:83
SetJoystick::getVdpads
const QHash< int, VDPad * > & getVdpads() const
Definition: setjoystick.cpp:1115
InputDevice::getSDLName
virtual QString getSDLName()=0
Ui
Definition: aboutdialog.h:26
JoyControlStickButton
Definition: joycontrolstickbutton.h:28
InputDevice::getName
virtual QString getName()=0
JoyDPadButton::DpadLeftUp
@ DpadLeftUp
Definition: joydpadbutton.h:50
VDPad
Definition: vdpad.h:26
QuickSetDialog::connectSticksForDialog
void connectSticksForDialog(SetJoystick *currentset)
Definition: quicksetdialog.cpp:107
JoyButton::clicked
void clicked(int index)
QuickSetDialog::getInvokeString
const char * getInvokeString() const
Definition: quicksetdialog.cpp:478
QuickSetDialog::withClear
bool withClear
Definition: quicksetdialog.h:93
joydpadbutton.h
ButtonEditDialogHelper
Definition: buttoneditdialoghelper.h:26
JoyStickDirectionsType::StickLeftUp
@ StickLeftUp
Definition: joycontrolstickdirectionstype.h:34
JoyDPad
Definition: joydpad.h:24
QuickSetDialog::showButtonDialog
void showButtonDialog(JoyButton *joybtn)
Definition: quicksetdialog.cpp:322
JoyControlStick::EightWayMode
@ EightWayMode
Definition: joycontrolstick.h:48
buttoneditdialoghelper.h
inputdevice.h
QuickSetDialog::code
int code
Definition: quicksetdialog.h:87
QuickSetDialog::getJoystick
InputDevice * getJoystick() const
Definition: quicksetdialog.cpp:474
JoyDPadButton
Definition: joydpadbutton.h:27
QuickSetDialog::restoreButtonsStates
void restoreButtonsStates(SetJoystick *currentset)
Definition: quicksetdialog.cpp:454
JoyStickDirectionsType::StickLeftDown
@ StickLeftDown
Definition: joycontrolstickdirectionstype.h:35
JoyButton::getIgnoreEventState
bool getIgnoreEventState()
Definition: joybutton.cpp:3521
JoyControlStick::getJoyMode
JoyMode getJoyMode()
Definition: joycontrolstick.cpp:1868
JoyControlStick
Represents stick of a joystick.
Definition: joycontrolstick.h:37
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
QuickSetDialog::QuickSetDialog
QuickSetDialog(InputDevice *joystick, QWidget *parent=nullptr)
Definition: quicksetdialog.cpp:38
JoyAxisButton
Definition: joyaxisbutton.h:29
ButtonEditDialogHelper::setThisButton
void setThisButton(JoyButton *btn)
Definition: buttoneditdialoghelper.cpp:58
JoyButton::getJoyNumber
int getJoyNumber()
Get 0 indexed number of SDL button index.
Definition: joybutton.cpp:358
buttoneditdialog.h
QuickSetDialog::invokeString
const char * invokeString
Definition: quicksetdialog.h:85
QuickSetDialog::connectBtnForDialog
void connectBtnForDialog(SetJoystick *currentset)
Definition: quicksetdialog.cpp:246
JoyAxis::getNAxisButton
JoyAxisButton * getNAxisButton()
Definition: joyaxis.cpp:461
QuickSetDialog::invokeMethodLastBtn
void invokeMethodLastBtn(JoyButton *lastJoyBtn, Qt::ConnectionType connTypeForAlias, Qt::ConnectionType connTypeForNothing, Qt::ConnectionType connTypeForAll, bool possibleAxisAction=false)
Definition: quicksetdialog.cpp:266
QuickSetDialog::alias
int alias
Definition: quicksetdialog.h:88
setjoystick.h
SetJoystick::getButtons
const QHash< int, JoyButton * > & getButtons() const
Definition: setjoystick.cpp:1103
SetJoystick::getAxes
QHash< int, JoyAxis * > * getAxes()
Definition: setjoystick.cpp:1101
JoyAxis::isPartControlStick
bool isPartControlStick()
Definition: joyaxis.cpp:522
JoyDPadButton::DpadRightUp
@ DpadRightUp
Definition: joydpadbutton.h:48
SetJoystick::getSticks
const QHash< int, JoyControlStick * > & getSticks() const
Definition: setjoystick.cpp:1107
JoyButton::isPartVDPad
bool isPartVDPad()
Definition: joybutton.cpp:3461
JoyButton::setIgnoreEventState
void setIgnoreEventState(bool ignore)
Definition: joybutton.cpp:3519
QuickSetDialog::restoreSticksStates
void restoreSticksStates(SetJoystick *currentset)
Definition: quicksetdialog.cpp:358
JoyButtonSlot::JoySlotInputAction
JoySlotInputAction
Definition: joybuttonslot.h:42
joydpad.h
QuickSetDialog::restoreHatsStates
void restoreHatsStates(SetJoystick *currentset)
Definition: quicksetdialog.cpp:406
InputDevice::resetButtonDownCount
void resetButtonDownCount()
Definition: inputdevice.cpp:1123
QuickSetDialog::connectAxesForDialog
void connectAxesForDialog(SetJoystick *currentset)
Definition: quicksetdialog.cpp:143
QuickSetDialog::getMode
JoyButtonSlot::JoySlotInputAction getMode() const
Definition: quicksetdialog.cpp:482
JoyStickDirectionsType::StickRightDown
@ StickRightDown
Definition: joycontrolstickdirectionstype.h:33
InputDevice::getActiveSetJoystick
SetJoystick * getActiveSetJoystick()
Definition: inputdevice.cpp:563
QuickSetDialog::withTrue
bool withTrue
Definition: quicksetdialog.h:94