156 lines
4.3 KiB
C++
156 lines
4.3 KiB
C++
|
#include "musclebutton.h"
|
||
|
#include "ui_musclebutton.h"
|
||
|
#include <QDebug>
|
||
|
#include <QMouseEvent>
|
||
|
#include <QPaintEvent>
|
||
|
#include <QGraphicsDropShadowEffect>
|
||
|
#include <QPixmap>
|
||
|
|
||
|
MuscleButton::MuscleButton(QWidget *parent) :
|
||
|
QWidget(parent),
|
||
|
ui(new Ui::MuscleButton),
|
||
|
isConnected(false)
|
||
|
{
|
||
|
ui->setupUi(this);
|
||
|
// QGraphicsDropShadowEffect * shadowEffect = new QGraphicsDropShadowEffect();
|
||
|
// shadowEffect->setYOffset(2);
|
||
|
// shadowEffect->setBlurRadius(12);
|
||
|
// shadowEffect->setColor(QColor(0,0,0,51));
|
||
|
// this->setGraphicsEffect(shadowEffect);
|
||
|
st_muscleParam.muscleId = 0;
|
||
|
}
|
||
|
|
||
|
MuscleButton::~MuscleButton()
|
||
|
{
|
||
|
delete ui;
|
||
|
}
|
||
|
|
||
|
void MuscleButton::paintEvent(QPaintEvent *event)
|
||
|
{
|
||
|
Q_UNUSED(event)
|
||
|
}
|
||
|
|
||
|
void MuscleButton::mousePressEvent(QMouseEvent *event)
|
||
|
{
|
||
|
Q_UNUSED(event)
|
||
|
emit muscleButtonClicked(m_id);
|
||
|
}
|
||
|
|
||
|
void MuscleButton::setMuscleParamButton(const ST_MuscleParam& param)
|
||
|
{
|
||
|
//左右肌肉图标
|
||
|
QString limpFlag;
|
||
|
if(param.muscleId > 30)
|
||
|
{
|
||
|
limpFlag= "";
|
||
|
}
|
||
|
else if(param.muscleId <= 15)
|
||
|
limpFlag = ":/DependFile/Source/channel/left.png";
|
||
|
else
|
||
|
limpFlag = ":/DependFile/Source/channel/right.png";
|
||
|
QPixmap pixmap;
|
||
|
pixmap.load(limpFlag);
|
||
|
ui->Image_Label->setPixmap(pixmap);
|
||
|
ui->muscle_Label->setText(param.muscleName );
|
||
|
ui->current_Label->setText(QString::number(param.minCurrent)+"~"+QString::number(param.maxCurrent) + "mA");
|
||
|
ui->plus_Label->setText(QString::number(param.plus) + "us");
|
||
|
ui->frequency_Label->setText(QString::number(param.frequency) + "Hz");
|
||
|
|
||
|
st_muscleParam = param;
|
||
|
}
|
||
|
|
||
|
void MuscleButton::setBLEBattery(uint8_t battery)
|
||
|
{
|
||
|
QPixmap pixmap;
|
||
|
QString img;
|
||
|
//qDebug() <<"电量:"<<battery;
|
||
|
//battery = 50;
|
||
|
if(battery <= 0)
|
||
|
img = ":/DependFile/Source/Fes/battery_0.png";
|
||
|
else if(0 < battery && battery < 25)
|
||
|
img = ":/DependFile/Source/Fes/battery_25.png";
|
||
|
else if(25 <= battery && battery < 50)
|
||
|
img = ":/DependFile/Source/Fes/battery_50.png";
|
||
|
else if(50 <= battery && battery < 75)
|
||
|
img = ":/DependFile/Source/Fes/battery_75.png";
|
||
|
else if(75<= battery && battery <= 100)
|
||
|
img = ":/DependFile/Source/Fes/battery_100.png";
|
||
|
pixmap.load(img);
|
||
|
ui->BLEBattery_Label->setPixmap(pixmap);
|
||
|
}
|
||
|
|
||
|
void MuscleButton::initWidget(QString title,int id)
|
||
|
{
|
||
|
ui->channel_Label->setText(title);
|
||
|
m_id = id;
|
||
|
}
|
||
|
|
||
|
void MuscleButton::setMuscleEnabled(bool enabled)
|
||
|
{
|
||
|
isConnected = enabled;
|
||
|
QString enabledStyle = "#groupBox{background: #E4F4FC;"
|
||
|
"border-radius: 6px;}";
|
||
|
QString disenabledStyle = "#groupBox{background: #EFEFEF;border-radius: 6px;}";
|
||
|
if(enabled)
|
||
|
ui->groupBox->setStyleSheet(enabledStyle);
|
||
|
else
|
||
|
ui->groupBox->setStyleSheet(disenabledStyle);
|
||
|
}
|
||
|
|
||
|
ST_MuscleParam MuscleButton::getMuscleParam()
|
||
|
{
|
||
|
ST_MuscleParam st_tmpMuscleParam;
|
||
|
st_tmpMuscleParam.frequency = ui->frequency_Label->text().remove("Hz").toInt();
|
||
|
st_tmpMuscleParam.plus = ui->plus_Label->text().remove("us").toInt();
|
||
|
QStringList currentList= ui->current_Label->text().remove("mA").split("~");
|
||
|
st_tmpMuscleParam.connectState = isConnected;
|
||
|
if(currentList.count() >1)
|
||
|
{
|
||
|
st_tmpMuscleParam.minCurrent = currentList.first().toInt();
|
||
|
st_tmpMuscleParam.maxCurrent = currentList.last().toInt();
|
||
|
}
|
||
|
st_tmpMuscleParam.muscleName = ui->muscle_Label->text();
|
||
|
st_tmpMuscleParam.muscleId = st_muscleParam.muscleId;
|
||
|
return st_tmpMuscleParam;
|
||
|
}
|
||
|
|
||
|
void MuscleButton::setConnectState(bool state)
|
||
|
{
|
||
|
QPixmap pixmap;
|
||
|
QString img;
|
||
|
if(state)
|
||
|
img = ":/DependFile/Source/channel/connected.png";
|
||
|
else
|
||
|
img = ":/DependFile/Source/channel/disconnected.png";
|
||
|
pixmap.load(img);
|
||
|
ui->connectState_Label->setPixmap(pixmap);
|
||
|
}
|
||
|
|
||
|
void MuscleButton::setCheckedFesType(E_FES_PAGE E_fesType)
|
||
|
{
|
||
|
if(E_fesType == ONLY_FES_E)
|
||
|
{
|
||
|
ui->muscle_Label->setVisible(false);
|
||
|
ui->Image_Label->setVisible(false);
|
||
|
}
|
||
|
else if(E_fesType == BICYCLE_FES_E)
|
||
|
{
|
||
|
ui->muscle_Label->setVisible(true);
|
||
|
ui->Image_Label->setVisible(true);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
void MuscleButton::changeEvent(QEvent* event)
|
||
|
{
|
||
|
switch (event->type())
|
||
|
{
|
||
|
case QEvent::LanguageChange:
|
||
|
ui->retranslateUi(this);
|
||
|
break;
|
||
|
default:
|
||
|
QWidget::changeEvent(event);
|
||
|
break;
|
||
|
}
|
||
|
}
|