Files
thunderpad/src/axis_edit.h
2020-12-27 01:55:29 +01:00

46 lines
1.2 KiB
C++

#ifndef QJOYPAD_AXIS_EDIT_H
#define QJOYPAD_AXIS_EDIT_H
//to refer to the axis we're editing
//for building up the dialog we need
#include "axis.h"
#include <QComboBox>
#include <QSpinBox>
#include <QCheckBox>
#include <QDoubleSpinBox>
#include <QLabel>
#include <QDialogButtonBox>
//for my home-brewed widgets
#include "joyslider.h"
#include "keycode.h"
class AxisEdit : public QDialog {
Q_OBJECT
public:
AxisEdit(Axis* ax);
//show the dialog (modal)
void show();
//set the current state of the axis (adjusts the JoySlider for real time
//notification of the state to the user)
void setState( int val );
protected slots:
//slots for GUI events
void gradientChanged( int index );
void modeChanged( int index );
void transferCurveChanged( int index );
void throttleChanged( int index );
void accept();
protected:
//the associated Axis that needs to be set.
Axis *axis;
//the important parts of the dialog:
QComboBox *chkGradient, *cmbMode, *cmbThrottle, *cmbTransferCurve;
QFrame *mouseBox, *keyBox;
QSpinBox *spinSpeed;
QLabel *lblSensitivity;
QDoubleSpinBox *spinSensitivity;
KeyButton *btnNeg, *btnPos;
JoySlider *slider;
};
#endif