167 lines
6.1 KiB
C++
167 lines
6.1 KiB
C++
|
#include "advanceddialog.h"
|
||
|
#include "ui_advanceddialog.h"
|
||
|
#include <QPaintEvent>
|
||
|
#include <QPainter>
|
||
|
#include <QListView>
|
||
|
AdvancedDialog::AdvancedDialog(QWidget *parent) :
|
||
|
QDialog(parent),
|
||
|
ui(new Ui::AdvancedDialog),
|
||
|
fesSwitchFlag(true),
|
||
|
isSkipPassive(true)
|
||
|
{
|
||
|
ui->setupUi(this);
|
||
|
this->setWindowFlags(Qt::FramelessWindowHint); //设置无边框
|
||
|
setAttribute(Qt::WA_TranslucentBackground,true); //设置透明
|
||
|
|
||
|
st_advanceParam.isFesOn = fesSwitchFlag;
|
||
|
st_advanceParam.isSkipPassive = isSkipPassive;
|
||
|
|
||
|
initWidgetData();
|
||
|
}
|
||
|
|
||
|
AdvancedDialog::~AdvancedDialog()
|
||
|
{
|
||
|
delete ui;
|
||
|
}
|
||
|
|
||
|
void AdvancedDialog::on_confirm_Btn_clicked()
|
||
|
{
|
||
|
st_advanceParam.isFesOn = fesSwitchFlag;
|
||
|
st_advanceParam.isSkipPassive = isSkipPassive;
|
||
|
//预热阶段
|
||
|
st_advanceParam.preheatContinueTime = ui->preheatContinueTime_ComboBox->currentText().toInt();
|
||
|
st_advanceParam.preheatAContinueTime = ui->preheatAContinueTime_ComboBox->currentText().toInt();
|
||
|
st_advanceParam.preheatCompensate = ui->preheatCompensate_ComboBox->currentText().toInt();
|
||
|
st_advanceParam.preheatMaxPower = ui->preheatMaxPower_ComboBox->currentText().toInt();
|
||
|
st_advanceParam.transitionalFesRise = ui->transitionalFesRise_ComboBox->currentText().toInt();
|
||
|
//积极治疗阶段
|
||
|
st_advanceParam.positiveFChiXuTime = ui->positiveFChiXuTime_ComboBox->currentText().toInt();
|
||
|
st_advanceParam.positiveFControlSpeed = ui->positiveFControlSpeed_ComboBox->currentText().toInt();
|
||
|
st_advanceParam.positiveBChiXuTime = ui->positiveBChiXuTime_ComboBox->currentText().toInt();
|
||
|
st_advanceParam.positiveBSpeedCompensate = ui->positiveBSpeedCompensate_ComboBox->currentText().toInt();
|
||
|
st_advanceParam.positiveBresistance = ui->positiveBresistance_ComboBox->currentText().toInt();
|
||
|
st_advanceParam.timeLimit = ui->timeLimit_ComboBox->currentText().toInt();
|
||
|
st_advanceParam.speedLimit = ui->speedLimit_ComboBox->currentText().toInt();
|
||
|
//消极阶段
|
||
|
st_advanceParam.negativeSpeedCompensate = ui->negativeSpeedCompensate_ComboBox->currentText().toInt();
|
||
|
st_advanceParam.tiredContinueTime = ui->tiredContinueTime_ComboBox->currentText().toInt();
|
||
|
st_advanceParam.tiredSpeedCompensate = ui->tiredSpeedCompensate_ComboBox->currentText().toInt();
|
||
|
|
||
|
this->close();
|
||
|
}
|
||
|
|
||
|
void AdvancedDialog::on_cancel_Btn_clicked()
|
||
|
{
|
||
|
this->close();
|
||
|
}
|
||
|
|
||
|
|
||
|
void AdvancedDialog::on_skipPassive_Btn_clicked()
|
||
|
{
|
||
|
if(ui->skipPassive_Btn->styleSheet() == "border-image: url(:/DependFile/Source/gamePage/switchOn.png);")
|
||
|
{
|
||
|
isSkipPassive = false;
|
||
|
ui->skipPassive_Btn->setStyleSheet("border-image: url(:/DependFile/Source/gamePage/switchOff.png);");
|
||
|
}
|
||
|
else if(ui->skipPassive_Btn->styleSheet() == "border-image: url(:/DependFile/Source/gamePage/switchOff.png);")
|
||
|
{
|
||
|
isSkipPassive = true;
|
||
|
ui->skipPassive_Btn->setStyleSheet("border-image: url(:/DependFile/Source/gamePage/switchOn.png);");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
void AdvancedDialog::on_preheatFesSwitch_Btn_clicked()
|
||
|
{
|
||
|
if(ui->preheatFesSwitch_Btn->styleSheet() == "border-image: url(:/DependFile/Source/gamePage/switchOn.png);")
|
||
|
{
|
||
|
fesSwitchFlag = false;
|
||
|
ui->preheatFesSwitch_Btn->setStyleSheet("border-image: url(:/DependFile/Source/gamePage/switchOff.png);");
|
||
|
}
|
||
|
else if(ui->preheatFesSwitch_Btn->styleSheet() == "border-image: url(:/DependFile/Source/gamePage/switchOff.png);")
|
||
|
{
|
||
|
fesSwitchFlag = true;
|
||
|
ui->preheatFesSwitch_Btn->setStyleSheet("border-image: url(:/DependFile/Source/gamePage/switchOn.png);");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void AdvancedDialog::initWidgetData()
|
||
|
{
|
||
|
//预热阶段
|
||
|
//加速时间/加速持续时间
|
||
|
for(int i = 0;i <= 60;i++)
|
||
|
{
|
||
|
ui->preheatContinueTime_ComboBox->addItem(QString::number(i));
|
||
|
ui->preheatAContinueTime_ComboBox->addItem(QString::number(i));
|
||
|
}
|
||
|
//转速补偿
|
||
|
for(int i = -30;i <= 30;i++ )
|
||
|
ui->preheatCompensate_ComboBox->addItem(QString::number(i));
|
||
|
//最大电量
|
||
|
for(int i =0;i <=50 ;i++)
|
||
|
ui->preheatMaxPower_ComboBox->addItem(QString::number(i));
|
||
|
//电刺激上升幅度
|
||
|
for(int i = 0;i <= 100; i++)
|
||
|
ui->transitionalFesRise_ComboBox->addItem(QString::number(i));
|
||
|
|
||
|
//积极阶段
|
||
|
for(int i = 0; i <= 120; i++)
|
||
|
ui->positiveFChiXuTime_ComboBox->addItem(QString::number(i));
|
||
|
for(int i = 5;i <= 60;i++)
|
||
|
ui->positiveFControlSpeed_ComboBox->addItem(QString::number(i));
|
||
|
for(int i = 0; i <= 120; i++)
|
||
|
ui->positiveBChiXuTime_ComboBox->addItem(QString::number(i));
|
||
|
for(int i = -30;i <= 30; i++)
|
||
|
ui->positiveBSpeedCompensate_ComboBox->addItem(QString::number(i));
|
||
|
for(int i = -20;i <= 20;i++)
|
||
|
ui->positiveBresistance_ComboBox->addItem(QString::number(i));
|
||
|
for(int i = 0;i <= 240;i++)
|
||
|
ui->timeLimit_ComboBox->addItem(QString::number(i));
|
||
|
for(int i = 1;i <= 50;i++ )
|
||
|
ui->speedLimit_ComboBox->addItem(QString::number(i*(-1)));
|
||
|
|
||
|
//消极阶段
|
||
|
for(int i = -30;i <= 30;i++)
|
||
|
ui->negativeSpeedCompensate_ComboBox->addItem(QString::number(i));
|
||
|
for(int i = 0;i <= 30;i ++)
|
||
|
ui->tiredContinueTime_ComboBox->addItem(QString::number(i));
|
||
|
for(int i = 0;i <= 30;i++)
|
||
|
ui->tiredSpeedCompensate_ComboBox->addItem(QString::number(i*(-1)));
|
||
|
|
||
|
foreach (QObject* obj, ui->groupBox->children()) {
|
||
|
if(obj->objectName().contains("ComboBox"))
|
||
|
{
|
||
|
QComboBox *combox = static_cast<QComboBox*>(obj);
|
||
|
combox->setView(new QListView);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
foreach (QObject* obj, ui->groupBox_2->children()) {
|
||
|
if(obj->objectName().contains("ComboBox"))
|
||
|
{
|
||
|
QComboBox *combox = static_cast<QComboBox*>(obj);
|
||
|
combox->setView(new QListView);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
foreach (QObject* obj, ui->groupBox_3->children()) {
|
||
|
if(obj->objectName().contains("ComboBox"))
|
||
|
{
|
||
|
QComboBox *combox = static_cast<QComboBox*>(obj);
|
||
|
combox->setView(new QListView);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
ST_AdvancedParam AdvancedDialog::getValue()
|
||
|
{
|
||
|
return st_advanceParam;
|
||
|
}
|
||
|
|
||
|
void AdvancedDialog::paintEvent(QPaintEvent *event)
|
||
|
{
|
||
|
Q_UNUSED(event)
|
||
|
QPainter painter(this);
|
||
|
painter.fillRect(rect(),QColor(0,0,0,100));
|
||
|
}
|