AntiMicroX
sensorpushbuttongroup.h
Go to the documentation of this file.
1 /* antimicrox Gamepad to KB+M event mapper
2  * Copyright (C) 2022 Max Maisel <max.maisel@posteo.de>
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8 
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13 
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 #pragma once
18 
19 #include "joysensordirection.h"
20 
21 #include <QGridLayout>
22 
23 class JoySensor;
24 class QWidget;
27 
33 class SensorPushButtonGroup : public QGridLayout
34 {
35  Q_OBJECT
36 
37  public:
38  explicit SensorPushButtonGroup(JoySensor *sensor, bool keypadUnlocked, bool displayNames = false,
39  QWidget *parent = nullptr);
40  JoySensor *getSensor() const;
41 
42  bool ifDisplayNames() const;
43 
44  signals:
45  void buttonSlotChanged();
46 
47  public slots:
48  void toggleNameDisplay();
49 
50  private slots:
51  void propagateSlotsChanged();
53  void showSensorDialog();
54 
55  private:
59 
66 
68 
69  JoySensorButtonPushButton *generateBtnToGrid(JoySensorDirection sensorDir, int gridRow, int gridCol);
70 };
SensorPushButtonGroup::ifDisplayNames
bool ifDisplayNames() const
Definition: sensorpushbuttongroup.cpp:118
SensorPushButtonGroup::m_right_button
JoySensorButtonPushButton * m_right_button
Definition: sensorpushbuttongroup.h:63
SensorPushButtonGroup::m_sensor
JoySensor * m_sensor
Definition: sensorpushbuttongroup.h:56
SensorPushButtonGroup::m_left_button
JoySensorButtonPushButton * m_left_button
Definition: sensorpushbuttongroup.h:62
SENSOR_FWD
@ SENSOR_FWD
Definition: joysensordirection.h:34
SensorPushButtonGroup::toggleNameDisplay
void toggleNameDisplay()
Definition: sensorpushbuttongroup.cpp:103
SensorPushButtonGroup::buttonSlotChanged
void buttonSlotChanged()
joysensor.h
SensorPushButtonGroup::m_keypad_unlocked
bool m_keypad_unlocked
Definition: sensorpushbuttongroup.h:58
ButtonEditDialog
Definition: buttoneditdialog.h:37
SensorPushButtonGroup::propagateSlotsChanged
void propagateSlotsChanged()
Definition: sensorpushbuttongroup.cpp:77
SensorPushButtonGroup::m_sensor_widget
JoySensorPushButton * m_sensor_widget
Definition: sensorpushbuttongroup.h:67
joysensoreditdialog.h
SENSOR_LEFT
@ SENSOR_LEFT
Definition: joysensordirection.h:30
JoySensorButtonPushButton
A direction button in the SensorPushButtonGroup.
Definition: joysensorbuttonpushbutton.h:27
SensorPushButtonGroup::m_down_button
JoySensorButtonPushButton * m_down_button
Definition: sensorpushbuttongroup.h:61
JoySensorPushButton
The central button in a SensorPushButtonGroup.
Definition: joysensorpushbutton.h:27
SensorPushButtonGroup::generateBtnToGrid
JoySensorButtonPushButton * generateBtnToGrid(JoySensorDirection sensorDir, int gridRow, int gridCol)
Generates a new push button at the given grid coordinates.
Definition: sensorpushbuttongroup.cpp:62
joysensorpushbutton.h
JoySensorButtonPushButton::getButton
JoySensorButton * getButton()
Get the JoySensorButton for this mapping.
Definition: joysensorbuttonpushbutton.cpp:46
joysensorbuttonpushbutton.h
SensorPushButtonGroup
The sensor button mapping widget in the main window. The layout is based on a isometric 3D view with ...
Definition: sensorpushbuttongroup.h:33
SENSOR_DOWN
@ SENSOR_DOWN
Definition: joysensordirection.h:33
JoySensorEditDialog
The configuration dialog for a JoySensor itself.
Definition: joysensoreditdialog.h:33
JoySensorButton
Represents a sensor mapping in a SetJoystick.
Definition: joysensorbutton.h:30
FlashButtonWidget::toggleNameDisplay
void toggleNameDisplay()
Definition: flashbuttonwidget.cpp:70
inputdevice.h
SensorPushButtonGroup::showSensorDialog
void showSensorDialog()
Shows the sensor settings dialog.
Definition: sensorpushbuttongroup.cpp:97
SensorPushButtonGroup::m_display_names
bool m_display_names
Definition: sensorpushbuttongroup.h:57
JoySensor::getType
JoySensorType getType() const
Returns the sensor type.
Definition: joysensor.cpp:247
SensorPushButtonGroup::m_bwd_button
JoySensorButtonPushButton * m_bwd_button
Definition: sensorpushbuttongroup.h:65
SensorPushButtonGroup::m_fwd_button
JoySensorButtonPushButton * m_fwd_button
Definition: sensorpushbuttongroup.h:64
buttoneditdialog.h
JoyButton::establishPropertyUpdatedConnections
void establishPropertyUpdatedConnections()
Definition: joybutton.cpp:4034
SensorPushButtonGroup::m_up_button
JoySensorButtonPushButton * m_up_button
Definition: sensorpushbuttongroup.h:60
SensorPushButtonGroup::SensorPushButtonGroup
SensorPushButtonGroup(JoySensor *sensor, bool keypadUnlocked, bool displayNames=false, QWidget *parent=nullptr)
Definition: sensorpushbuttongroup.cpp:32
SENSOR_UP
@ SENSOR_UP
Definition: joysensordirection.h:32
SetJoystick::getInputDevice
InputDevice * getInputDevice() const
Definition: setjoystick.cpp:931
JoySensorDirection
JoySensorDirection
A bitfield style enum which encodes all possible three dimensional sensor directions....
Definition: joysensordirection.h:27
JoyButton::slotsChanged
void slotsChanged()
JoySensor
Represents one sensor in a SetJoystick and its connections to other parts of the application....
Definition: joysensor.h:39
SENSOR_RIGHT
@ SENSOR_RIGHT
Definition: joysensordirection.h:31
sensorpushbuttongroup.h
joysensorbutton.h
joysensordirection.h
GYROSCOPE
@ GYROSCOPE
Definition: joysensortype.h:26
SENSOR_BWD
@ SENSOR_BWD
Definition: joysensordirection.h:35
JoySensor::getParentSet
SetJoystick * getParentSet() const
Get pointer to the set that a sensor belongs to.
Definition: joysensor.cpp:774
SensorPushButtonGroup::openSensorButtonDialog
void openSensorButtonDialog(JoySensorButtonPushButton *pushbutton)
Shows the button mapping dialog for the given direction button.
Definition: sensorpushbuttongroup.cpp:87
SensorPushButtonGroup::getSensor
JoySensor * getSensor() const
Get the underlying JoySensor object.
Definition: sensorpushbuttongroup.cpp:82
JoySensor::getButtons
QHash< JoySensorDirection, JoySensorButton * > * getButtons()
Returns a QHash which maps the SensorDirection to the corresponding JoySensorButton.
Definition: joysensor.cpp:541