#include "StatusUI.h" #include "ui_StatusUI.h" StatusUI::StatusUI(QWidget *parent) : QWidget(parent), ui(new Ui::StatusUI) { ui->setupUi(this); //load qss QFile file(":/qss/StatusUI.qss"); file.open(QFile::ReadOnly); QTextStream filetext(&file); QString stylesheet = filetext.readAll(); this->setStyleSheet(stylesheet); file.close(); setFixedWidth(465); /* ui->label_Warning_1_1->hide(); ui->label_Warning_1_2->hide(); ui->label_Warning_2_1->hide(); ui->label_Warning_2_2->hide(); ui->label_Warning_3_1->hide(); ui->label_Warning_3_2->hide(); ui->label_L1->hide(); ui->label_L2->hide(); ui->label_L3->hide(); ui->groupBox_Warn->hide(); */ //ui->label_VerticalMode->hide(); //ui->label_HorizonMode->hide(); //ui->label_navMode->hide(); int w = 150; int h = 20; ui->label_FlightMode->setFixedSize(w,h); ui->label_VerticalMode->setFixedSize(w,h); ui->label_HorizonMode->setFixedSize(w,h); //======================================== ui->label_1_Atteck->setFixedSize(w,h); ui->label_1_Slide->setFixedSize(w,h); ui->label_1_rol->setFixedSize(w,h); ui->label_1_pit->setFixedSize(w,h); ui->label_1_heading->setFixedSize(w,h); ui->label_1_alt->setFixedSize(w,h); ui->label_1_cas->setFixedSize(w,h); ui->label_1_tas->setFixedSize(w,h); ui->label_1_gs->setFixedSize(w,h); ui->label_1_ma->setFixedSize(w,h); ui->label_1_rate->setFixedSize(w,h); ui->label_2_rol->setFixedSize(w,h); ui->label_2_pit->setFixedSize(w,h); ui->label_2_heading->setFixedSize(w,h); ui->label_2_alt->setFixedSize(w,h); ui->label_2_cas->setFixedSize(w,h); ui->label_2_tas->setFixedSize(w,h); //======================================== ui->label_la_real->setFixedSize(w,h); ui->label_la_target->setFixedSize(w,h); ui->label_ra_real->setFixedSize(w,h); ui->label_ra_target->setFixedSize(w,h); ui->label_lv_real->setFixedSize(w,h); ui->label_lv_target->setFixedSize(w,h); ui->label_rv_real->setFixedSize(w,h); ui->label_rv_target->setFixedSize(w,h); ui->label_rud_real->setFixedSize(w,h); ui->label_rud_target->setFixedSize(w,h); //=================================== ui->label_thr->setFixedSize(w,h); ui->label_rpm->setFixedSize(w,h); ui->label_1_FuelLevel->setFixedSize(w,h); ui->label_2_FuelLevel->setFixedSize(w,h); ui->label_fuelPressure->setFixedSize(w,h); ui->label_temp_up->setFixedSize(w,h); ui->label_temp_right->setFixedSize(w,h); //=================================== ui->label_28_V->setFixedSize(w,h); ui->label_28_A->setFixedSize(w,h); ui->label_56_V->setFixedSize(w,h); ui->label_56_A->setFixedSize(w,h); //================================== ui->label_ssp->setFixedSize(w,h); ui->label_ssr->setFixedSize(w,h); //==================================== setColor(ui->label_FlightMode,state::inital); setColor(ui->label_VerticalMode,state::inital); setColor(ui->label_HorizonMode,state::inital); //================================== setColor(ui->label_1_Atteck,state::inital); setColor(ui->label_1_Slide,state::inital); setColor(ui->label_1_rol,state::inital); setColor(ui->label_1_pit,state::inital); setColor(ui->label_1_heading,state::inital); setColor(ui->label_1_alt,state::inital); setColor(ui->label_1_cas,state::inital); setColor(ui->label_1_tas,state::inital); setColor(ui->label_1_gs,state::inital); setColor(ui->label_1_ma,state::inital); setColor(ui->label_1_rate,state::inital); setColor(ui->label_2_rol,state::inital); setColor(ui->label_2_pit,state::inital); setColor(ui->label_2_heading,state::inital); setColor(ui->label_2_alt,state::inital); setColor(ui->label_2_tas,state::inital); //======================================== setColor(ui->label_la_real,state::inital); setColor(ui->label_la_target,state::inital); setColor(ui->label_ra_real,state::inital); setColor(ui->label_ra_target,state::inital); setColor(ui->label_lv_real,state::inital); setColor(ui->label_lv_target,state::inital); setColor(ui->label_rv_real,state::inital); setColor(ui->label_rv_target,state::inital); setColor(ui->label_rud_real,state::inital); setColor(ui->label_rud_target,state::inital); //=================================== setColor(ui->label_thr,state::inital); setColor(ui->label_rpm,state::inital); setColor(ui->label_1_FuelLevel,state::inital); setColor(ui->label_2_FuelLevel,state::inital); setColor(ui->label_fuelPressure,state::inital); setColor(ui->label_temp_up,state::inital); setColor(ui->label_temp_right,state::inital); //=================================== setColor(ui->label_28_V,state::inital); setColor(ui->label_28_A,state::inital); setColor(ui->label_56_V,state::inital); setColor(ui->label_56_A,state::inital); //================================== setColor(ui->label_ssp,state::inital); setColor(ui->label_ssr,state::inital); } StatusUI::~StatusUI() { delete ui; } void StatusUI::setColor(QWidget *w,state s) { w->setProperty("state",s); w->style()->unpolish(w); w->style()->polish(w); } void StatusUI::setValue(QLabel *w,QString s) { w->setText(s); } void StatusUI::setMode(uint32_t pos,QVariant value1,QVariant value2) { switch (pos) { case 1: ui->label_FlightMode->setText(value1.toString()); break; case 2: ui->label_VerticalMode->setText(value1.toString()); ui->label_HorizonMode->setText(value2.toString()); break; } } void StatusUI::setState(uint32_t pos, QVariant value1, QVariant value2) { switch (pos) { case 1: ui->label_1_Atteck->setText(value1.toString()); if(qAbs(value1.toFloat()) >= 20) { setColor(ui->label_1_Atteck,state::failure); } else { setColor(ui->label_1_Atteck,state::inital); } break; case 2: ui->label_1_Slide->setText(value1.toString()); if(qAbs(value1.toFloat()) >= 20) { setColor(ui->label_1_Slide,state::failure); } else { setColor(ui->label_1_Slide,state::inital); } break; case 3: ui->label_1_rol->setText(value1.toString()); ui->label_2_rol->setText(value2.toString()); if(qAbs(value1.toFloat()) >= 45) { setColor(ui->label_1_rol,state::failure); } else { setColor(ui->label_1_rol,state::inital); } break; case 4: ui->label_1_pit->setText(value1.toString()); ui->label_2_pit->setText(value2.toString()); if(qAbs(value1.toFloat()) >= 25) { setColor(ui->label_1_pit,state::failure); } else { setColor(ui->label_1_pit,state::inital); } break; case 5: ui->label_1_heading->setText(value1.toString()); ui->label_2_heading->setText(value2.toString()); break; case 6: ui->label_1_alt->setText(value1.toString()); ui->label_2_alt->setText(value2.toString()); break; case 7: ui->label_1_cas->setText(value1.toString()); ui->label_2_cas->setText(value2.toString()); if(value1.toFloat() <= 90) { setColor(ui->label_1_cas,state::failure); } else { setColor(ui->label_1_cas,state::inital); } break; case 8: ui->label_1_tas->setText(value1.toString()); ui->label_2_tas->setText(value2.toString()); if(value1.toFloat() <= 100) { setColor(ui->label_1_tas,state::failure); } else { setColor(ui->label_1_tas,state::inital); } break; case 9: ui->label_1_gs->setText(value1.toString()); if(value1.toFloat() <= 100) { setColor(ui->label_1_gs,state::failure); } else { setColor(ui->label_1_gs,state::inital); } break; case 10: ui->label_1_ma->setText(value1.toString()); break; case 11: ui->label_1_rate->setText(value1.toString()); if(value1.toFloat() <= -50) { setColor(ui->label_1_rate,state::failure); } else { setColor(ui->label_1_rate,state::inital); } break; } } void StatusUI::setServo(uint32_t pos,QVariant real,QVariant meas) { switch (pos) { case 1: ui->label_la_real->setText(real.toString()); ui->label_la_target->setText(meas.toString()); break; case 2: ui->label_ra_real->setText(real.toString()); ui->label_ra_target->setText(meas.toString()); break; case 3: ui->label_lv_real->setText(real.toString()); ui->label_lv_target->setText(meas.toString()); break; case 4: ui->label_rv_real->setText(real.toString()); ui->label_rv_target->setText(meas.toString()); break; case 5: ui->label_rud_real->setText(real.toString()); ui->label_rud_target->setText(meas.toString()); break; } } void StatusUI::setEngine(uint32_t pos,QVariant value1,QVariant value2) { switch (pos) { case 1: if(value1.toInt() >= 100) { ui->label_thr->setRange(0,value1.toInt()); } ui->label_thr->setValue(value1.toInt()); ui->label_rpm->setText(value2.toString()); if(qAbs(value2.toFloat()) >= 46100) { setColor(ui->label_rpm,state::failure); } else { setColor(ui->label_rpm,state::inital); } break; case 2: ui->label_1_FuelLevel->setText(value1.toString()); if(qAbs(value1.toFloat()) <= 9) { setColor(ui->label_1_FuelLevel,state::failure); } else { setColor(ui->label_1_FuelLevel,state::inital); } ui->label_2_FuelLevel->setText(value2.toString()); if(qAbs(value2.toFloat()) <= 9) { setColor(ui->label_2_FuelLevel,state::failure); } else { setColor(ui->label_2_FuelLevel,state::inital); } break; case 3: ui->label_fuelPressure->setText(value1.toString()); if((value1.toFloat() <= 10)||(value1.toFloat() >= 80)) { setColor(ui->label_fuelPressure,state::failure); } else { setColor(ui->label_fuelPressure,state::inital); } break; case 4: ui->label_temp_up->setText(value1.toString()); if(qAbs(value1.toFloat()) >= 130) { setColor(ui->label_temp_up,state::failure); } else { setColor(ui->label_temp_up,state::inital); } ui->label_temp_right->setText(value2.toString()); if(qAbs(value2.toFloat()) >= 130) { setColor(ui->label_temp_right,state::failure); } else { setColor(ui->label_temp_right,state::inital); } break; } } void StatusUI::setBattery(uint32_t pos,QVariant value1,QVariant value2) { switch (pos) { case 1: ui->label_28_V->setText(value1.toString()); if(qAbs(value1.toFloat()) <= 23) { setColor(ui->label_28_V,state::failure); } else if(qAbs(value1.toFloat()) <= 25) { setColor(ui->label_28_V,state::warning); } else { setColor(ui->label_28_V,state::inital); } ui->label_28_A->setText(value2.toString()); if(qAbs(value2.toFloat()) >= 15) { setColor(ui->label_28_A,state::failure); } else { setColor(ui->label_28_A,state::inital); } break; case 2: ui->label_56_V->setText(value1.toString()); if(qAbs(value1.toFloat()) <= 46) { setColor(ui->label_56_V,state::failure); } else if(qAbs(value1.toFloat()) <= 50) { setColor(ui->label_56_V,state::warning); } else { setColor(ui->label_56_V,state::inital); } ui->label_56_A->setText(value2.toString()); if(qAbs(value2.toFloat()) >= 15) { setColor(ui->label_56_A,state::failure); } else { setColor(ui->label_56_A,state::inital); } break; } } void StatusUI::setDlink(uint32_t pos,QVariant value1,QVariant value2) { switch (pos) { case 1: ui->label_ssp->setText(value1.toString()); if(qAbs(value1.toFloat()) <= 50) { setColor(ui->label_ssp,state::failure); } else { setColor(ui->label_ssp,state::inital); } ui->label_ssr->setText(value2.toString()); if(qAbs(value2.toFloat()) <= 500) { //setColor(ui->label_ssr,state::failure); } else { //setColor(ui->label_ssr,state::inital); } break; } }