1860 lines
66 KiB
C++
1860 lines
66 KiB
C++
#include "armorleg.h"
|
||
#include "ui_armorleg.h"
|
||
#include "advanceddialog.h"
|
||
#include "mainwindowpagecontrol.h"
|
||
#include <QListView>
|
||
#include "icemodule.h"
|
||
#include "paramtipsdialog.h"
|
||
#include "gamecontrol.h"
|
||
#include <QDebug>
|
||
#include "languagemanager.h"
|
||
#include <QTimer>
|
||
#include "currentuserdata.h"
|
||
#include "cdatabaseinterface.h"
|
||
#include "trainingparamsetting.h"
|
||
#include "ccommunicateapi.h"
|
||
#include "currentuserdata.h"
|
||
|
||
|
||
|
||
ArmOrLeg::ArmOrLeg(QWidget *parent) :
|
||
QWidget(parent),
|
||
ui(new Ui::ArmOrLeg),
|
||
m_advanceDialog(NULL),
|
||
m_checkedGame(1),
|
||
m_gameState(false),
|
||
m_isImportParamWidget(0),
|
||
isClickedSave(0),
|
||
isMoreConfgClick(0),
|
||
m_trainType(0)
|
||
//1.构造函数:修改(单上肢、单下肢模式)
|
||
{
|
||
ui->setupUi(this);
|
||
m_advanceDialog = new AdvancedDialog();
|
||
m_prescriptionDialog = new PrescriptionDialog();
|
||
m_machineStartDialog = new MachineStartDialog();
|
||
|
||
m_verticalToHorizontal = new VerticalToHorizonDialog();
|
||
m_horizontalToVertical = new HorizontalToVerticalDialog();
|
||
m_protectGameStart = new ProtectGameStart();
|
||
|
||
//不过不设置参数、不导入处方,设置一份默认训练参数
|
||
m_st_bicycleParam.trainTime = 20;
|
||
m_st_bicycleParam.resistance = 5;
|
||
m_st_bicycleParam.speed = 10;
|
||
|
||
m_st_bicycleParam.direction = 1; //正向
|
||
m_st_bicycleParam.spasmSwitch = 1;
|
||
m_st_bicycleParam.spasmLevel = 2;
|
||
|
||
m_gameIDChecked = 0; //选择的游戏
|
||
m_userID = CurrentUserData::getInstace()->getCurrentPatientMsg().ID;
|
||
|
||
initWidget();
|
||
ui->stackedWidget->setCurrentIndex(0);
|
||
ui->advanced1_Btn->setVisible(false);
|
||
|
||
//单上肢
|
||
|
||
#ifdef ONLYUPLIMP
|
||
//ui->downLimp_Button->setVisible(false);
|
||
//ui->upDownLimp_Button->setVisible(false);
|
||
ui->downLimp_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/limbModel_forbidCheck.png);");
|
||
ui->downLimp_Button->setCheckable(false);
|
||
ui->upDownLimp_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/upDown_forbidcheck.png);");
|
||
ui->upDownLimp_Button->setCheckable(false);
|
||
qDebug()<<"单上肢启动";
|
||
#endif
|
||
|
||
//单下肢
|
||
#ifdef ONLYDOWNLIMP
|
||
//ui->upLimp_Button->setVisible(false);
|
||
//ui->upDownLimp_Button->setVisible(false);
|
||
//ui->downLimp_Button->setChecked(true);
|
||
//ui->downLimp_Button->move(350,30);
|
||
ui->verticalUpLimp_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/veritcalLimb_forbidCheck.png);");
|
||
ui->verticalUpLimp_Button->setCheckable(false);
|
||
ui->upDownLimp_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/upDown_forbidcheck.png);");
|
||
ui->upDownLimp_Button->setCheckable(false);
|
||
ui->upLimp_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/horizontalUp_forbidcheck.png);");
|
||
ui->upLimp_Button->setCheckable(false);
|
||
ui->downLimp_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/limbModel_Checked.png);");
|
||
|
||
ui->upLimp_Button->move(40,360);
|
||
ui->label_11->move(10,530);
|
||
ui->downLimp_Button->move(40,70);
|
||
ui->label_13->move(20,230);
|
||
ui->downLimp_Button->setChecked(true);
|
||
//on_upDownLimp_Button_toggled(true);
|
||
qDebug()<<"单下肢启动";
|
||
#endif
|
||
|
||
|
||
}
|
||
|
||
ArmOrLeg::~ArmOrLeg()
|
||
{
|
||
if(m_advanceDialog)
|
||
delete m_advanceDialog;
|
||
|
||
if(m_prescriptionDialog)
|
||
delete m_prescriptionDialog;
|
||
if(m_machineStartDialog)
|
||
delete m_machineStartDialog;
|
||
if(m_verticalToHorizontal)
|
||
delete m_verticalToHorizontal;
|
||
if(m_horizontalToVertical)
|
||
delete m_horizontalToVertical;
|
||
if(m_protectGameStart)
|
||
delete m_protectGameStart;
|
||
delete ui;
|
||
}
|
||
|
||
//2.初始化页面:修改
|
||
|
||
void ArmOrLeg::initWidget()
|
||
{
|
||
// 改变训练为模式-名称
|
||
ui->label_15->setText("主被动模式");
|
||
ui->label_16->setText("被动模式");
|
||
ui->label_19->setText("主动模式");
|
||
ui->label_22->setText("助力模式");
|
||
ui->label_23->setText("等速模式");
|
||
|
||
//训练部位
|
||
ui->upLimp_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/horizontalUp_checked.png);");
|
||
ui->verticalUpLimp_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/veritcalLimb_unChecked.png);");
|
||
ui->downLimp_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/limbModel_unChecked.png);");
|
||
ui->upDownLimp_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/upDown_unchecked.png);");
|
||
|
||
//设置训练模式
|
||
ui->activePassive1_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/activePassive_checked.png);");
|
||
ui->passive1_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/passiveModel_unCHeck.png);");
|
||
ui->active1_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/activeTrain_unchecked.png);");
|
||
ui->assistant1_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/assistedTrain_unChecked.png);");
|
||
ui->speedTrain_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/speedModel_unchecked.png);");
|
||
|
||
//加载游戏
|
||
ui->gameDisplay_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/game1.png);");
|
||
|
||
//初始界面,4中训练部位、5中训练模式都能够被选中
|
||
m_gameIDChecked = 0; //选择的游戏
|
||
|
||
|
||
/*
|
||
ui->resistance1_ComboBox->setView(new QListView);
|
||
ui->speed1_ComboBox->setView(new QListView);
|
||
ui->trainTime1_ComboBox->setView(new QListView);
|
||
|
||
ui->upTrainTime2_ComboBox->setView(new QListView);
|
||
// ui->downTrainTime2_ComboBox->setView(new QListView);
|
||
|
||
ui->upResistance2_ComboBox->setView(new QListView);
|
||
// ui->downResistance2_ComboBox->setView(new QListView);
|
||
|
||
ui->upSpeed2_ComboBox->setView(new QListView);
|
||
// ui->downSpeed2_ComboBox->setView(new QListView);
|
||
ui->advanced1_Btn->setVisible(false);
|
||
|
||
//填充数据
|
||
//速度
|
||
for(int i = 2;i <= 55; i++)
|
||
{
|
||
ui->speed1_ComboBox->addItem(QString::number(i));
|
||
ui->upSpeed2_ComboBox->addItem(QString::number(i));
|
||
}
|
||
//预设定值上肢不超10,下肢不超15
|
||
ui->speed1_ComboBox->setCurrentIndex(8);
|
||
ui->upSpeed2_ComboBox->setCurrentIndex(8);
|
||
|
||
//阻力 1~20挡
|
||
for(int i = 1;i <= 20;i++)
|
||
{
|
||
ui->resistance1_ComboBox->addItem(QString::number(i));
|
||
ui->upResistance2_ComboBox->addItem(QString::number(i));
|
||
}
|
||
ui->resistance1_ComboBox->setCurrentIndex(4);
|
||
ui->upResistance2_ComboBox->setCurrentIndex(4);
|
||
//时间
|
||
for(int i = 1;i <= 99;i++)
|
||
{
|
||
ui->trainTime1_ComboBox->addItem(QString::number(i));
|
||
ui->upTrainTime2_ComboBox->addItem(QString::number(i));
|
||
}
|
||
ui->trainTime1_ComboBox->setCurrentIndex(19);
|
||
ui->upTrainTime2_ComboBox->setCurrentIndex(19);
|
||
|
||
|
||
//加载游戏
|
||
QList<ST_GameMsg> gameMsgList = GameControl::getInstance()->getGameMsgs();
|
||
for(int i = 0;i <gameMsgList.size();i++ )
|
||
{
|
||
// qDebug()<<gameMsgList.at(i).gameID<<gameMsgList.at(i).gamePath<<gameMsgList.at(i).iconPath;
|
||
}
|
||
// ui->gameStackedWidget->move(800,330);
|
||
|
||
ui->game1_RadioButton->setIconSize(QSize(40,40));
|
||
ui->game1_radioButton->setIconSize(QSize(40,40));
|
||
|
||
ui->game2_RadioButton->setIconSize(QSize(40,40));
|
||
ui->game2_radioButton->setIconSize(QSize(40,40));
|
||
|
||
ui->game3_RadioButton->setIconSize(QSize(40,40));
|
||
ui->game3_radioButton->setIconSize(QSize(40,40));
|
||
|
||
ui->game4_RadioButton->setIconSize(QSize(40,40));
|
||
//ui->game1_radioButton->setIconSize(QSize(40,40));
|
||
|
||
ui->game1_RadioButton->setIcon(QIcon(gameMsgList.at(0).gamePath+gameMsgList.at(0).iconPath));
|
||
ui->game1_radioButton->setIcon(QIcon(gameMsgList.at(0).gamePath+gameMsgList.at(0).iconPath));
|
||
|
||
ui->game2_RadioButton->setIcon(QIcon(gameMsgList.at(1).gamePath+gameMsgList.at(1).iconPath));
|
||
ui->game2_radioButton->setIcon(QIcon(gameMsgList.at(1).gamePath+gameMsgList.at(1).iconPath));
|
||
|
||
ui->game3_RadioButton->setIcon(QIcon(gameMsgList.at(2).gamePath+gameMsgList.at(2).iconPath));
|
||
ui->game3_radioButton->setIcon(QIcon(gameMsgList.at(2).gamePath+gameMsgList.at(2).iconPath));
|
||
|
||
ui->game4_RadioButton->setIcon(QIcon(gameMsgList.at(3).gamePath+gameMsgList.at(3).iconPath));
|
||
//最开始隐藏最上面的游戏4
|
||
ui->game4Widget->setVisible(false);
|
||
|
||
ui->game1_RadioButton->setChecked(true);
|
||
ui->game1_radioButton->setChecked(true);
|
||
*/
|
||
}
|
||
|
||
|
||
//3.开始FES游戏:修改
|
||
|
||
void ArmOrLeg::startFESGamme()
|
||
{
|
||
//on_confirm_Btn_clicked();
|
||
m_isClickedGameStart ++; //m_isClickedGameStart=1为点击了一次,如果在点击m_isClickedGameStart则不启动游戏
|
||
qDebug() << "次数:"<<m_isClickedGameStart;
|
||
//qDebug()<<"m_isClickedGameStart="<<m_isClickedGameStart;
|
||
if(m_isClickedGameStart >1) return; //避免出现Windows阻塞游戏,系统反应迟钝,出现多个提示框
|
||
|
||
if(ui->upLimp_Button->isChecked() || ui->upDownLimp_Button->isChecked())
|
||
{
|
||
m_verticalToHorizontal->exec();
|
||
if(m_verticalToHorizontal->getConfirmState())
|
||
; //点击确认
|
||
else
|
||
{
|
||
m_isClickedGameStart = 0;
|
||
return; //点击取消
|
||
}
|
||
}
|
||
else if(ui->verticalUpLimp_Button->isChecked())
|
||
{
|
||
m_horizontalToVertical->exec();
|
||
if(m_horizontalToVertical->getConfirmState())
|
||
; //点击确认
|
||
else
|
||
{
|
||
m_isClickedGameStart = 0;
|
||
return; //点击取消
|
||
}
|
||
}
|
||
|
||
isClickedSave = 0; //开始游戏重新初始化点击了保存
|
||
saveTrainParam();
|
||
if(m_gameState)
|
||
return;
|
||
m_gameState = true;
|
||
QTimer::singleShot(3000,this,[this](){
|
||
m_gameState = false;
|
||
});
|
||
|
||
//IceModule::getInstance()->setGameType(1);
|
||
|
||
E_LANGUAGE language = LanguageManager::getInstance()->getCurrentLanguage();
|
||
|
||
if (language == Chinese_E)
|
||
{
|
||
GameControl::getInstance()->playTipMusic("./DependFile/Music/sitdown.MP3");
|
||
}
|
||
else if (language == English_E) //初始化英文暂停和结束
|
||
{
|
||
GameControl::getInstance()->playTipMusic("./DependFile/Music/sitdown_En.MP3");
|
||
}
|
||
ST_BicycleParam st_bicycleParam;
|
||
emit signalGetBicycleParam();
|
||
/*
|
||
if(ui->upLimp_Button->isChecked())
|
||
st_bicycleParam.bodyPart = 0;
|
||
else if(ui->downLimp_Button->isChecked())
|
||
st_bicycleParam.bodyPart = 1;
|
||
else if(ui->upDownLimp_Button->isChecked())
|
||
{
|
||
st_bicycleParam.bodyPart = 2;
|
||
|
||
//训练模式
|
||
if(ui->activePassive1_Button->isChecked())
|
||
st_bicycleParam.trainMode = 7; //四肢主被动
|
||
else if(ui->passive1_Button->isChecked())
|
||
st_bicycleParam.trainMode = 4; //四肢纯被动
|
||
}
|
||
*/
|
||
//改变训练参数
|
||
st_bicycleParam.trainTime = m_st_bicycleParam.trainTime;
|
||
st_bicycleParam.resistance = m_st_bicycleParam.resistance;
|
||
st_bicycleParam.speed = m_st_bicycleParam.speed;
|
||
|
||
st_bicycleParam.direction = m_st_bicycleParam.direction;
|
||
st_bicycleParam.spasmLevel = m_st_bicycleParam.spasmLevel;
|
||
st_bicycleParam.spasmSwitch = m_st_bicycleParam.spasmSwitch;
|
||
|
||
//上肢、垂直上肢、下肢、上下肢
|
||
if(ui->upLimp_Button->isChecked())
|
||
st_bicycleParam.bodyPart = 0;
|
||
else if(ui->verticalUpLimp_Button->isChecked())
|
||
st_bicycleParam.bodyPart = 3;
|
||
else if(ui->downLimp_Button->isChecked())
|
||
st_bicycleParam.bodyPart = 1;
|
||
else if(ui->upDownLimp_Button->isChecked())
|
||
st_bicycleParam.bodyPart = 2;
|
||
|
||
//7是单支训练模式
|
||
if(!ui->upDownLimp_Button->isChecked())
|
||
{
|
||
if(ui->passive1_Button->isChecked())
|
||
st_bicycleParam.trainMode = 0;
|
||
else if(ui->active1_Button->isChecked())
|
||
st_bicycleParam.trainMode = 1;
|
||
else if(ui->assistant1_Button->isChecked())
|
||
st_bicycleParam.trainMode = 2;
|
||
else if(ui->speedTrain_Button->isChecked())
|
||
st_bicycleParam.trainMode = 3;
|
||
else if(ui->activePassive1_Button->isChecked())
|
||
st_bicycleParam.trainMode = 10;
|
||
}
|
||
else
|
||
{
|
||
if(ui->passive1_Button->isChecked())
|
||
st_bicycleParam.trainMode = 4;
|
||
else if(ui->activePassive1_Button->isChecked())
|
||
st_bicycleParam.trainMode = 7;
|
||
}
|
||
|
||
st_bicycleParam.direction = m_st_bicycleParam.direction;
|
||
|
||
|
||
GameControl::getInstance()->setCurrentGame(m_gameIDChecked + 1);
|
||
st_bicycleParam.controlState = 0;
|
||
IceModule::getInstance()->setBicycleParam(st_bicycleParam);
|
||
|
||
IceModule::getInstance()->setMaxFESAParam(); //设置8个最大电流
|
||
|
||
//test:
|
||
qDebug() <<"游戏方向:"<< st_bicycleParam.direction;
|
||
qDebug()<<"训练时间:"<<st_bicycleParam.trainTime;
|
||
qDebug()<<"训练阻力:"<<st_bicycleParam.resistance;
|
||
|
||
|
||
|
||
qDebug()<<"未抓取前:"<<this->winId();
|
||
//m_hwndId = (HWND)this->winId();
|
||
//SetWindowPos(m_hwndId)
|
||
//SetWindowPos(m_hwndId, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
|
||
/*
|
||
* QPixmap downPicture = this->grab();
|
||
QString dirPath = QApplication::applicationDirPath() + "/DependFile/Source/trainDisplayPage";
|
||
QDir resultDir(dirPath);
|
||
if(!resultDir.exists())
|
||
qDebug()<<"保存图片失败";
|
||
downPicture.save(dirPath + "/downPicture.png");
|
||
emit saveUpPictureSignal();
|
||
*/
|
||
//if(m_protectGameStart->setDownPicture(downPicture))
|
||
//m_protectGameStart->move(0,100);
|
||
m_protectGameStart->show();
|
||
|
||
//ui->label_2->setPixmap(downPicture);
|
||
//
|
||
|
||
//从此处启动游戏
|
||
MainWindowPageControl::getInstance()->setCurrentPage(TrainingPage_E);
|
||
Sleep(5000);
|
||
m_protectGameStart->close();
|
||
|
||
/*
|
||
if(m_gameState)
|
||
return;
|
||
m_gameState = true;
|
||
QTimer::singleShot(3000,this,[this](){
|
||
m_gameState = false;
|
||
});
|
||
GameControl::getInstance()->playTipMusic("./DependFile/Music/sitdown.MP3");
|
||
|
||
ST_BicycleParam st_bicycleParam;
|
||
//训练部位
|
||
if(ui->upLimp_Button->isChecked())
|
||
st_bicycleParam.bodyPart = 0;
|
||
else if(ui->downLimp_Button->isChecked())
|
||
st_bicycleParam.bodyPart = 1;
|
||
else if(ui->upDownLimp_Button->isChecked())
|
||
{
|
||
st_bicycleParam.bodyPart = 2;
|
||
//训练模式
|
||
if(ui->activePassive1_RadioButton->isChecked())
|
||
st_bicycleParam.trainMode = 7; //四肢主被动
|
||
else if(ui->passive2_RadioButton->isChecked())
|
||
st_bicycleParam.trainMode = 4; //四肢纯被动
|
||
}
|
||
|
||
if(m_gameState)
|
||
return;
|
||
m_gameState = true;
|
||
QTimer::singleShot(3000,this,[this](){
|
||
m_gameState = false;
|
||
});
|
||
GameControl::getInstance()->playTipMusic("./DependFile/Music/sitdown.MP3");
|
||
|
||
ST_BicycleParam st_bicycleParam;
|
||
//训练部位
|
||
if(ui->upLimp_RadioButton->isChecked())
|
||
st_bicycleParam.bodyPart = 0;
|
||
else if(ui->downLimp_RadioButton->isChecked())
|
||
st_bicycleParam.bodyPart = 1;
|
||
else if(ui->upDownLimp_RadioButton->isChecked())
|
||
{
|
||
st_bicycleParam.bodyPart = 2;
|
||
|
||
//训练模式
|
||
if(ui->activePassive2_RadioButton->isChecked())
|
||
st_bicycleParam.trainMode = 7; //四肢主被动
|
||
else if(ui->passive2_RadioButton->isChecked())
|
||
st_bicycleParam.trainMode = 4; //四肢纯被动
|
||
//训练时间
|
||
st_bicycleParam.trainTime = ui->upTrainTime2_ComboBox->currentText().toUInt();
|
||
//训练阻力
|
||
st_bicycleParam.resistance = ui->upResistance2_ComboBox->currentText().toInt();
|
||
//训练速度
|
||
st_bicycleParam.speed = ui->upSpeed2_ComboBox->currentText().toInt();
|
||
//转向
|
||
if(ui->CW2_RadioButton->isChecked())
|
||
st_bicycleParam.direction = 1;
|
||
else if(ui->ACW2_RadioButton->isChecked())
|
||
st_bicycleParam.direction = 0;
|
||
//痉挛保护
|
||
if(ui->spasmACW2_RadioButton->isChecked())
|
||
st_bicycleParam.spasmType = 0;
|
||
// else if(ui->spasmCW2_RadioButton->isChecked())
|
||
// st_bicycleParam.spasmType = 1;
|
||
|
||
if(ui->spasmClose2_RadioButton->isChecked())
|
||
st_bicycleParam.spasmSwitch = 0;
|
||
else
|
||
st_bicycleParam.spasmSwitch = 1;
|
||
|
||
//痉挛等级
|
||
if(ui->spasmLow2_RadioButton->isChecked())
|
||
st_bicycleParam.spasmLevel = 1;
|
||
else if(ui->spasmMidd2_RadioButton->isChecked())
|
||
st_bicycleParam.spasmLevel = 2;
|
||
else if(ui->spasmHigh2_RadioButton->isChecked())
|
||
st_bicycleParam.spasmLevel = 3;
|
||
|
||
if(ui->game1_radioButton->isChecked())
|
||
GameControl::getInstance()->setCurrentGame(1);
|
||
else if(ui->game2_radioButton->isChecked())
|
||
GameControl::getInstance()->setCurrentGame(2);
|
||
else if(ui->game3_radioButton->isChecked())
|
||
GameControl::getInstance()->setCurrentGame(3);
|
||
}
|
||
|
||
//单肢
|
||
if(!ui->upDownLimp_RadioButton->isChecked())
|
||
{
|
||
//单肢训练模式
|
||
if(ui->passive1_RadioButton->isChecked())
|
||
st_bicycleParam.trainMode = 0;
|
||
else if(ui->active1_RadioButton->isChecked())
|
||
st_bicycleParam.trainMode = 1;
|
||
else if(ui->assistant1_RadioButton->isChecked())
|
||
st_bicycleParam.trainMode = 2;
|
||
else if(ui->constant1_RadioButton->isChecked())
|
||
st_bicycleParam.trainMode = 3;
|
||
else if(ui->activePassive1_RadioButton->isChecked())
|
||
st_bicycleParam.trainMode = 10;
|
||
|
||
//训练时间
|
||
st_bicycleParam.trainTime = ui->trainTime1_ComboBox->currentText().toUInt();
|
||
//训练阻力
|
||
st_bicycleParam.resistance = ui->resistance1_ComboBox->currentText().toInt();
|
||
//训练速度
|
||
st_bicycleParam.speed = ui->speed1_ComboBox->currentText().toInt();
|
||
|
||
//转向
|
||
if(ui->CW1_RadioButton->isChecked())
|
||
st_bicycleParam.direction = 1;
|
||
else if(ui->ACW1_RadioButton->isChecked())
|
||
st_bicycleParam.direction = 0;
|
||
//痉挛保护
|
||
if(ui->spasmACW1_RadioButton->isChecked())
|
||
st_bicycleParam.spasmType = 0;
|
||
// else if(ui->spasmCW1_RadioButton->isChecked())
|
||
// st_bicycleParam.spasmType = 1;
|
||
|
||
if(ui->spasmClose1_RadioButton->isChecked())
|
||
st_bicycleParam.spasmSwitch = 0;
|
||
else
|
||
st_bicycleParam.spasmSwitch = 1;
|
||
|
||
//痉挛等级
|
||
if(ui->spasmLow1_RadioButton->isChecked())
|
||
st_bicycleParam.spasmLevel = 3;
|
||
else if(ui->spasmMidd1_RadioButton->isChecked())
|
||
st_bicycleParam.spasmLevel = 2;
|
||
else if(ui->spasmHigh1_RadioButton->isChecked())
|
||
st_bicycleParam.spasmLevel = 1;
|
||
|
||
//游戏选择
|
||
if(ui->game1_RadioButton->isChecked())
|
||
GameControl::getInstance()->setCurrentGame(1);
|
||
else if(ui->game2_RadioButton->isChecked())
|
||
GameControl::getInstance()->setCurrentGame(2);
|
||
else if(ui->game3_RadioButton->isChecked())
|
||
GameControl::getInstance()->setCurrentGame(3);
|
||
else if(ui->game4_RadioButton->isChecked())
|
||
GameControl::getInstance()->setCurrentGame(4);
|
||
}
|
||
|
||
|
||
st_bicycleParam.controlState = 0;
|
||
IceModule::getInstance()->setBicycleParam(st_bicycleParam);
|
||
|
||
//从此处启动游戏
|
||
MainWindowPageControl::getInstance()->setCurrentPage(TrainingPage_E);
|
||
*/
|
||
}
|
||
|
||
|
||
//4.设置训练类型:需要修改
|
||
|
||
void ArmOrLeg::setTrainType(int8_t type)
|
||
{
|
||
//m_trainType = type;
|
||
if(0 == type) //单踏车
|
||
{
|
||
qDebug() <<"isMoreConfgClick:"<<isMoreConfgClick;
|
||
if(isMoreConfgClick == 1) return ;//如果是从单车参数返回的,不重新排列
|
||
|
||
//1.显示上下肢、垂直上肢,移动下肢
|
||
//ui->upDownLimp_Button->setVisible(true);
|
||
//ui->label_14->setVisible(true);
|
||
ui->upDownLimp_Button->setStyleSheet("border-image: url(:/DependFile/Source/trainDisplayPage/upDown_unchecked.png);");
|
||
ui->upDownLimp_Button->setCheckable(true);
|
||
|
||
ui->verticalUpLimp_Button->setStyleSheet("border-image: url(:/DependFile/Source/trainDisplayPage/veritcalLimb_unChecked.png);");
|
||
ui->verticalUpLimp_Button->setCheckable(true);
|
||
//ui->verticalUpLimp_Button->setVisible(true);
|
||
//ui->label_12->setVisible(true);
|
||
|
||
|
||
ui->verticalUpLimp_Button->move(280,70);
|
||
ui->label_12->move(260,230);
|
||
|
||
ui->downLimp_Button->move(40,360);
|
||
ui->label_13->move(20,530);
|
||
|
||
#ifdef ONLYUPLIMP
|
||
ui->upDownLimp_Button->setVisible(false);
|
||
ui->label_14->setVisible(false);
|
||
|
||
ui->downLimp_Button->setVisible(false);
|
||
ui->label_13->setVisible(false);
|
||
#endif
|
||
|
||
|
||
#ifdef ONLYDOWNLIMP
|
||
ui->upLimp_Button->setVisible(false);
|
||
ui->label_11->setVisible(false);
|
||
|
||
ui->upDownLimp_Button->setVisible(false);
|
||
ui->label_14->setVisible(false);
|
||
|
||
ui->verticalUpLimp_Button->setVisible(false);
|
||
ui->label_12->setVisible(false);
|
||
|
||
ui->downLimp_Button->move(40,70);
|
||
ui->label_13->move(10,230);
|
||
#endif
|
||
|
||
//2.确认开始
|
||
ui->confirm_Btn->setVisible(true);
|
||
ui->next_Btn->setVisible(false);
|
||
|
||
//3.隐藏训练部位
|
||
ui->passive1_Button->setStyleSheet("border-image: url(:/DependFile/Source/trainDisplayPage/passiveModel_unCHeck.png);");
|
||
ui->passive1_Button->setCheckable(true);
|
||
//ui->label_16->setVisible(false);
|
||
|
||
ui->active1_Button->setStyleSheet("border-image: url(:/DependFile/Source/trainDisplayPage/activeTrain_unchecked.png);");
|
||
ui->active1_Button->setCheckable(true);
|
||
//ui->label_19->setVisible(false);
|
||
|
||
ui->assistant1_Button->setStyleSheet("border-image: url(:/DependFile/Source/trainDisplayPage/assistedTrain_unChecked.png);");
|
||
ui->assistant1_Button->setCheckable(true);
|
||
//ui->label_22->setVisible(false);
|
||
|
||
ui->speedTrain_Button->setStyleSheet("border-image: url(:/DependFile/Source/trainDisplayPage/speedModel_unchecked.png);");
|
||
ui->speedTrain_Button->setCheckable(true);
|
||
/*
|
||
ui->activePassive1_RadioButton->move(1235,30);
|
||
|
||
ui->passive2_RadioButton->setVisible(true);
|
||
*/
|
||
|
||
}
|
||
else if(1 == type) //FES踏车
|
||
{
|
||
//1.上下肢和垂直下肢不可选,移动下肢和垂直下肢
|
||
//ui->upDownLimp_Button->setVisible(false);
|
||
//ui->label_14->setVisible(false);
|
||
ui->upDownLimp_Button->setStyleSheet("border-image: url(:/DependFile/Source/trainDisplayPage/upDown_forbidcheck.png);");
|
||
ui->upDownLimp_Button->setCheckable(false);
|
||
|
||
|
||
//ui->verticalUpLimp_Button->setVisible(false);
|
||
//ui->label_12->setVisible(false);
|
||
ui->verticalUpLimp_Button->setStyleSheet("border-image: url(:/DependFile/Source/trainDisplayPage/veritcalLimb_forbidCheck.png);");
|
||
ui->verticalUpLimp_Button->setCheckable(false);
|
||
|
||
ui->downLimp_Button->move(280,70);
|
||
ui->label_13->move(260,230);
|
||
|
||
ui->verticalUpLimp_Button->move(40,360);
|
||
ui->label_12->move(20,530);
|
||
|
||
//2.确认开始
|
||
ui->confirm_Btn->setVisible(false);
|
||
ui->next_Btn->setVisible(true);
|
||
|
||
//3.训练部位不可选
|
||
ui->passive1_Button->setStyleSheet("border-image: url(:/DependFile/Source/trainDisplayPage/passiveModel_forbidCHeck.png);");
|
||
ui->passive1_Button->setCheckable(false);
|
||
//ui->label_16->setVisible(false);
|
||
|
||
ui->active1_Button->setStyleSheet("border-image: url(:/DependFile/Source/trainDisplayPage/activeTrain_forbidchecked.png);");
|
||
ui->active1_Button->setCheckable(false);
|
||
//ui->label_19->setVisible(false);
|
||
|
||
ui->assistant1_Button->setStyleSheet("border-image: url(:/DependFile/Source/trainDisplayPage/assistedTrain_forbidCheck.png);");
|
||
ui->assistant1_Button->setCheckable(false);
|
||
//ui->label_22->setVisible(false);
|
||
|
||
ui->speedTrain_Button->setStyleSheet("border-image: url(:/DependFile/Source/trainDisplayPage/speedModel_forbidcheck.png);");
|
||
ui->speedTrain_Button->setCheckable(false);
|
||
//ui->label_23->setVisible(false);
|
||
|
||
|
||
/* ui->activePassive1_RadioButton->move(350,30);
|
||
|
||
ui->passive2_RadioButton->setVisible(false);
|
||
|
||
ui->activePassive1_RadioButton->setChecked(true);
|
||
ui->activePassive2_RadioButton->setChecked(true);
|
||
*/
|
||
|
||
|
||
}
|
||
}
|
||
|
||
|
||
//5.保存训练参数到数据库:修改
|
||
|
||
void ArmOrLeg::saveTrainParam()
|
||
{
|
||
|
||
QString table("TrainParamTable");
|
||
|
||
ST_TrainParam st_trainParam;
|
||
|
||
//获取训练前,界面的所有训练参数,插入到训练参数表,方便"导入处方"
|
||
st_trainParam.ID = CurrentUserData::getInstace()->getCurrentPatientMsg().ID;
|
||
|
||
//训练部位
|
||
if(ui->upLimp_Button->isChecked())
|
||
st_trainParam.trainLimp = 0;
|
||
else if(ui->verticalUpLimp_Button->isChecked())
|
||
st_trainParam.trainLimp = 3;
|
||
else if(ui->downLimp_Button->isChecked())
|
||
st_trainParam.trainLimp = 1;
|
||
else if(ui->upDownLimp_Button->isChecked())
|
||
st_trainParam.trainLimp = 2;
|
||
|
||
//训练模式
|
||
if(!ui->upDownLimp_Button->isChecked())
|
||
{
|
||
if(ui->passive1_Button->isChecked())
|
||
st_trainParam.trainMode = 0;
|
||
else if(ui->active1_Button->isChecked())
|
||
st_trainParam.trainMode = 1;
|
||
else if(ui->assistant1_Button->isChecked())
|
||
st_trainParam.trainMode = 2;
|
||
else if(ui->speedTrain_Button->isChecked())
|
||
st_trainParam.trainMode = 3;
|
||
else if(ui->activePassive1_Button->isChecked())
|
||
st_trainParam.trainMode = 10;
|
||
}
|
||
else
|
||
{
|
||
if(ui->passive1_Button->isChecked())
|
||
st_trainParam.trainMode = 4;
|
||
else if(ui->activePassive1_Button->isChecked())
|
||
st_trainParam.trainMode = 7;
|
||
}
|
||
|
||
//时间、阻力、速度、转向(1正向,0逆向)、等级、是否保护(1-保护,0不保护)
|
||
|
||
st_trainParam.trainTime = m_st_bicycleParam.trainTime;
|
||
st_trainParam.trainResistance = m_st_bicycleParam.resistance;
|
||
st_trainParam.trainSpeed = m_st_bicycleParam.speed;
|
||
|
||
st_trainParam.trainDirection = m_st_bicycleParam.direction;
|
||
qDebug() <<"st_trainParam.trainDirection:"<<st_trainParam.trainDirection;
|
||
|
||
st_trainParam.spasmLevel = m_st_bicycleParam.spasmLevel;
|
||
st_trainParam.spasmProtect = m_st_bicycleParam.spasmSwitch;
|
||
|
||
st_trainParam.gameID = m_gameIDChecked + 1;//ID从0开始,第几个游戏
|
||
GameControl::getInstance()->setTrainParam(st_trainParam);
|
||
|
||
/* if(!ui->upDownLimp_RadioButton->isChecked())
|
||
{
|
||
//在五个模式的stackWidget
|
||
if(ui->upLimp_RadioButton->isChecked())
|
||
st_trainParam.trainLimp = 1;
|
||
else if(ui->verticalUpLimp_RadioButton->isChecked())
|
||
st_trainParam.trainLimp = 2;
|
||
else if(ui->downLimp_RadioButton->isChecked())
|
||
st_trainParam.trainLimp = 3;
|
||
|
||
if(ui->passive1_RadioButton->isChecked())
|
||
st_trainParam.trainMode = 1;
|
||
else if(ui->active1_RadioButton->isChecked())
|
||
st_trainParam.trainMode = 2;
|
||
else if(ui->assistant1_RadioButton->isChecked())
|
||
st_trainParam.trainMode = 3;
|
||
else if(ui->constant1_RadioButton->isChecked())
|
||
st_trainParam.trainMode = 4;
|
||
else if(ui->activePassive1_RadioButton->isChecked())
|
||
st_trainParam.trainMode = 5;
|
||
|
||
st_trainParam.trainTime = ui->trainTime1_ComboBox->currentText().toInt();
|
||
st_trainParam.trainResistance = ui->resistance1_ComboBox->currentText().toInt();
|
||
st_trainParam.trainSpeed = ui->speed1_ComboBox->currentText().toInt();
|
||
|
||
if(ui->CW1_RadioButton->isChecked()) //正向为0,反向为1
|
||
st_trainParam.trainDirection = 0;
|
||
else if(ui->ACW1_RadioButton->isChecked())
|
||
st_trainParam.trainDirection = 1;
|
||
|
||
|
||
if(ui->spasmClose1_RadioButton->isChecked()) //关闭为0,反转为1
|
||
st_trainParam.spasmProtect = 0;
|
||
else if(ui->spasmACW1_RadioButton->isChecked())
|
||
st_trainParam.spasmProtect = 1;
|
||
|
||
if(ui->spasmLow1_RadioButton->isChecked()) //低、中、高为1、2、3
|
||
st_trainParam.spasmLevel = 0;
|
||
else if(ui->spasmMidd1_RadioButton->isChecked())
|
||
st_trainParam.spasmLevel = 1;
|
||
else if(ui->spasmHigh1_RadioButton->isChecked())
|
||
st_trainParam.spasmLevel = 2;
|
||
|
||
if(ui->game1_RadioButton->isChecked())
|
||
st_trainParam.gameID = 1;
|
||
else if(ui->game2_RadioButton->isChecked())
|
||
st_trainParam.gameID = 2;
|
||
else if(ui->game3_RadioButton->isChecked())
|
||
st_trainParam.gameID = 3;
|
||
|
||
}
|
||
else if(ui->upDownLimp_RadioButton->isChecked())
|
||
{
|
||
st_trainParam.trainLimp = 4;
|
||
//切换到只有两种模式的stackWidget了
|
||
|
||
if(ui->activePassive2_RadioButton->isChecked())//主被动
|
||
st_trainParam.trainMode = 1;
|
||
else if(ui->passive2_RadioButton->isChecked())
|
||
st_trainParam.trainMode = 2;
|
||
|
||
st_trainParam.trainTime = ui->upTrainTime2_ComboBox->currentText().toInt();
|
||
st_trainParam.trainResistance = ui->upResistance2_ComboBox->currentText().toInt();
|
||
st_trainParam.trainSpeed = ui->upSpeed2_ComboBox->currentText().toInt();
|
||
|
||
if(ui->CW2_RadioButton->isChecked()) //正向为0,反向为1
|
||
st_trainParam.trainDirection = 0;
|
||
else if(ui->ACW2_RadioButton->isChecked())
|
||
st_trainParam.trainDirection = 1;
|
||
|
||
if(ui->spasmClose2_RadioButton->isChecked()) //关闭为0,反转为1
|
||
st_trainParam.spasmProtect = 0;
|
||
else if(ui->spasmACW2_RadioButton->isChecked())
|
||
st_trainParam.spasmProtect = 1;
|
||
|
||
if(ui->spasmLow2_RadioButton->isChecked()) //低、中、高为1、2、3
|
||
st_trainParam.spasmLevel = 1;
|
||
else if(ui->spasmMidd2_RadioButton->isChecked())
|
||
st_trainParam.spasmLevel = 2;
|
||
else if(ui->spasmHigh2_RadioButton->isChecked())
|
||
st_trainParam.spasmLevel = 3;
|
||
|
||
if(ui->game1_radioButton->isChecked())
|
||
st_trainParam.gameID = 1;
|
||
else if(ui->game2_radioButton->isChecked())
|
||
st_trainParam.gameID = 2;
|
||
else if(ui->game3_radioButton->isChecked())
|
||
st_trainParam.gameID = 3;
|
||
}
|
||
//训练处方都交给游戏单例
|
||
GameControl::getInstance()->setTrainParam(st_trainParam);
|
||
*/
|
||
}
|
||
|
||
|
||
//6.event修改
|
||
|
||
void ArmOrLeg::showEvent(QShowEvent *event)
|
||
{
|
||
Q_UNUSED(event)
|
||
//qDebug()<<"showEvent";
|
||
|
||
m_isClickedGameStart = 0; //每次初始页面为点击开始游戏
|
||
qDebug() <<"m_isImportParamWidget "<<m_isImportParamWidget<<isClickedSave;
|
||
if(m_isImportParamWidget != 1 && isClickedSave != 1) //是否从导入参数,同时在参数界面没有点击保存数据
|
||
{
|
||
isClickedSave = 0; //重新初始化点击了额保存
|
||
//设置训练参数界面
|
||
m_st_bicycleParam.trainTime = 20;
|
||
m_st_bicycleParam.resistance = 5;
|
||
m_st_bicycleParam.speed = 10;
|
||
|
||
m_st_bicycleParam.direction = 1; //正向
|
||
m_st_bicycleParam.spasmSwitch = 1;
|
||
m_st_bicycleParam.spasmLevel = 2;
|
||
|
||
//这里为修改训练模式选择界面,而来自返回界面的则需要保存
|
||
|
||
//m_userID = CurrentUserData::getInstace()->getCurrentPatientMsg().ID; //保存用户,一旦更改用户重新初始化
|
||
}
|
||
|
||
else
|
||
{
|
||
m_isImportParamWidget = 0; //重新更新初始化
|
||
|
||
}
|
||
//如果不是参数页面进来,重新初始化训练选择页面
|
||
if(!isMoreConfgClick)
|
||
{
|
||
ui->upLimp_Button->setChecked(true);
|
||
ui->activePassive1_Button->setChecked(true);
|
||
ui->gameDisplay_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/game1.png);");
|
||
m_gameIDChecked = 0;
|
||
}
|
||
else
|
||
{
|
||
isMoreConfgClick = 0;
|
||
}
|
||
|
||
|
||
//更改用户重新初始化
|
||
if(m_userID != CurrentUserData::getInstace()->getCurrentPatientMsg().ID)
|
||
{
|
||
m_userID = CurrentUserData::getInstace()->getCurrentPatientMsg().ID;
|
||
|
||
ui->upLimp_Button->setChecked(true);
|
||
|
||
//单上肢
|
||
#ifdef ONLYUPLIMP
|
||
ui->upLimp_Button->setChecked(true);
|
||
#endif
|
||
|
||
//单下肢
|
||
#ifdef ONLYDOWNLIMP
|
||
ui->downLimp_Button->setChecked(true);
|
||
|
||
#endif
|
||
ui->activePassive1_Button->setChecked(true);
|
||
ui->gameDisplay_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/game1.png);");
|
||
m_gameIDChecked = 0;
|
||
}
|
||
qDebug() <<"训练类型:"<<m_trainType;
|
||
|
||
//setTrainType(m_trainType); //选择单塌车、FES塌车
|
||
|
||
/*
|
||
|
||
*/
|
||
|
||
/*ui->spasmACW1_RadioButton->setChecked(true);
|
||
ui->spasmACW2_RadioButton->setChecked(true);
|
||
|
||
//预设定值上肢不超10,下肢不超15
|
||
ui->speed1_ComboBox->setCurrentIndex(8);
|
||
ui->upSpeed2_ComboBox->setCurrentIndex(8);
|
||
|
||
ui->resistance1_ComboBox->setCurrentIndex(4);
|
||
ui->upResistance2_ComboBox->setCurrentIndex(4);
|
||
|
||
ui->trainTime1_ComboBox->setCurrentIndex(19);
|
||
ui->upTrainTime2_ComboBox->setCurrentIndex(19);*/
|
||
qDebug()<<ui->upLimp_Button->isChecked() <<ui->verticalUpLimp_Button->isChecked() << ui->downLimp_Button->isChecked() << ui->upDownLimp_Button->isChecked();
|
||
qDebug()<<ui->activePassive1_Button->isChecked() <<ui->passive1_Button->isChecked() << ui->active1_Button->isChecked() << ui->assistant1_Button->isChecked() << ui->speedTrain_Button->isChecked();
|
||
|
||
|
||
}
|
||
|
||
|
||
//上下肢切换StackedWidget-不需要
|
||
/*
|
||
void ArmOrLeg::on_upDownLimp_RadioButton_toggled(bool checked)
|
||
{
|
||
if(checked)
|
||
ui->stackedWidget->setCurrentIndex(1);
|
||
else
|
||
ui->stackedWidget->setCurrentIndex(0);
|
||
//测试
|
||
//if(checked)
|
||
// ui->gameStackedWidget->setCurrentIndex(2);
|
||
|
||
}
|
||
*/
|
||
|
||
//单上肢、下肢高级设置
|
||
void ArmOrLeg::on_advanced1_Btn_clicked()
|
||
{
|
||
m_advanceDialog->show();
|
||
m_advanceDialog->exec();
|
||
ST_AdvancedParam st_advancedParam = m_advanceDialog->getValue();
|
||
Q_UNUSED(st_advancedParam)
|
||
}
|
||
|
||
//四肢中的上肢
|
||
void ArmOrLeg::on_upAdvanced2_Btn_clicked()
|
||
{
|
||
m_advanceDialog->show();
|
||
m_advanceDialog->exec();
|
||
ST_AdvancedParam st_advancedParam = m_advanceDialog->getValue();
|
||
Q_UNUSED(st_advancedParam)
|
||
}
|
||
|
||
//四肢中的下肢
|
||
void ArmOrLeg::on_downAdvanced2_Btn_clicked()
|
||
{
|
||
m_advanceDialog->show();
|
||
m_advanceDialog->exec();
|
||
ST_AdvancedParam st_advancedParam = m_advanceDialog->getValue();
|
||
Q_UNUSED(st_advancedParam)
|
||
}
|
||
|
||
//下一步--进入FES界面
|
||
void ArmOrLeg::on_next_Btn_clicked()
|
||
{
|
||
MainWindowPageControl::getInstance()->setCurrentPage(BicycleToFes_E);
|
||
}
|
||
|
||
//确认参数--进入游戏,修改
|
||
|
||
void ArmOrLeg::on_confirm_Btn_clicked()
|
||
{
|
||
m_isClickedGameStart ++; //m_isClickedGameStart=1为点击了一次,如果在点击m_isClickedGameStart则不启动游戏
|
||
//qDebug()<<"m_isClickedGameStart="<<m_isClickedGameStart;
|
||
if(m_isClickedGameStart >1) return; //避免出现Windows阻塞游戏,系统反应迟钝,出现多个提示框
|
||
|
||
if(ui->upLimp_Button->isChecked() || ui->upDownLimp_Button->isChecked())
|
||
{
|
||
m_verticalToHorizontal->exec();
|
||
if(m_verticalToHorizontal->getConfirmState())
|
||
; //点击确认
|
||
else
|
||
{
|
||
m_isClickedGameStart = 0;
|
||
return; //点击取消
|
||
}
|
||
}
|
||
else if(ui->verticalUpLimp_Button->isChecked())
|
||
{
|
||
m_horizontalToVertical->exec();
|
||
if(m_horizontalToVertical->getConfirmState())
|
||
; //点击确认
|
||
else
|
||
{
|
||
m_isClickedGameStart = 0;
|
||
return; //点击取消
|
||
}
|
||
}
|
||
|
||
isClickedSave = 0; //开始游戏重新初始化点击了保存
|
||
saveTrainParam();
|
||
if(m_gameState)
|
||
return;
|
||
m_gameState = true;
|
||
QTimer::singleShot(3000,this,[this](){
|
||
m_gameState = false;
|
||
});
|
||
|
||
IceModule::getInstance()->setGameType(1);
|
||
|
||
E_LANGUAGE language = LanguageManager::getInstance()->getCurrentLanguage();
|
||
|
||
if (language == Chinese_E)
|
||
{
|
||
GameControl::getInstance()->playTipMusic("./DependFile/Music/sitdown.MP3");
|
||
}
|
||
else if (language == English_E) //初始化英文暂停和结束
|
||
{
|
||
GameControl::getInstance()->playTipMusic("./DependFile/Music/sitdown_En.MP3");
|
||
}
|
||
ST_BicycleParam st_bicycleParam;
|
||
emit signalGetBicycleParam();
|
||
/*
|
||
if(ui->upLimp_Button->isChecked())
|
||
st_bicycleParam.bodyPart = 0;
|
||
else if(ui->downLimp_Button->isChecked())
|
||
st_bicycleParam.bodyPart = 1;
|
||
else if(ui->upDownLimp_Button->isChecked())
|
||
{
|
||
st_bicycleParam.bodyPart = 2;
|
||
|
||
//训练模式
|
||
if(ui->activePassive1_Button->isChecked())
|
||
st_bicycleParam.trainMode = 7; //四肢主被动
|
||
else if(ui->passive1_Button->isChecked())
|
||
st_bicycleParam.trainMode = 4; //四肢纯被动
|
||
}
|
||
*/
|
||
//改变训练参数
|
||
st_bicycleParam.trainTime = m_st_bicycleParam.trainTime;
|
||
st_bicycleParam.resistance = m_st_bicycleParam.resistance;
|
||
st_bicycleParam.speed = m_st_bicycleParam.speed;
|
||
|
||
st_bicycleParam.direction = m_st_bicycleParam.direction;
|
||
st_bicycleParam.spasmLevel = m_st_bicycleParam.spasmLevel;
|
||
st_bicycleParam.spasmSwitch = m_st_bicycleParam.spasmSwitch;
|
||
|
||
//上肢、垂直上肢、下肢、上下肢
|
||
if(ui->upLimp_Button->isChecked())
|
||
st_bicycleParam.bodyPart = 0;
|
||
else if(ui->verticalUpLimp_Button->isChecked())
|
||
st_bicycleParam.bodyPart = 3;
|
||
else if(ui->downLimp_Button->isChecked())
|
||
st_bicycleParam.bodyPart = 1;
|
||
else if(ui->upDownLimp_Button->isChecked())
|
||
st_bicycleParam.bodyPart = 2;
|
||
|
||
//7是单支训练模式
|
||
if(!ui->upDownLimp_Button->isChecked())
|
||
{
|
||
if(ui->passive1_Button->isChecked())
|
||
st_bicycleParam.trainMode = 0;
|
||
else if(ui->active1_Button->isChecked())
|
||
st_bicycleParam.trainMode = 1;
|
||
else if(ui->assistant1_Button->isChecked())
|
||
st_bicycleParam.trainMode = 2;
|
||
else if(ui->speedTrain_Button->isChecked())
|
||
st_bicycleParam.trainMode = 3;
|
||
else if(ui->activePassive1_Button->isChecked())
|
||
st_bicycleParam.trainMode = 10;
|
||
}
|
||
else
|
||
{
|
||
if(ui->passive1_Button->isChecked())
|
||
st_bicycleParam.trainMode = 4;
|
||
else if(ui->activePassive1_Button->isChecked())
|
||
st_bicycleParam.trainMode = 7;
|
||
}
|
||
|
||
st_bicycleParam.direction = m_st_bicycleParam.direction;
|
||
|
||
|
||
GameControl::getInstance()->setCurrentGame(m_gameIDChecked + 1);
|
||
st_bicycleParam.controlState = 0;
|
||
IceModule::getInstance()->setBicycleParam(st_bicycleParam);
|
||
|
||
//test:
|
||
qDebug() <<"游戏方向:"<< st_bicycleParam.direction;
|
||
qDebug()<<"训练时间:"<<st_bicycleParam.trainTime;
|
||
qDebug()<<"训练阻力:"<<st_bicycleParam.resistance;
|
||
|
||
|
||
|
||
qDebug()<<"未抓取前:"<<this->winId();
|
||
//m_hwndId = (HWND)this->winId();
|
||
//SetWindowPos(m_hwndId)
|
||
//SetWindowPos(m_hwndId, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
|
||
/*
|
||
* QPixmap downPicture = this->grab();
|
||
QString dirPath = QApplication::applicationDirPath() + "/DependFile/Source/trainDisplayPage";
|
||
QDir resultDir(dirPath);
|
||
if(!resultDir.exists())
|
||
qDebug()<<"保存图片失败";
|
||
downPicture.save(dirPath + "/downPicture.png");
|
||
emit saveUpPictureSignal();
|
||
*/
|
||
//if(m_protectGameStart->setDownPicture(downPicture))
|
||
//m_protectGameStart->move(0,100);
|
||
m_protectGameStart->show();
|
||
|
||
//ui->label_2->setPixmap(downPicture);
|
||
//
|
||
|
||
//从此处启动游戏
|
||
MainWindowPageControl::getInstance()->setCurrentPage(TrainingPage_E);
|
||
Sleep(5000);
|
||
m_protectGameStart->close();
|
||
|
||
//训练部位
|
||
/*
|
||
if(ui->upLimp_RadioButton->isChecked())
|
||
st_bicycleParam.bodyPart = 0;
|
||
else if(ui->downLimp_RadioButton->isChecked())
|
||
st_bicycleParam.bodyPart = 1;
|
||
else if(ui->upDownLimp_RadioButton->isChecked())
|
||
{
|
||
st_bicycleParam.bodyPart = 2;
|
||
|
||
//训练模式
|
||
if(ui->activePassive2_RadioButton->isChecked())
|
||
st_bicycleParam.trainMode = 7; //四肢主被动
|
||
else if(ui->passive2_RadioButton->isChecked())
|
||
st_bicycleParam.trainMode = 4; //四肢纯被动
|
||
//训练时间
|
||
st_bicycleParam.trainTime = ui->upTrainTime2_ComboBox->currentText().toUInt();
|
||
//训练阻力
|
||
st_bicycleParam.resistance = ui->upResistance2_ComboBox->currentText().toInt();
|
||
//训练速度
|
||
st_bicycleParam.speed = ui->upSpeed2_ComboBox->currentText().toInt();
|
||
//转向
|
||
if(ui->CW2_RadioButton->isChecked())
|
||
st_bicycleParam.direction = 1;
|
||
else if(ui->ACW2_RadioButton->isChecked())
|
||
st_bicycleParam.direction = 0;
|
||
//痉挛保护
|
||
if(ui->spasmACW2_RadioButton->isChecked())
|
||
st_bicycleParam.spasmType = 0;
|
||
// else if(ui->spasmCW2_RadioButton->isChecked())
|
||
// st_bicycleParam.spasmType = 1;
|
||
|
||
if(ui->spasmClose2_RadioButton->isChecked())
|
||
st_bicycleParam.spasmSwitch = 0;
|
||
else
|
||
st_bicycleParam.spasmSwitch = 1;
|
||
|
||
//痉挛等级
|
||
if(ui->spasmLow2_RadioButton->isChecked())
|
||
st_bicycleParam.spasmLevel = 1;
|
||
else if(ui->spasmMidd2_RadioButton->isChecked())
|
||
st_bicycleParam.spasmLevel = 2;
|
||
else if(ui->spasmHigh2_RadioButton->isChecked())
|
||
st_bicycleParam.spasmLevel = 3;
|
||
|
||
if(ui->game1_radioButton->isChecked())
|
||
GameControl::getInstance()->setCurrentGame(1);
|
||
else if(ui->game2_radioButton->isChecked())
|
||
GameControl::getInstance()->setCurrentGame(2);
|
||
else if(ui->game3_radioButton->isChecked())
|
||
GameControl::getInstance()->setCurrentGame(3);
|
||
}
|
||
|
||
//单肢
|
||
if(!ui->upDownLimp_RadioButton->isChecked())
|
||
{
|
||
//单肢训练模式
|
||
if(ui->passive1_RadioButton->isChecked())
|
||
st_bicycleParam.trainMode = 0;
|
||
else if(ui->active1_RadioButton->isChecked())
|
||
st_bicycleParam.trainMode = 1;
|
||
else if(ui->assistant1_RadioButton->isChecked())
|
||
st_bicycleParam.trainMode = 2;
|
||
else if(ui->constant1_RadioButton->isChecked())
|
||
st_bicycleParam.trainMode = 3;
|
||
else if(ui->activePassive1_RadioButton->isChecked())
|
||
st_bicycleParam.trainMode = 10;
|
||
|
||
//训练时间
|
||
st_bicycleParam.trainTime = ui->trainTime1_ComboBox->currentText().toUInt();
|
||
//训练阻力
|
||
st_bicycleParam.resistance = ui->resistance1_ComboBox->currentText().toInt();
|
||
//训练速度
|
||
st_bicycleParam.speed = ui->speed1_ComboBox->currentText().toInt();
|
||
|
||
//转向
|
||
if(ui->CW1_RadioButton->isChecked())
|
||
st_bicycleParam.direction = 1;
|
||
else if(ui->ACW1_RadioButton->isChecked())
|
||
st_bicycleParam.direction = 0;
|
||
//痉挛保护
|
||
if(ui->spasmACW1_RadioButton->isChecked())
|
||
st_bicycleParam.spasmType = 0;
|
||
// else if(ui->spasmCW1_RadioButton->isChecked())
|
||
// st_bicycleParam.spasmType = 1;
|
||
|
||
if(ui->spasmClose1_RadioButton->isChecked())
|
||
st_bicycleParam.spasmSwitch = 0;
|
||
else
|
||
st_bicycleParam.spasmSwitch = 1;
|
||
|
||
//痉挛等级
|
||
if(ui->spasmLow1_RadioButton->isChecked())
|
||
st_bicycleParam.spasmLevel = 3;
|
||
else if(ui->spasmMidd1_RadioButton->isChecked())
|
||
st_bicycleParam.spasmLevel = 2;
|
||
else if(ui->spasmHigh1_RadioButton->isChecked())
|
||
st_bicycleParam.spasmLevel = 1;
|
||
|
||
|
||
|
||
//游戏选择
|
||
if(ui->game4_RadioButton->isChecked())
|
||
GameControl::getInstance()->setCurrentGame(4);
|
||
else if(ui->game2_RadioButton->isChecked())
|
||
GameControl::getInstance()->setCurrentGame(2);
|
||
else if(ui->game3_RadioButton->isChecked())
|
||
GameControl::getInstance()->setCurrentGame(3);
|
||
else if(ui->game1_RadioButton->isChecked())
|
||
GameControl::getInstance()->setCurrentGame(1);
|
||
}
|
||
|
||
|
||
st_bicycleParam.controlState = 0;
|
||
IceModule::getInstance()->setBicycleParam(st_bicycleParam);
|
||
|
||
//从此处启动游戏
|
||
MainWindowPageControl::getInstance()->setCurrentPage(TrainingPage_E);
|
||
*/
|
||
}
|
||
|
||
|
||
|
||
//7.设置可见:不修改
|
||
/*
|
||
|
||
void ArmOrLeg::on_spasmClose2_RadioButton_toggled(bool checked)
|
||
{
|
||
ui->groupBox_17->setEnabled(!checked);
|
||
}
|
||
|
||
|
||
void ArmOrLeg::on_spasmClose1_RadioButton_toggled(bool checked)
|
||
{
|
||
ui->groupBox_8->setEnabled(!checked);
|
||
}
|
||
|
||
*/
|
||
|
||
//单肢速度设置:需要修改
|
||
/*
|
||
void ArmOrLeg::on_speed1_ComboBox_currentTextChanged(const QString &arg1)
|
||
{
|
||
int speed = arg1.toInt();
|
||
if(speed > 30)
|
||
{
|
||
ParamTipsDialog tipDialog;
|
||
tipDialog.setParamTipsMsg(tr("设定速度已超30r/min,确认使用该速度训练吗?"));
|
||
tipDialog.exec();
|
||
if(0 == tipDialog.getResult())
|
||
{
|
||
ui->speed1_ComboBox->setCurrentIndex(28);
|
||
return;
|
||
}
|
||
}
|
||
}
|
||
*/
|
||
|
||
//四肢速度设置
|
||
void ArmOrLeg::on_upSpeed2_ComboBox_currentTextChanged(const QString &arg1)
|
||
{
|
||
int speed = arg1.toInt();
|
||
if(speed > 30)
|
||
{
|
||
ParamTipsDialog tipDialog;
|
||
tipDialog.setParamTipsMsg(tr("设定速度已超30r/min,确认使用该速度训练吗?"));
|
||
tipDialog.exec();
|
||
if(0 == tipDialog.getResult())
|
||
{
|
||
ui->upSpeed2_ComboBox->setCurrentIndex(28);
|
||
return;
|
||
}
|
||
}
|
||
}
|
||
|
||
//8.修改英文:修改
|
||
|
||
void ArmOrLeg::changeEvent(QEvent* event)
|
||
{
|
||
switch (event->type())
|
||
{
|
||
case QEvent::LanguageChange:
|
||
{
|
||
E_LANGUAGE language = LanguageManager::getInstance()->getCurrentLanguage();
|
||
switch(language)
|
||
{
|
||
case Chinese_E:
|
||
{
|
||
// ui->trainPart_GroupBox->setStyleSheet("border-image: url(:/DependFile/Source/trainPage/train_part.png);");
|
||
// ui->trainMode_GroupBox->setStyleSheet("border-image: url(:/DependFile/Source/trainPage/train_mode.png);");
|
||
// ui->trainTime_GroupBox->setStyleSheet("border-image: url(:/DependFile/Source/trainPage/train_time.png);");
|
||
// ui->resistance_GroupBox->setStyleSheet("border-image: url(:/DependFile/Source/trainPage/train_force.png);");
|
||
// ui->speed_GroupBox->setStyleSheet("border-image: url(:/DependFile/Source/trainPage/train_speed.png);");
|
||
// ui->turn_GroupBox->setStyleSheet("border-image: url(:/DependFile/Source/trainPage/train_turn.png);");
|
||
// ui->spasmProtect_GroupBox->setStyleSheet("border-image: url(:/DependFile/Source/trainPage/spasm_control.png);");
|
||
// ui->spasmLevel_GroupBox->setStyleSheet("border-image: url(:/DependFile/Source/trainPage/spasm_level.png);");
|
||
// ui->game_GroupBox->setStyleSheet("border-image: url(:/DependFile/Source/trainPage/train_game.png);");
|
||
}
|
||
break;
|
||
case English_E:
|
||
{
|
||
// ui->trainPart_GroupBox->setStyleSheet("border-image: url(:/DependFile/Source/trainPage/train_part_E.png);");
|
||
// ui->trainMode_GroupBox->setStyleSheet("border-image: url(:/DependFile/Source/trainPage/train_mode_E.png);");
|
||
// ui->trainTime_GroupBox->setStyleSheet("border-image: url(:/DependFile/Source/trainPage/train_time_E.png);");
|
||
// ui->resistance_GroupBox->setStyleSheet("border-image: url(:/DependFile/Source/trainPage/train_force_E.png);");
|
||
// ui->speed_GroupBox->setStyleSheet("border-image: url(:/DependFile/Source/trainPage/train_speed_E.png);");
|
||
// ui->turn_GroupBox->setStyleSheet("border-image: url(:/DependFile/Source/trainPage/train_turn_E.png);");
|
||
// ui->spasmProtect_GroupBox->setStyleSheet("border-image: url(:/DependFile/Source/trainPage/spasm_control_E.png);");
|
||
// ui->spasmLevel_GroupBox->setStyleSheet("border-image: url(:/DependFile/Source/trainPage/spasm_level_E.png);");
|
||
// ui->game_GroupBox->setStyleSheet("border-image: url(:/DependFile/Source/trainPage/train_game_E.png);");
|
||
}
|
||
break;
|
||
}
|
||
ui->retranslateUi(this);
|
||
}
|
||
break;
|
||
default:
|
||
QWidget::changeEvent(event);
|
||
break;
|
||
}
|
||
|
||
}
|
||
|
||
//由FES界面启动
|
||
void ArmOrLeg::slotStartGame()
|
||
{
|
||
//FES模式下只有单上单下肢
|
||
IceModule::getInstance()->setGameType(2);
|
||
startFESGamme();
|
||
}
|
||
|
||
//9.导入处方:修改
|
||
|
||
void ArmOrLeg::on_importPrescription_Btn_clicked()
|
||
{
|
||
|
||
ST_TrainParam st_trainParam;
|
||
|
||
|
||
//查询用户表,如果是游客状态,弹出对话框不读取处方并返回
|
||
//int userID = CurrentUserData::getInstace()->getCurrentPatientMsg().ID;
|
||
// QString queryStr1(QString("select * from PatientTable where ID = '%1' order by 'ID'").arg(userID));
|
||
|
||
|
||
int ID = CurrentUserData::getInstace()->getCurrentPatientMsg().ID;
|
||
|
||
QString queryStr(QString("select * from TrainParamTable where ID = '%1' order by 'ID'").arg(ID));
|
||
|
||
//训练参数表只有一条记录
|
||
if(CDatabaseInterface::getInstance()->exec(queryStr))
|
||
{
|
||
if(CDatabaseInterface::getInstance()->getValuesSize()>0)
|
||
{
|
||
st_trainParam = variantMapToTrainParam(CDatabaseInterface::getInstance()->getValues(0,1).at(0));
|
||
} //查询表没有处方
|
||
else
|
||
{
|
||
m_prescriptionDialog->exec();
|
||
return ;
|
||
}
|
||
}
|
||
qDebug() <<"速度、阻力:"<< st_trainParam.trainSpeed <<st_trainParam.trainResistance;
|
||
//导入处方显示
|
||
|
||
//训练部位
|
||
if(st_trainParam.trainLimp == 0)
|
||
ui->upLimp_Button->setChecked(true);
|
||
else if(st_trainParam.trainLimp == 3)
|
||
ui->verticalUpLimp_Button->setChecked(true);
|
||
else if(st_trainParam.trainLimp == 1)
|
||
ui->downLimp_Button->setChecked(true);
|
||
else if(st_trainParam.trainLimp == 2)
|
||
ui->upDownLimp_Button->setChecked(true);
|
||
|
||
//训练模式
|
||
/*
|
||
if(st_trainParam.trainMode == 1)
|
||
ui->passive1_Button->setChecked(true);
|
||
else if(st_trainParam.trainMode == 2 )
|
||
ui->active1_Button->setChecked(true);
|
||
else if(st_trainParam.trainMode == 3)
|
||
ui->assistant1_Button->setChecked(true);
|
||
else if(st_trainParam.trainMode == 4)
|
||
ui->speedTrain_Button->setChecked(true);
|
||
else if(st_trainParam.trainMode == 5)
|
||
ui->activePassive1_Button->setChecked(true);
|
||
*/
|
||
|
||
if(st_trainParam.trainMode == 0 || st_trainParam.trainMode == 4)
|
||
ui->passive1_Button->setChecked(true);
|
||
else if( st_trainParam.trainMode == 1 )//正常主动=1,上下肢被动=4
|
||
ui->active1_Button->setChecked(true);
|
||
else if(st_trainParam.trainMode == 2)
|
||
ui->assistant1_Button->setChecked(true);
|
||
else if(st_trainParam.trainMode == 3)
|
||
ui->speedTrain_Button->setChecked(true);
|
||
else if(st_trainParam.trainMode == 10 || st_trainParam.trainMode == 7)//7为上下肢主被动、10为所有模式主被动
|
||
ui->activePassive1_Button->setChecked(true);
|
||
|
||
|
||
|
||
|
||
//设置游戏:
|
||
if(st_trainParam.gameID == 1)
|
||
{
|
||
ui->gameDisplay_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/game1.png);");
|
||
m_gameIDChecked = 0;
|
||
}
|
||
else if(st_trainParam.gameID == 2)
|
||
{
|
||
ui->gameDisplay_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/game2.png);");
|
||
m_gameIDChecked = 1;
|
||
}
|
||
else if(st_trainParam.gameID == 3)
|
||
{
|
||
ui->gameDisplay_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/game3.png);");
|
||
m_gameIDChecked = 2;
|
||
}else if(st_trainParam.gameID == 4)
|
||
{
|
||
ui->gameDisplay_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/game4.png);");
|
||
m_gameIDChecked = 3;
|
||
}
|
||
//发送训练参数
|
||
ST_BicycleParam st_bicycleParam;
|
||
|
||
st_bicycleParam.trainTime = st_trainParam.trainTime;
|
||
st_bicycleParam.resistance = st_trainParam.trainResistance;
|
||
st_bicycleParam.speed = st_trainParam.trainSpeed;
|
||
|
||
st_bicycleParam.direction = st_trainParam.trainDirection;
|
||
st_bicycleParam.spasmLevel = st_trainParam.spasmLevel;
|
||
st_bicycleParam.spasmSwitch = st_trainParam.spasmProtect;
|
||
|
||
//修改未点击设置就没加载处方的逻辑
|
||
m_st_bicycleParam.trainTime = st_trainParam.trainTime; ;
|
||
m_st_bicycleParam.resistance = st_trainParam.trainResistance;
|
||
m_st_bicycleParam.speed = st_trainParam.trainSpeed;;
|
||
|
||
m_st_bicycleParam.direction = st_trainParam.trainDirection;
|
||
m_st_bicycleParam.spasmLevel = st_trainParam.spasmLevel;
|
||
m_st_bicycleParam.spasmSwitch = st_trainParam.spasmProtect;
|
||
|
||
emit signalBicycleParamChanged(st_bicycleParam);
|
||
|
||
/*
|
||
if(st_trainParam.trainLimp == 4)
|
||
{
|
||
//2种模式的处方
|
||
ui->upDownLimp_RadioButton->setChecked(true);
|
||
if(st_trainParam.trainMode == 1)
|
||
ui->activePassive2_RadioButton->setChecked(true);
|
||
else if(st_trainParam.trainMode == 2 )
|
||
ui->passive2_RadioButton->setChecked(true);
|
||
|
||
ui->upTrainTime2_ComboBox->setCurrentText(QString::number(st_trainParam.trainTime));
|
||
ui->upResistance2_ComboBox->setCurrentText(QString::number(st_trainParam.trainResistance));
|
||
ui->upSpeed2_ComboBox->setCurrentText(QString::number(st_trainParam.trainSpeed));
|
||
|
||
if( st_trainParam.trainDirection == 0 ) //正向为0,反向为1
|
||
ui->CW2_RadioButton->setChecked(true);
|
||
else if(st_trainParam.trainDirection == 1 )
|
||
ui->ACW2_RadioButton->setChecked(true);
|
||
|
||
if(st_trainParam.spasmProtect == 0 ) //关闭为0,反转为1
|
||
ui->spasmClose2_RadioButton->setChecked(true);
|
||
else if(st_trainParam.spasmProtect == 1)
|
||
ui->spasmACW2_RadioButton->setChecked(true);
|
||
|
||
if(st_trainParam.spasmLevel == 1) //低、中、高为1、2、3
|
||
ui->spasmLow2_RadioButton->setChecked(true);
|
||
else if(st_trainParam.spasmLevel == 2)
|
||
ui->spasmMidd2_RadioButton->setChecked(true);
|
||
else if(st_trainParam.spasmLevel == 3)
|
||
ui->spasmHigh2_RadioButton->setChecked(true);
|
||
|
||
if(st_trainParam.gameID == 1)
|
||
ui->game1_radioButton->setChecked(true);
|
||
else if(st_trainParam.gameID == 2)
|
||
ui->game2_radioButton->setChecked(true);
|
||
else if(st_trainParam.gameID == 3)
|
||
ui->game3_radioButton->setChecked(true);
|
||
}
|
||
else
|
||
{
|
||
//在只有5中训练模式处方
|
||
if(st_trainParam.trainLimp == 1)
|
||
ui->upLimp_RadioButton->setChecked(true);
|
||
else if(st_trainParam.trainLimp == 2)
|
||
ui->verticalUpLimp_RadioButton->setChecked(true);
|
||
else if(st_trainParam.trainLimp == 3)
|
||
ui->downLimp_RadioButton->setChecked(true);
|
||
|
||
if(st_trainParam.trainMode == 1)
|
||
ui->activePassive1_RadioButton->setChecked(true);
|
||
else if(st_trainParam.trainMode == 2)
|
||
ui->passive1_RadioButton->setChecked(true);
|
||
else if(st_trainParam.trainMode == 3)
|
||
ui->assistant1_RadioButton->setChecked(true);
|
||
else if(st_trainParam.trainMode == 4)
|
||
ui->constant1_RadioButton->setChecked(true);
|
||
else if(st_trainParam.trainMode == 5)
|
||
ui->activePassive1_RadioButton->setChecked(true);
|
||
|
||
ui->trainTime1_ComboBox->setCurrentText(QString::number(st_trainParam.trainTime));
|
||
ui->resistance1_ComboBox->setCurrentText(QString::number(st_trainParam.trainResistance));
|
||
ui->speed1_ComboBox->setCurrentText(QString::number(st_trainParam.trainSpeed));
|
||
|
||
|
||
if(st_trainParam.trainDirection == 0)
|
||
ui->CW1_RadioButton->setChecked(true);
|
||
else if(st_trainParam.trainDirection == 1)
|
||
ui->ACW1_RadioButton->setChecked(true);
|
||
|
||
|
||
if(st_trainParam.spasmProtect == 0)
|
||
ui->spasmClose1_RadioButton->setChecked(true);
|
||
else if(st_trainParam.spasmProtect == 1)
|
||
ui->spasmACW1_RadioButton->setChecked(true);
|
||
|
||
|
||
if(st_trainParam.spasmLevel == 1)
|
||
ui->spasmLow1_RadioButton->setChecked(true);
|
||
else if(st_trainParam.spasmLevel == 2)
|
||
ui->spasmMidd1_RadioButton->setChecked(true);
|
||
else if(st_trainParam.spasmLevel == 3)
|
||
ui->spasmHigh1_RadioButton->setChecked(true);
|
||
|
||
if(st_trainParam.gameID == 1)
|
||
ui->game1_radioButton->setChecked(true);
|
||
else if(st_trainParam.gameID == 2)
|
||
ui->game2_RadioButton->setChecked(true);
|
||
else if(st_trainParam.gameID == 3)
|
||
ui->game3_RadioButton->setChecked(true);
|
||
else if(st_trainParam.gameID == 4)
|
||
ui->game4_RadioButton->setChecked(true);
|
||
}
|
||
*/
|
||
}
|
||
|
||
|
||
|
||
/*垂直上肢点击:显示和影藏游戏,不需要
|
||
void ArmOrLeg::on_verticalUpLimp_RadioButton_toggled(bool checked)
|
||
{
|
||
//记录第一个StackWidget三个互斥的游戏中,选了哪一个,玩游戏4前都要unChecked
|
||
|
||
if(checked)
|
||
{
|
||
ui->game4Widget->setVisible(true);
|
||
ui->game4Widget->setStyleSheet("#game4Widget{background:white;border:none;}");
|
||
ui->game4_RadioButton->setChecked(true);
|
||
|
||
//方便游戏单独启动,把其余的按钮都不勾选
|
||
|
||
|
||
}
|
||
else
|
||
{
|
||
ui->game4Widget->setVisible(false);
|
||
ui->game4_RadioButton->setChecked(false);
|
||
|
||
}
|
||
|
||
}
|
||
*/
|
||
|
||
|
||
|
||
/*上下肢按钮点击时:不需要
|
||
void ArmOrLeg::on_downLimp_RadioButton_toggled(bool checked)
|
||
{
|
||
if(checked)
|
||
{
|
||
//ui->gameStackedWidget->setCurrentIndex(0);
|
||
}
|
||
}
|
||
*/
|
||
|
||
void ArmOrLeg::on_moreConfigure_Btn_clicked()
|
||
{
|
||
isMoreConfgClick = true;
|
||
MainWindowPageControl::getInstance()->setCurrentPage(TrainingParamSetting_E); //跳转到参数设置页面
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
//水平上肢改变状态,buttongroup
|
||
void ArmOrLeg::on_upLimp_Button_toggled(bool checked)
|
||
{
|
||
if(checked)
|
||
{
|
||
ui->upLimp_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/horizontalUp_checked.png);");
|
||
|
||
|
||
|
||
}
|
||
else //取消勾选
|
||
{
|
||
ui->upLimp_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/horizontalUp_unchecked.png);");
|
||
|
||
}
|
||
}
|
||
|
||
|
||
//垂直上肢改变状态
|
||
void ArmOrLeg::on_verticalUpLimp_Button_toggled(bool checked)
|
||
{
|
||
if(checked)
|
||
{
|
||
ui->verticalUpLimp_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/veritcalLimb_Checked.png);");
|
||
//需要改变游戏,切换到第三个游戏
|
||
ui->gameDisplay_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/game4.png);");
|
||
m_gameIDChecked = 3;
|
||
|
||
//设置游戏不可调整
|
||
ui->backward_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/left_forbid.png);");
|
||
ui->forward_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/right_forbid.png);");
|
||
|
||
|
||
|
||
}
|
||
else //取消勾选
|
||
{
|
||
ui->verticalUpLimp_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/veritcalLimb_unChecked.png);");
|
||
ui->gameDisplay_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/game1.png);");
|
||
m_gameIDChecked = 0;
|
||
|
||
//设置游戏不可调整
|
||
ui->backward_Btn->setStyleSheet("border-image:url(:/DependFile/Source/gamePage/leftChange.png);");
|
||
ui->forward_Btn->setStyleSheet("border-image:url(:/DependFile/Source/gamePage/rightChange.png);");
|
||
|
||
}
|
||
}
|
||
|
||
//下肢改变状态
|
||
void ArmOrLeg::on_downLimp_Button_toggled(bool checked)
|
||
{
|
||
qDebug() <<"下肢切换"<<checked;
|
||
if(checked )
|
||
{
|
||
ui->downLimp_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/limbModel_Checked.png);");
|
||
|
||
}
|
||
else //取消勾选
|
||
{
|
||
ui->downLimp_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/limbModel_unChecked.png);");
|
||
}
|
||
}
|
||
|
||
|
||
//上下肢改变状态:需要设置主动训练、助力训练、等速训练不能显示
|
||
void ArmOrLeg::on_upDownLimp_Button_toggled(bool checked)
|
||
{
|
||
//
|
||
if(checked)
|
||
{
|
||
ui->upDownLimp_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/upDown_checked.png);");
|
||
//选择到主被动模式,避免选中之前不可选的,并管相比另外另3种模式
|
||
// ui->activePassive1_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/activePassive_checked.png);");
|
||
ui->activePassive1_Button->setChecked(true);
|
||
|
||
ui->active1_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/activeTrain_forbidchecked.png);");
|
||
ui->assistant1_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/assistedTrain_forbidCheck.png);");
|
||
ui->speedTrain_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/speedModel_forbidcheck.png);");
|
||
|
||
|
||
//设置三种模式不可选
|
||
ui->active1_Button->setCheckable(false);
|
||
ui->assistant1_Button->setCheckable(false);
|
||
ui->speedTrain_Button->setCheckable(false);
|
||
}
|
||
else //取消勾选
|
||
{
|
||
ui->upDownLimp_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/upDown_unchecked.png);");
|
||
//恢复可选3中模式
|
||
ui->active1_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/activeTrain_unchecked.png);");
|
||
ui->assistant1_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/assistedTrain_unChecked.png);");
|
||
ui->speedTrain_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/speedModel_unchecked.png);");
|
||
|
||
//游戏恢复可调
|
||
|
||
|
||
ui->active1_Button->setCheckable(true);
|
||
ui->assistant1_Button->setCheckable(true);
|
||
ui->speedTrain_Button->setCheckable(true);
|
||
}
|
||
}
|
||
|
||
|
||
//主被动模式:改变状态
|
||
void ArmOrLeg::on_activePassive1_Button_toggled(bool checked)
|
||
{
|
||
if(checked )
|
||
{
|
||
ui->activePassive1_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/activePassive_checked.png);");
|
||
|
||
}
|
||
else //取消勾选
|
||
{
|
||
ui->activePassive1_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/activePassive_unchecked.png);");
|
||
|
||
}
|
||
}
|
||
|
||
//被动模式:改变状态
|
||
void ArmOrLeg::on_passive1_Button_toggled(bool checked)
|
||
{
|
||
if(checked )
|
||
{
|
||
ui->passive1_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/passiveModel_CHecked.png);");
|
||
|
||
}
|
||
else //取消勾选
|
||
{
|
||
ui->passive1_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/passiveModel_unCHeck.png);");
|
||
}
|
||
}
|
||
|
||
//主动模式:改变状态
|
||
void ArmOrLeg::on_active1_Button_toggled(bool checked)
|
||
{
|
||
if(checked )
|
||
{
|
||
ui->active1_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/activeTrain_checked.png);");
|
||
// if(ui->verticalUpLimp_Button->isChecked())
|
||
// {
|
||
// //设置游戏不可调整
|
||
// ui->backward_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/left_forbid.png);");
|
||
// ui->forward_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/right_forbid.png);");
|
||
// }
|
||
|
||
|
||
|
||
|
||
}
|
||
else //取消勾选
|
||
{
|
||
ui->active1_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/activeTrain_unchecked.png);");
|
||
// if(ui->verticalUpLimp_Button->isChecked())
|
||
// {
|
||
// //设置游戏不可调整
|
||
// //设置游戏不可调整
|
||
// ui->backward_Btn->setStyleSheet("border-image:url(:/DependFile/Source/gamePage/leftChange.png);");
|
||
// ui->forward_Btn->setStyleSheet("border-image:url(:/DependFile/Source/gamePage/rightChange.png);");
|
||
|
||
// }
|
||
}
|
||
}
|
||
|
||
//助力模式:改变状态
|
||
void ArmOrLeg::on_assistant1_Button_toggled(bool checked)
|
||
{
|
||
if(checked )
|
||
{
|
||
ui->assistant1_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/assistedTrain_Checked.png);");
|
||
|
||
}
|
||
else //取消勾选
|
||
{
|
||
ui->assistant1_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/assistedTrain_unChecked.png);");
|
||
}
|
||
}
|
||
|
||
//等速模式:改变状态
|
||
void ArmOrLeg::on_speedTrain_Button_toggled(bool checked)
|
||
{
|
||
if(checked )
|
||
{
|
||
ui->speedTrain_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/speedModel_checked.png);");
|
||
|
||
}
|
||
else //取消勾选
|
||
{
|
||
ui->speedTrain_Button->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/speedModel_unchecked.png);");
|
||
}
|
||
}
|
||
|
||
//向右切换游戏
|
||
void ArmOrLeg::on_forward_Btn_clicked()
|
||
{
|
||
if(m_gameIDChecked != 3) //不是打鱼游戏就能切换
|
||
{
|
||
if(m_gameIDChecked == 0)
|
||
{
|
||
m_gameIDChecked = 1;
|
||
ui->gameDisplay_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/game2.png);");
|
||
}
|
||
else if(m_gameIDChecked == 1)
|
||
{
|
||
m_gameIDChecked = 2;
|
||
ui->gameDisplay_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/game3.png);");
|
||
}
|
||
else if(m_gameIDChecked == 2)
|
||
{
|
||
m_gameIDChecked = 0;
|
||
ui->gameDisplay_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/game1.png);");
|
||
}
|
||
}
|
||
qDebug() <<"游戏ID:"<< m_gameIDChecked + 1;
|
||
}
|
||
|
||
//向左切换游戏
|
||
void ArmOrLeg::on_backward_Btn_clicked()
|
||
{
|
||
if(m_gameIDChecked != 3) //不是打鱼游戏就能切换
|
||
{
|
||
if(m_gameIDChecked == 0)
|
||
{
|
||
m_gameIDChecked = 2;
|
||
ui->gameDisplay_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/game3.png);");
|
||
}
|
||
else if(m_gameIDChecked == 1)
|
||
{
|
||
m_gameIDChecked = 0;
|
||
ui->gameDisplay_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/game1.png);");
|
||
}
|
||
else if(m_gameIDChecked == 2)
|
||
{
|
||
m_gameIDChecked = 1;
|
||
ui->gameDisplay_Btn->setStyleSheet("border-image:url(:/DependFile/Source/trainDisplayPage/game2.png);");
|
||
}
|
||
}
|
||
qDebug() <<"游戏ID:"<< m_gameIDChecked + 1;
|
||
}
|
||
|
||
//接收参数界面来的参数
|
||
void ArmOrLeg::slotRecvTrainParamChanged(ST_BicycleParam st_bicycleParam)
|
||
{
|
||
qDebug() <<"时间、阻力、速度、转向、等级、是否保护"<< st_bicycleParam.trainTime << st_bicycleParam.resistance << st_bicycleParam.speed << st_bicycleParam.direction << st_bicycleParam.spasmLevel << st_bicycleParam.spasmSwitch;
|
||
m_st_bicycleParam = st_bicycleParam;
|
||
m_isImportParamWidget = 1; //保护这次数据传递不被ChangeEvent
|
||
|
||
isClickedSave = true; //点击了保存,之后在参数界面不断返回页不再event清空数据
|
||
}
|
||
|
||
//发送一键上机指令
|
||
|
||
|
||
void ArmOrLeg::on_YiJianShangJi_Btn_clicked()
|
||
{
|
||
m_machineStartDialog->show();
|
||
m_machineStartDialog->exec();
|
||
}
|
||
|
||
|
||
|
||
|