AntiMicroX
dpadpushbuttongroup.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 DPADPUSHBUTTONGROUP_H
20 #define DPADPUSHBUTTONGROUP_H
21 
22 #include <QGridLayout>
23 
24 class JoyDPad;
25 class QWidget;
27 class DPadPushButton;
28 class JoyButtonWidget;
29 class JoyDPadButton;
30 
31 class DPadPushButtonGroup : public QGridLayout
32 {
33  Q_OBJECT
34 
35  public:
36  explicit DPadPushButtonGroup(JoyDPad *dpad, bool keypadUnlocked, bool displayNames = false, QWidget *parent = nullptr);
37 
38  JoyDPad *getDPad() const;
39 
40  protected:
41  void generateButtons();
42 
43  signals:
44  void buttonSlotChanged();
45 
46  public slots:
47  void changeButtonLayout();
48  void toggleNameDisplay();
49 
50  private slots:
51  void propogateSlotsChanged();
52  void openDPadButtonDialog(JoyButtonWidget *buttonWidget);
53  void showDPadDialog();
54 
55  private:
59 
64 
69 
71 
72  JoyDPadButtonWidget *generateBtnForGrid(QHash<int, JoyDPadButton *> *buttons, int dpadDirection, int cellRow,
73  int cellCol);
74 };
75 
76 #endif // DPADPUSHBUTTONGROUP_H
JoyDPad::EightWayMode
@ EightWayMode
Definition: joydpad.h:34
JoyDPad::getJoyButtons
QHash< int, JoyDPadButton * > * getJoyButtons()
Definition: joydpad.cpp:200
JoyDPad::getJoyMode
JoyMode getJoyMode()
Definition: joydpad.cpp:211
DPadPushButtonGroup::upButton
JoyDPadButtonWidget * upButton
Definition: dpadpushbuttongroup.h:60
JoyButtonWidget::getJoyButton
JoyButton * getJoyButton() const
Definition: joybuttonwidget.cpp:45
dpadpushbutton.h
DPadPushButtonGroup::openDPadButtonDialog
void openDPadButtonDialog(JoyButtonWidget *buttonWidget)
Definition: dpadpushbuttongroup.cpp:117
DPadPushButtonGroup::rightButton
JoyDPadButtonWidget * rightButton
Definition: dpadpushbuttongroup.h:63
DPadPushButtonGroup::generateButtons
void generateButtons()
Definition: dpadpushbuttongroup.cpp:45
DPadPushButtonGroup::changeButtonLayout
void changeButtonLayout()
Definition: dpadpushbuttongroup.cpp:81
DPadPushButtonGroup
Definition: dpadpushbuttongroup.h:31
JoyDPad::getParentSet
SetJoystick * getParentSet()
Definition: joydpad.cpp:545
ButtonEditDialog
Definition: buttoneditdialog.h:37
DPadPushButtonGroup::downButton
JoyDPadButtonWidget * downButton
Definition: dpadpushbuttongroup.h:61
DPadPushButtonGroup::downRightButton
JoyDPadButtonWidget * downRightButton
Definition: dpadpushbuttongroup.h:68
DPadPushButtonGroup::dpadWidget
DPadPushButton * dpadWidget
Definition: dpadpushbuttongroup.h:70
DPadPushButtonGroup::displayNames
bool displayNames
Definition: dpadpushbuttongroup.h:58
joydpadbuttonwidget.h
JoyDPadButtonWidget
Definition: joydpadbuttonwidget.h:27
DPadPushButtonGroup::propogateSlotsChanged
void propogateSlotsChanged()
Definition: dpadpushbuttongroup.cpp:113
DPadPushButtonGroup::keypadUnlocked
bool keypadUnlocked
Definition: dpadpushbuttongroup.h:57
JoyDPad::FourWayCardinal
@ FourWayCardinal
Definition: joydpad.h:35
DPadPushButtonGroup::downLeftButton
JoyDPadButtonWidget * downLeftButton
Definition: dpadpushbuttongroup.h:67
JoyDPad
Definition: joydpad.h:24
DPadPushButtonGroup::upRightButton
JoyDPadButtonWidget * upRightButton
Definition: dpadpushbuttongroup.h:66
FlashButtonWidget::toggleNameDisplay
void toggleNameDisplay()
Definition: flashbuttonwidget.cpp:70
DPadPushButtonGroup::showDPadDialog
void showDPadDialog()
Definition: dpadpushbuttongroup.cpp:126
inputdevice.h
JoyDPadButton
Definition: joydpadbutton.h:27
dpadeditdialog.h
JoyButton
Represents a single joystick button being part of a SetJoystick Contains multiple JoyButtonSlots whic...
Definition: joybutton.h:46
JoyButtonWidget
Definition: joybuttonwidget.h:27
JoyDPadButton::JoyDPadDirections
JoyDPadDirections
Definition: joydpadbutton.h:41
JoyDPad::FourWayDiagonal
@ FourWayDiagonal
Definition: joydpad.h:36
dpadpushbuttongroup.h
buttoneditdialog.h
JoyButton::establishPropertyUpdatedConnections
void establishPropertyUpdatedConnections()
Definition: joybutton.cpp:4034
DPadPushButtonGroup::toggleNameDisplay
void toggleNameDisplay()
Definition: dpadpushbuttongroup.cpp:132
SetJoystick::getInputDevice
InputDevice * getInputDevice() const
Definition: setjoystick.cpp:931
JoyButton::slotsChanged
void slotsChanged()
DPadPushButtonGroup::upLeftButton
JoyDPadButtonWidget * upLeftButton
Definition: dpadpushbuttongroup.h:65
DPadPushButtonGroup::leftButton
JoyDPadButtonWidget * leftButton
Definition: dpadpushbuttongroup.h:62
DPadPushButtonGroup::DPadPushButtonGroup
DPadPushButtonGroup(JoyDPad *dpad, bool keypadUnlocked, bool displayNames=false, QWidget *parent=nullptr)
Definition: dpadpushbuttongroup.cpp:32
DPadPushButtonGroup::getDPad
JoyDPad * getDPad() const
Definition: dpadpushbuttongroup.cpp:115
DPadPushButton
Definition: dpadpushbutton.h:27
JoyDPad::StandardMode
@ StandardMode
Definition: joydpad.h:33
joydpad.h
DPadPushButtonGroup::dpad
JoyDPad * dpad
Definition: dpadpushbuttongroup.h:56
JoyDPad::joyModeChanged
void joyModeChanged()
DPadPushButtonGroup::generateBtnForGrid
JoyDPadButtonWidget * generateBtnForGrid(QHash< int, JoyDPadButton * > *buttons, int dpadDirection, int cellRow, int cellCol)
Definition: dpadpushbuttongroup.cpp:66
DPadEditDialog
Definition: dpadeditdialog.h:33
DPadPushButtonGroup::buttonSlotChanged
void buttonSlotChanged()