Files
gcs-nf/App/MenuBarUI/MenuBarUI.cpp
T

314 lines
7.4 KiB
C++
Raw Normal View History

#include "MenuBarUI.h"
2020-05-06 08:17:24 +08:00
#include "ui_MenuBarUI.h"
2020-05-12 16:16:06 +08:00
2020-05-06 08:17:24 +08:00
MenuBarUI::MenuBarUI(QWidget *parent) :
QWidget(parent),
ui(new Ui::MenuBarUI)
{
ui->setupUi(this);
2020-05-06 19:17:40 +08:00
2020-05-13 16:54:54 +08:00
//load qss
QFile file(":/qss/MenuBarUI.qss");
file.open(QFile::ReadOnly);
QTextStream filetext(&file);
QString stylesheet = filetext.readAll();
this->setStyleSheet(stylesheet);
file.close();
2020-05-06 19:17:40 +08:00
/*
timeRecord = new QDateTime();
2020-06-28 18:43:03 +08:00
timeRecord->setTime(QDateTime::currentDateTime().time());
2020-06-28 18:43:03 +08:00
qDebug() << "time" << timeRecord->time();
*/
ui->label_RecordTime->setText("00:00:00");
2020-06-28 18:43:03 +08:00
MessageTimer = new QTimer(this);
connect(MessageTimer,SIGNAL(timeout()),
this,SLOT(MessageTimeOut()));
2020-09-07 18:19:10 +08:00
2020-12-08 00:03:40 +08:00
showMessage(tr("Starting..."),5000);
2020-06-28 18:43:03 +08:00
2020-09-08 16:56:59 +08:00
setPushButtonState(state::unSelected,
state::unSelected,
state::unSelected,
2020-10-11 09:33:39 +08:00
state::unSelected,
state::unSelected,
state::Selected);
2020-09-08 16:56:59 +08:00
CurrentIndex = 5;
2020-09-08 16:56:59 +08:00
2020-11-20 18:57:45 +08:00
ui->label_Status->hide();
ui->pushButton_SelfTest->hide();
ui->pushButton_Flight->hide();
2020-11-20 18:57:45 +08:00
//setArm(true);
2020-05-06 08:17:24 +08:00
}
MenuBarUI::~MenuBarUI()
{
2020-08-11 16:48:15 +08:00
if(MessageTimer)
{
if(MessageTimer->isActive())
{
MessageTimer->stop();
}
delete MessageTimer;
}
2020-05-06 08:17:24 +08:00
delete ui;
}
2020-10-11 09:33:39 +08:00
void MenuBarUI::setPushButtonState(uint8_t state1,uint8_t state2,uint8_t state3,uint8_t state4,uint8_t state5,uint8_t state6)
2020-09-08 16:56:59 +08:00
{
ui->pushButton_Setting->setProperty("state",state1);
ui->pushButton_Setting->style()->unpolish(ui->pushButton_Setting);
ui->pushButton_Setting->style()->polish(ui->pushButton_Setting);
ui->pushButton_SelfTest->setProperty("state",state2);
ui->pushButton_SelfTest->style()->unpolish(ui->pushButton_SelfTest);
ui->pushButton_SelfTest->style()->polish(ui->pushButton_SelfTest);
ui->pushButton_Mission->setProperty("state",state3);
ui->pushButton_Mission->style()->unpolish(ui->pushButton_Mission);
ui->pushButton_Mission->style()->polish(ui->pushButton_Mission);
ui->pushButton_Flight->setProperty("state",state4);
ui->pushButton_Flight->style()->unpolish(ui->pushButton_Flight);
ui->pushButton_Flight->style()->polish(ui->pushButton_Flight);
ui->pushButton_Info->setProperty("state",state5);
ui->pushButton_Info->style()->unpolish(ui->pushButton_Info);
ui->pushButton_Info->style()->polish(ui->pushButton_Info);
2020-10-11 09:33:39 +08:00
2020-11-20 18:57:45 +08:00
ui->pushButton_Base->setProperty("state",state6);
ui->pushButton_Base->style()->unpolish(ui->pushButton_Base);
ui->pushButton_Base->style()->polish(ui->pushButton_Base);
2020-09-08 16:56:59 +08:00
}
2020-05-06 08:17:24 +08:00
void MenuBarUI::onClicked()
{
qDebug() << "click";
}
void MenuBarUI::on_pushButton_Setting_clicked()
{
CurrentIndex = 0;
2020-09-08 16:56:59 +08:00
setPushButtonState(state::Selected,
state::unSelected,
state::unSelected,
state::unSelected,
2020-10-11 09:33:39 +08:00
state::unSelected,
2020-09-08 16:56:59 +08:00
state::unSelected);
update();
emit IndexChanged(CurrentIndex);
2020-05-06 08:17:24 +08:00
}
void MenuBarUI::on_pushButton_SelfTest_clicked()
{
CurrentIndex = 1;
2020-09-08 16:56:59 +08:00
setPushButtonState(state::unSelected,
state::Selected,
state::unSelected,
state::unSelected,
2020-10-11 09:33:39 +08:00
state::unSelected,
2020-09-08 16:56:59 +08:00
state::unSelected);
update();
emit IndexChanged(CurrentIndex);
2020-05-06 08:17:24 +08:00
}
void MenuBarUI::on_pushButton_Mission_clicked()
{
CurrentIndex = 2;
2020-09-08 16:56:59 +08:00
setPushButtonState(state::unSelected,
state::unSelected,
state::Selected,
state::unSelected,
2020-10-11 09:33:39 +08:00
state::unSelected,
2020-09-08 16:56:59 +08:00
state::unSelected);
update();
emit IndexChanged(CurrentIndex);
2020-05-06 08:17:24 +08:00
}
void MenuBarUI::on_pushButton_Flight_clicked()
{
2020-11-20 18:57:45 +08:00
/*
if(CurrentIndex == 3)
{
CurrentIndex = 5;
ui->pushButton_Flight->setText(tr("Base"));
}
else
{
CurrentIndex = 3;
ui->pushButton_Flight->setText(tr("Flight"));
}
2020-11-20 18:57:45 +08:00
*/
CurrentIndex = 3;
2020-09-08 16:56:59 +08:00
setPushButtonState(state::unSelected,
state::unSelected,
state::unSelected,
state::Selected,
2020-10-11 09:33:39 +08:00
state::unSelected,
2020-09-08 16:56:59 +08:00
state::unSelected);
update();
emit IndexChanged(CurrentIndex);
2020-05-06 08:17:24 +08:00
}
void MenuBarUI::on_pushButton_Info_clicked()
2020-10-11 19:10:57 +08:00
{
CurrentIndex = 4;
2020-09-08 16:56:59 +08:00
setPushButtonState(state::unSelected,
state::unSelected,
state::unSelected,
state::unSelected,
2020-10-11 09:33:39 +08:00
state::Selected,
state::unSelected);
2020-09-08 16:56:59 +08:00
update();
emit IndexChanged(CurrentIndex);
2020-05-06 08:17:24 +08:00
}
2020-06-28 18:43:03 +08:00
2020-11-20 18:57:45 +08:00
void MenuBarUI::on_pushButton_Base_clicked()
{
CurrentIndex = 5;
setPushButtonState(state::unSelected,
state::unSelected,
state::unSelected,
state::unSelected,
state::unSelected,
state::Selected);
update();
emit IndexChanged(CurrentIndex);
}
2020-10-11 09:33:39 +08:00
2020-06-28 18:43:03 +08:00
void MenuBarUI::showMessage(const QString &message, int TimeOut)
{
2020-11-20 18:57:45 +08:00
ui->label_History_Status->setText(ui->label_Current_Status->text());
ui->label_Current_Status->setText(" " + message);
ui->label_Status->setText(" " + message);
2020-06-28 18:43:03 +08:00
//这句:如果小于0,那么不生成定时器,减少内存开支,因为小于0时,定时器永远不会触发
2020-08-12 22:12:44 +08:00
2020-06-28 18:43:03 +08:00
if(TimeOut > 0)
{
if(MessageTimer->isActive())
{
MessageTimer->stop();
}
MessageTimer->start(TimeOut);
}
else
{
if(MessageTimer->isActive())
{
MessageTimer->stop();
}
}
2020-11-20 18:57:45 +08:00
//发送信号给log
emit NewMessage(message);
2020-06-28 18:43:03 +08:00
}
void MenuBarUI::clearMessage()
{
ui->label_Status->clear();
2020-11-20 18:57:45 +08:00
//ui->label_History_Status->setText(ui->label_Current_Status->text());
//ui->label_Current_Status->setText(message);
2020-06-28 18:43:03 +08:00
}
void MenuBarUI::MessageTimeOut(void)
{
if(MessageTimer->isActive())
{
MessageTimer->stop();
}
clearMessage();
}
void MenuBarUI::setTargetPoint(int sysid,int Value)
{
//qDebug() << "sysid menubar" << sysid << sysID;
if(sysID == sysid)
{
int group = Value /1000;
int seq = Value %1000;
ui->label_TargetPoint->setText(tr("%1Group%2Point").arg(QString::number(group + 1)).arg(QString::number(seq,'f',0)));
2022-06-08 17:58:20 +08:00
}
}
void MenuBarUI::uav_selected(int sysid,int comp)
{
Q_UNUSED(comp)
if(sysid > 0)
{
sysID = sysid;
}
}
2020-06-28 18:43:03 +08:00
2020-12-15 13:47:14 +08:00
void MenuBarUI::setTargetAlt(QVariant Value)
{
2020-12-15 13:47:14 +08:00
ui->label_TargteAlt->setText(Value.toString());
}
void MenuBarUI::setX(float Value)
{
ui->label_X->setText(QString::number(Value,'f',1));
}
2020-06-28 18:43:03 +08:00
2020-11-17 15:30:22 +08:00
void MenuBarUI::setwp_Dist(float Value)
{
2020-12-04 11:33:50 +08:00
ui->label_wp_Dist->setText(QString::number(Value,'f',2));
}
2020-12-15 13:47:14 +08:00
void MenuBarUI::setTagetAirspeed(QVariant Value)
{
2020-12-15 13:47:14 +08:00
ui->label_TargetAirSpeed->setText(Value.toString());
}
void MenuBarUI::setFlightTime(QTime Value)
{
ui->label_RecordTime->setText(Value.toString("HH:mm:ss"));
}
2020-06-28 18:43:03 +08:00
2020-11-20 18:57:45 +08:00