|
|
|
@ -23,93 +23,93 @@ AxisEdit::AxisEdit( Axis* ax )
|
|
|
|
|
QVBoxLayout* v2 = new QVBoxLayout();
|
|
|
|
|
v2->setMargin(5);
|
|
|
|
|
v2->setSpacing(5);
|
|
|
|
|
CGradient = new QCheckBox("&Gradient", this);
|
|
|
|
|
CGradient->setChecked(axis->gradient);
|
|
|
|
|
connect(CGradient, SIGNAL(toggled(bool)), this, SLOT( CGradientChanged( bool )));
|
|
|
|
|
v2->addWidget(CGradient);
|
|
|
|
|
chkGradient = new QCheckBox("&Gradient", this);
|
|
|
|
|
chkGradient->setChecked(axis->gradient);
|
|
|
|
|
connect(chkGradient, SIGNAL(toggled(bool)), this, SLOT( gradientChanged( bool )));
|
|
|
|
|
v2->addWidget(chkGradient);
|
|
|
|
|
|
|
|
|
|
CMode = new QComboBox(this);
|
|
|
|
|
CMode->insertItem((int) Axis::Keyboard, QString("Keyboard/Mouse Button"), Qt::DisplayRole);
|
|
|
|
|
CMode->insertItem((int) Axis::MousePosVert,QString("Mouse (Vert.)"),Qt::DisplayRole);
|
|
|
|
|
CMode->insertItem((int) Axis::MouseNegVert, QString("Mouse (Vert. Rev.)"), Qt::DisplayRole);
|
|
|
|
|
CMode->insertItem((int) Axis::MousePosHor, "Mouse (Hor.)", Qt::DisplayRole);
|
|
|
|
|
CMode->insertItem((int) Axis::MouseNegHor, QString("Mouse (Hor. Rev.)"), Qt::DisplayRole);
|
|
|
|
|
CMode->setCurrentIndex( axis->mode );
|
|
|
|
|
connect(CMode, SIGNAL(activated(int)), this, SLOT( CModeChanged( int )));
|
|
|
|
|
v2->addWidget(CMode);
|
|
|
|
|
CTransferCurve = new QComboBox(this);
|
|
|
|
|
CTransferCurve->insertItem(Axis::Linear, QString("Linear"), Qt::DisplayRole);
|
|
|
|
|
CTransferCurve->insertItem(Axis::Quadratic, QString("Quadratic"),Qt::DisplayRole );
|
|
|
|
|
CTransferCurve->insertItem(Axis::Cubic, QString("Cubic"),Qt::DisplayRole );
|
|
|
|
|
CTransferCurve->insertItem(Axis::QuadraticExtreme, QString("Quadratic Extreme"), Qt::DisplayRole);
|
|
|
|
|
CTransferCurve->insertItem(Axis::PowerFunction, QString("Power Function"), Qt::DisplayRole);
|
|
|
|
|
CTransferCurve->setCurrentIndex( axis->transferCurve );
|
|
|
|
|
CTransferCurve->setEnabled(axis->gradient);
|
|
|
|
|
connect(CTransferCurve, SIGNAL(activated(int)), this, SLOT( CTransferCurveChanged( int )));
|
|
|
|
|
v2->addWidget(CTransferCurve);
|
|
|
|
|
cmbMode = new QComboBox(this);
|
|
|
|
|
cmbMode->insertItem((int) Axis::Keyboard, QString("Keyboard/Mouse Button"), Qt::DisplayRole);
|
|
|
|
|
cmbMode->insertItem((int) Axis::MousePosVert,QString("Mouse (Vert.)"),Qt::DisplayRole);
|
|
|
|
|
cmbMode->insertItem((int) Axis::MouseNegVert, QString("Mouse (Vert. Rev.)"), Qt::DisplayRole);
|
|
|
|
|
cmbMode->insertItem((int) Axis::MousePosHor, "Mouse (Hor.)", Qt::DisplayRole);
|
|
|
|
|
cmbMode->insertItem((int) Axis::MouseNegHor, QString("Mouse (Hor. Rev.)"), Qt::DisplayRole);
|
|
|
|
|
cmbMode->setCurrentIndex( axis->mode );
|
|
|
|
|
connect(cmbMode, SIGNAL(activated(int)), this, SLOT( modeChanged( int )));
|
|
|
|
|
v2->addWidget(cmbMode);
|
|
|
|
|
cmbTransferCurve = new QComboBox(this);
|
|
|
|
|
cmbTransferCurve->insertItem(Axis::Linear, QString("Linear"), Qt::DisplayRole);
|
|
|
|
|
cmbTransferCurve->insertItem(Axis::Quadratic, QString("Quadratic"),Qt::DisplayRole );
|
|
|
|
|
cmbTransferCurve->insertItem(Axis::Cubic, QString("Cubic"),Qt::DisplayRole );
|
|
|
|
|
cmbTransferCurve->insertItem(Axis::QuadraticExtreme, QString("Quadratic Extreme"), Qt::DisplayRole);
|
|
|
|
|
cmbTransferCurve->insertItem(Axis::PowerFunction, QString("Power Function"), Qt::DisplayRole);
|
|
|
|
|
cmbTransferCurve->setCurrentIndex( axis->transferCurve );
|
|
|
|
|
cmbTransferCurve->setEnabled(axis->gradient);
|
|
|
|
|
connect(cmbTransferCurve, SIGNAL(activated(int)), this, SLOT( transferCurveChanged( int )));
|
|
|
|
|
v2->addWidget(cmbTransferCurve);
|
|
|
|
|
h->addLayout(v2);
|
|
|
|
|
|
|
|
|
|
MouseBox = new QFrame(this);
|
|
|
|
|
MouseBox->setFrameStyle( QFrame::Box | QFrame::Sunken );
|
|
|
|
|
v2 = new QVBoxLayout(MouseBox);
|
|
|
|
|
mouseBox = new QFrame(this);
|
|
|
|
|
mouseBox->setFrameStyle( QFrame::Box | QFrame::Sunken );
|
|
|
|
|
v2 = new QVBoxLayout(mouseBox);
|
|
|
|
|
v2->setSpacing(5);
|
|
|
|
|
v2->setMargin(5);
|
|
|
|
|
//v2->setAutoAdd(true);
|
|
|
|
|
QLabel *mouseLabel = new QLabel("&Mouse Speed", MouseBox);
|
|
|
|
|
QLabel *mouseLabel = new QLabel("&Mouse Speed", mouseBox);
|
|
|
|
|
v2->addWidget(mouseLabel);
|
|
|
|
|
SSpeed = new QSpinBox(MouseBox);
|
|
|
|
|
SSpeed->setRange(0,MAXMOUSESPEED);
|
|
|
|
|
SSpeed->setSingleStep(1);
|
|
|
|
|
SSpeed->setValue(axis->maxSpeed);
|
|
|
|
|
v2->addWidget(SSpeed);
|
|
|
|
|
LSensitivity = new QLabel("&Sensitivity", MouseBox);
|
|
|
|
|
v2->addWidget(LSensitivity);
|
|
|
|
|
SSensitivity = new QDoubleSpinBox(MouseBox);
|
|
|
|
|
SSensitivity->setRange(1e-3F, 1e+3F);
|
|
|
|
|
SSensitivity->setSingleStep(0.10);
|
|
|
|
|
SSensitivity->setValue(axis->sensitivity);
|
|
|
|
|
v2->addWidget(SSensitivity);
|
|
|
|
|
h->addWidget(MouseBox);
|
|
|
|
|
mouseLabel->setBuddy(SSpeed);
|
|
|
|
|
LSensitivity->setBuddy(SSensitivity);
|
|
|
|
|
spinSpeed = new QSpinBox(mouseBox);
|
|
|
|
|
spinSpeed->setRange(0,MAXMOUSESPEED);
|
|
|
|
|
spinSpeed->setSingleStep(1);
|
|
|
|
|
spinSpeed->setValue(axis->maxSpeed);
|
|
|
|
|
v2->addWidget(spinSpeed);
|
|
|
|
|
lblSensitivity = new QLabel("&Sensitivity", mouseBox);
|
|
|
|
|
v2->addWidget(lblSensitivity);
|
|
|
|
|
spinSensitivity = new QDoubleSpinBox(mouseBox);
|
|
|
|
|
spinSensitivity->setRange(1e-3F, 1e+3F);
|
|
|
|
|
spinSensitivity->setSingleStep(0.10);
|
|
|
|
|
spinSensitivity->setValue(axis->sensitivity);
|
|
|
|
|
v2->addWidget(spinSensitivity);
|
|
|
|
|
h->addWidget(mouseBox);
|
|
|
|
|
mouseLabel->setBuddy(spinSpeed);
|
|
|
|
|
lblSensitivity->setBuddy(spinSensitivity);
|
|
|
|
|
v->addLayout(h);
|
|
|
|
|
|
|
|
|
|
Slider = new JoySlider(axis->dZone, axis->xZone, axis->state, this);
|
|
|
|
|
v->addWidget(Slider);
|
|
|
|
|
slider = new JoySlider(axis->dZone, axis->xZone, axis->state, this);
|
|
|
|
|
v->addWidget(slider);
|
|
|
|
|
|
|
|
|
|
KeyBox = new QFrame(this);
|
|
|
|
|
KeyBox->setFrameStyle( QFrame::Box | QFrame::Sunken );
|
|
|
|
|
h = new QHBoxLayout(KeyBox);
|
|
|
|
|
keyBox = new QFrame(this);
|
|
|
|
|
keyBox->setFrameStyle( QFrame::Box | QFrame::Sunken );
|
|
|
|
|
h = new QHBoxLayout(keyBox);
|
|
|
|
|
h->setSpacing(5);
|
|
|
|
|
h->setMargin(5);
|
|
|
|
|
//h->setAutoAdd(true);
|
|
|
|
|
BNeg = new KeyButton(axis->getName(),axis->nkeycode,KeyBox,true,axis->nuseMouse);
|
|
|
|
|
btnNeg = new KeyButton(axis->getName(),axis->nkeycode,keyBox,true,axis->nuseMouse);
|
|
|
|
|
|
|
|
|
|
CThrottle = new QComboBox(KeyBox);
|
|
|
|
|
CThrottle->insertItem(0,"Neg. Throttle",Qt::DisplayRole);
|
|
|
|
|
CThrottle->insertItem(1,"No Throttle",Qt::DisplayRole);
|
|
|
|
|
CThrottle->insertItem(2,"Pos. Throttle",Qt::DisplayRole);
|
|
|
|
|
CThrottle->setCurrentIndex(axis->throttle + 1);
|
|
|
|
|
connect( CThrottle, SIGNAL( activated( int )), this, SLOT( CThrottleChanged( int )));
|
|
|
|
|
cmbThrottle = new QComboBox(keyBox);
|
|
|
|
|
cmbThrottle->insertItem(0,"Neg. Throttle",Qt::DisplayRole);
|
|
|
|
|
cmbThrottle->insertItem(1,"No Throttle",Qt::DisplayRole);
|
|
|
|
|
cmbThrottle->insertItem(2,"Pos. Throttle",Qt::DisplayRole);
|
|
|
|
|
cmbThrottle->setCurrentIndex(axis->throttle + 1);
|
|
|
|
|
connect( cmbThrottle, SIGNAL( activated( int )), this, SLOT( throttleChanged( int )));
|
|
|
|
|
|
|
|
|
|
BPos = new KeyButton(axis->getName(),axis->pkeycode,KeyBox,true,axis->puseMouse);
|
|
|
|
|
h->addWidget(BNeg);
|
|
|
|
|
h->addWidget(CThrottle);
|
|
|
|
|
h->addWidget(BPos);
|
|
|
|
|
v->addWidget( KeyBox );
|
|
|
|
|
btnPos = new KeyButton(axis->getName(),axis->pkeycode,keyBox,true,axis->puseMouse);
|
|
|
|
|
h->addWidget(btnNeg);
|
|
|
|
|
h->addWidget(cmbThrottle);
|
|
|
|
|
h->addWidget(btnPos);
|
|
|
|
|
v->addWidget( keyBox );
|
|
|
|
|
|
|
|
|
|
h = new QHBoxLayout();
|
|
|
|
|
BOkay = new QPushButton("&Okay", this);
|
|
|
|
|
connect(BOkay, SIGNAL( clicked() ), this, SLOT( accept()));
|
|
|
|
|
h->addWidget(BOkay);
|
|
|
|
|
BCancel = new QPushButton("&Cancel", this);
|
|
|
|
|
connect(BCancel, SIGNAL( clicked() ), this, SLOT( reject()));
|
|
|
|
|
h->addWidget(BCancel);
|
|
|
|
|
btnOkay = new QPushButton("&Okay", this);
|
|
|
|
|
connect(btnOkay, SIGNAL( clicked() ), this, SLOT( accept()));
|
|
|
|
|
h->addWidget(btnOkay);
|
|
|
|
|
btnCancel = new QPushButton("&Cancel", this);
|
|
|
|
|
connect(btnCancel, SIGNAL( clicked() ), this, SLOT( reject()));
|
|
|
|
|
h->addWidget(btnCancel);
|
|
|
|
|
v->addLayout(h);
|
|
|
|
|
|
|
|
|
|
CModeChanged( axis->mode );
|
|
|
|
|
CTransferCurveChanged( axis->transferCurve );
|
|
|
|
|
CThrottleChanged( axis->throttle + 1 );
|
|
|
|
|
modeChanged( axis->mode );
|
|
|
|
|
transferCurveChanged( axis->transferCurve );
|
|
|
|
|
throttleChanged( axis->throttle + 1 );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AxisEdit::show() {
|
|
|
|
@ -118,76 +118,76 @@ void AxisEdit::show() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AxisEdit::setState( int val ) {
|
|
|
|
|
Slider->setValue( val );
|
|
|
|
|
slider->setValue( val );
|
|
|
|
|
}
|
|
|
|
|
void AxisEdit::CGradientChanged( bool on ) {
|
|
|
|
|
CTransferCurve->setEnabled(on);
|
|
|
|
|
void AxisEdit::gradientChanged( bool on ) {
|
|
|
|
|
cmbTransferCurve->setEnabled(on);
|
|
|
|
|
if (on) {
|
|
|
|
|
CTransferCurveChanged( axis->transferCurve );
|
|
|
|
|
transferCurveChanged( axis->transferCurve );
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
LSensitivity->setEnabled(false);
|
|
|
|
|
SSensitivity->setEnabled(false);
|
|
|
|
|
lblSensitivity->setEnabled(false);
|
|
|
|
|
spinSensitivity->setEnabled(false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AxisEdit::CModeChanged( int index ) {
|
|
|
|
|
void AxisEdit::modeChanged( int index ) {
|
|
|
|
|
if (index == Axis::Keyboard) {
|
|
|
|
|
MouseBox->setEnabled(false);
|
|
|
|
|
KeyBox->setEnabled(true);
|
|
|
|
|
mouseBox->setEnabled(false);
|
|
|
|
|
keyBox->setEnabled(true);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
MouseBox->setEnabled(true);
|
|
|
|
|
KeyBox->setEnabled(false);
|
|
|
|
|
if (CGradient->isChecked()) {
|
|
|
|
|
CTransferCurve->setEnabled(true);
|
|
|
|
|
CTransferCurveChanged( axis->transferCurve );
|
|
|
|
|
mouseBox->setEnabled(true);
|
|
|
|
|
keyBox->setEnabled(false);
|
|
|
|
|
if (chkGradient->isChecked()) {
|
|
|
|
|
cmbTransferCurve->setEnabled(true);
|
|
|
|
|
transferCurveChanged( axis->transferCurve );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AxisEdit::CTransferCurveChanged( int index ) {
|
|
|
|
|
void AxisEdit::transferCurveChanged( int index ) {
|
|
|
|
|
if (index == Axis::PowerFunction) {
|
|
|
|
|
LSensitivity->setEnabled(true);
|
|
|
|
|
SSensitivity->setEnabled(true);
|
|
|
|
|
lblSensitivity->setEnabled(true);
|
|
|
|
|
spinSensitivity->setEnabled(true);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
LSensitivity->setEnabled(false);
|
|
|
|
|
SSensitivity->setEnabled(false);
|
|
|
|
|
lblSensitivity->setEnabled(false);
|
|
|
|
|
spinSensitivity->setEnabled(false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AxisEdit::CThrottleChanged( int index ) {
|
|
|
|
|
void AxisEdit::throttleChanged( int index ) {
|
|
|
|
|
switch (index) {
|
|
|
|
|
case 0:
|
|
|
|
|
BNeg->setEnabled(true);
|
|
|
|
|
BPos->setEnabled(false);
|
|
|
|
|
btnNeg->setEnabled(true);
|
|
|
|
|
btnPos->setEnabled(false);
|
|
|
|
|
break;
|
|
|
|
|
case 1:
|
|
|
|
|
BNeg->setEnabled(true);
|
|
|
|
|
BPos->setEnabled(true);
|
|
|
|
|
btnNeg->setEnabled(true);
|
|
|
|
|
btnPos->setEnabled(true);
|
|
|
|
|
break;
|
|
|
|
|
case 2:
|
|
|
|
|
BNeg->setEnabled(false);
|
|
|
|
|
BPos->setEnabled(true);
|
|
|
|
|
btnNeg->setEnabled(false);
|
|
|
|
|
btnPos->setEnabled(true);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
Slider->setThrottle( index - 1 );
|
|
|
|
|
slider->setThrottle( index - 1 );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AxisEdit::accept() {
|
|
|
|
|
axis->gradient = CGradient->isChecked();
|
|
|
|
|
axis->maxSpeed = SSpeed->value();
|
|
|
|
|
axis->transferCurve = (Axis::TransferCurve)CTransferCurve->currentIndex();
|
|
|
|
|
axis->sensitivity = SSensitivity->value();
|
|
|
|
|
axis->throttle = CThrottle->currentIndex() - 1;
|
|
|
|
|
axis->dZone = Slider->deadZone();
|
|
|
|
|
axis->xZone = Slider->xZone();
|
|
|
|
|
axis->mode = (Axis::Mode) CMode->currentIndex();
|
|
|
|
|
axis->pkeycode = BPos->getValue();
|
|
|
|
|
axis->nkeycode = BNeg->getValue();
|
|
|
|
|
axis->puseMouse = BPos->choseMouse();
|
|
|
|
|
axis->nuseMouse = BNeg->choseMouse();
|
|
|
|
|
axis->gradient = chkGradient->isChecked();
|
|
|
|
|
axis->maxSpeed = spinSpeed->value();
|
|
|
|
|
axis->transferCurve = (Axis::TransferCurve)cmbTransferCurve->currentIndex();
|
|
|
|
|
axis->sensitivity = spinSensitivity->value();
|
|
|
|
|
axis->throttle = cmbThrottle->currentIndex() - 1;
|
|
|
|
|
axis->dZone = slider->deadZone();
|
|
|
|
|
axis->xZone = slider->xZone();
|
|
|
|
|
axis->mode = (Axis::Mode) cmbMode->currentIndex();
|
|
|
|
|
axis->pkeycode = btnPos->getValue();
|
|
|
|
|
axis->nkeycode = btnNeg->getValue();
|
|
|
|
|
axis->puseMouse = btnPos->choseMouse();
|
|
|
|
|
axis->nuseMouse = btnNeg->choseMouse();
|
|
|
|
|
axis->adjustGradient();
|
|
|
|
|
|
|
|
|
|
QDialog::accept();
|
|
|
|
|