Initial commit (project based on widgets)
This commit is contained in:
496
akbmonitorpage.cpp
Normal file
496
akbmonitorpage.cpp
Normal file
@@ -0,0 +1,496 @@
|
||||
#include "akbmonitorpage.h"
|
||||
#include "ui_akbmonitorpage.h"
|
||||
|
||||
#include <QIntValidator>
|
||||
#include <QDoubleValidator>
|
||||
#include <QDateTime>
|
||||
#include <math.h>
|
||||
|
||||
#include "configparamsgetter.h"
|
||||
|
||||
AkbMonitorPage::AkbMonitorPage(QWidget *parent) :
|
||||
QFrame(parent),
|
||||
ui(new Ui::AkbMonitorPage)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
ui->pbLoadDataFromBmsMemory->hide();
|
||||
|
||||
// L
|
||||
ui->lbCellNumberLeft->hide();
|
||||
ui->lbCellNumberLeftDots->hide();
|
||||
ui->editCellNumberLeft->hide();
|
||||
// R
|
||||
ui->lbCellNumberRight->hide();
|
||||
ui->lbCellNumberRightDots->hide();
|
||||
ui->editCellNumberRight->hide();
|
||||
|
||||
// 1 // L
|
||||
ui->editBatteryChargeLevel ->setValidator( new QIntValidator(-1000, 1000, this) ); // mValues.soC
|
||||
ui->editBatteryVoltage ->setValidator( new QIntValidator(-1000, 1000, this) ); // mValues.packVoltage
|
||||
ui->editNominalCapacity ->setValidator( new QIntValidator(-1000, 1000, this) ); //, mDieBieMS->bmsConfig(), "batteryCapacity");
|
||||
ui->editBatteryTemperature ->setValidator( new QDoubleValidator(-100, 100, 2, this) ); // mValues.tempBattHigh
|
||||
// 1 // R
|
||||
ui->editModulesNumber ->setValidator( new QIntValidator(-1000, 1000, this) ); //, mDieBieMS->bmsConfig(), "cellMonitorICCount");
|
||||
ui->editCellsNumber ->setValidator( new QIntValidator(-1000, 1000, this) ); //, mDieBieMS->bmsConfig(), "noOfCellsSeries");
|
||||
ui->editActualCapacity ->setValidator( new QIntValidator(-1000, 1000, this) ); // NOT IN SETTINGS
|
||||
ui->editBmsTemperature ->setValidator( new QDoubleValidator(-100, 100, 2, this) ); // mValues.tempBMSHigh
|
||||
//
|
||||
// 2 // L ->clear();
|
||||
ui->editMaxVoltageOnCell ->setValidator( new QDoubleValidator(-100, 100, 2, this) ); // mValues.cVHigh
|
||||
ui->editCellNumberLeft ->setValidator( new QIntValidator(-1000, 1000, this) ); // NOT IN SETTINGS
|
||||
ui->editCircuit ->setValidator( new QIntValidator(-1000, 1000, this) ); // mValues.packCurrent
|
||||
// 2 // R ->clear();
|
||||
ui->editMinVoltageOnCell ->setValidator( new QDoubleValidator(-100, 100, 2, this) ); // mValues.cVLow
|
||||
ui->editCellNumberRight ->setValidator( new QIntValidator(-100, 1000, this) ); // NOT IN SETTINGS
|
||||
|
||||
|
||||
mTimer = new QTimer(this);
|
||||
mTimer->start(1000);
|
||||
|
||||
connect(mTimer, &QTimer::timeout,this, &AkbMonitorPage::timerSlot);
|
||||
|
||||
clearControlls();
|
||||
}
|
||||
|
||||
AkbMonitorPage::~AkbMonitorPage()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
BMSInterface *AkbMonitorPage::bms() const
|
||||
{
|
||||
return mDieBieMS;
|
||||
}
|
||||
|
||||
void AkbMonitorPage::setDieBieMS(BMSInterface *dieBieMS)
|
||||
{
|
||||
mDieBieMS = dieBieMS;
|
||||
|
||||
if (mDieBieMS) {
|
||||
connect(mDieBieMS->commands(), &Commands::valuesReceived,this, &AkbMonitorPage::valuesReceived);
|
||||
//connect(mDieBieMS->commands(), &Commands::cellsReceived,this, &VisualizationPage::cellsReceived);
|
||||
connect(mDieBieMS->bmsConfig(), &ConfigParams::updated, this, &AkbMonitorPage::onLoadParams);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void AkbMonitorPage::timerSlot()
|
||||
{
|
||||
//
|
||||
// We will start revieve Data WHEN
|
||||
// SEE - void MainWindowNew::onTimerSlot()
|
||||
// one of those left-tab-bar buttons are selected (ui->pbMainMenuBarVisualization->isChecked() || ui->pbMainMenuBarVisualization->isChecked())
|
||||
//
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// 1 // L
|
||||
if(!mSoc.empty())
|
||||
ui->editBatteryChargeLevel->setText(QString::number(mSoc.last())); // mValues.soC
|
||||
|
||||
if(!mPackVoltage.empty()) {
|
||||
//ui->editBatteryVoltage->setText(QString::number(mPackVoltage.last())); // mValues.packVoltage
|
||||
ui->editBatteryVoltage->setText(QString::number(mPackVoltage.last(), 'f', 2)); // mValues.packVoltage
|
||||
}
|
||||
|
||||
//addParamRow(ui->editNominalCapacity, mDieBieMS->bmsConfig(), "batteryCapacity");
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
if(!mTempBattHigh.empty())
|
||||
ui->editBatteryTemperature->setText(QString::number((int)mTempBattHigh.last())); // mValues.tempBattHigh
|
||||
//ui->editBatteryTemperature->setText(QString::number(mTempBattHigh.last(), 'f', 2)); // mValues.tempBattHigh
|
||||
|
||||
// 1 // R
|
||||
//addParamRow(ui->editModulesNumber, mDieBieMS->bmsConfig(), "cellMonitorICCount");
|
||||
//addParamRow(ui->editCellsNumber, mDieBieMS->bmsConfig(), "noOfCellsSeries");
|
||||
//// ui->editActualCapacity // NOT IN SETTINGS // AND NOT IN BMS_VALUES - valuesReceived(BMS_VALUES values)
|
||||
if(!mTempBMSHigh.empty())
|
||||
ui->editBmsTemperature->setText(QString::number((int)mTempBMSHigh.last())); // mValues.tempBMSHigh
|
||||
//ui->editBmsTemperature->setText(QString::number(mTempBMSHigh.last(), 'f', 2)); // mValues.tempBMSHigh
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// 2 // L
|
||||
if(!mCellVHigh.empty())
|
||||
ui->editMaxVoltageOnCell->setText(QString::number(mCellVHigh.last(), 'f', 2)); // mValues.cVHigh
|
||||
|
||||
//// ui->editCellNumberLeft // NOT IN SETTINGS // AND NOT IN BMS_VALUES - valuesReceived(BMS_VALUES values)
|
||||
|
||||
if(!mPackCurrent.empty())
|
||||
ui->editCircuit->setText(QString::number(mPackCurrent.last())); // mValues.packCurrent
|
||||
// 2 // R
|
||||
|
||||
if(!mCellVLow.empty())
|
||||
ui->editMinVoltageOnCell->setText(QString::number(mCellVLow.last(), 'f', 2)); // mValues.cVLow
|
||||
|
||||
//// ui->editCellNumberRight // NOT IN SETTINGS // AND NOT IN BMS_VALUES - valuesReceived(BMS_VALUES values)
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//if (mUpdateValPlot)
|
||||
//{
|
||||
/*
|
||||
int dataSize = mPackVoltage.size();
|
||||
|
||||
QVector<double> xAxis(dataSize);
|
||||
for (int i = 0;i < mSeconds.size();i++) {
|
||||
xAxis[i] = mSeconds[i];
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// Current and duty-plot
|
||||
///int graphIndex = 0;
|
||||
///ui->ivLCGraph->graph(graphIndex++)->setData(xAxis, mPackVoltage);
|
||||
///ui->ivLCGraph->graph(graphIndex++)->setData(xAxis, mLCLoadVoltage);
|
||||
///ui->ivLCGraph->graph(graphIndex++)->setData(xAxis, mLCLoadCurrent);
|
||||
|
||||
///graphIndex = 0;
|
||||
///ui->ivHCGraph->graph(graphIndex++)->setData(xAxis, mHCLoadVoltage);
|
||||
///ui->ivHCGraph->graph(graphIndex++)->setData(xAxis, mHCLoadCurrent);
|
||||
|
||||
///graphIndex = 0;
|
||||
///ui->cellGraph->graph(graphIndex++)->setData(xAxis, mCellVHigh);
|
||||
///ui->cellGraph->graph(graphIndex++)->setData(xAxis, mCellVAverage);
|
||||
///ui->cellGraph->graph(graphIndex++)->setData(xAxis, mCellVLow);
|
||||
|
||||
///graphIndex = 0;
|
||||
///mTempBMSLow.fill(0,1);
|
||||
///ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBMSHigh);
|
||||
///ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBMSAverage);
|
||||
///ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBMSLow);
|
||||
*/
|
||||
|
||||
// V
|
||||
/*
|
||||
double valVMax = mHCLoadVoltage.last();
|
||||
double valVMid = mPackVoltage.last();
|
||||
double valVMin = mLCLoadVoltage.last();
|
||||
*/
|
||||
/*// increas X
|
||||
chartV->appendNextX();
|
||||
// then set all new Ys
|
||||
chartV->appendYToSeries(VoltageMax, valVMax);
|
||||
chartV->appendYToSeries(VoltageMid, valVMid);
|
||||
chartV->appendYToSeries(VoltageMin, valVMin);
|
||||
|
||||
ui->lbVMaxLegendVal->setText(QString("%1").arg(valVMax));
|
||||
ui->lbVMidLegendVal->setText(QString("%1").arg(valVMid));
|
||||
ui->lbVMinLegendVal->setText(QString("%1").arg(valVMin));
|
||||
|
||||
chartV->update();
|
||||
ui->chartViewVoltage->repaint();
|
||||
*/
|
||||
|
||||
// A
|
||||
/*
|
||||
double valAMax = mHCLoadCurrent.last();
|
||||
double valAMid = mMCLoadCurrent_.last();
|
||||
double valAMin = mLCLoadCurrent.last();
|
||||
*/
|
||||
/*// increas X
|
||||
chartA->appendNextX();
|
||||
// then set all new Ys
|
||||
chartA->appendYToSeries(AmperageMax, valAMax);
|
||||
chartA->appendYToSeries(AmperageMid, valAMid);
|
||||
chartA->appendYToSeries(AmperageMin, valAMin);
|
||||
|
||||
ui->lbAMaxLegendVal->setText(QString("%1").arg(valAMax));
|
||||
ui->lbAMidLegendVal->setText(QString("%1").arg(valAMid));
|
||||
ui->lbAMinLegendVal->setText(QString("%1").arg(valAMin));
|
||||
|
||||
chartA->update();
|
||||
ui->chartViewAmperage->repaint();
|
||||
*/
|
||||
|
||||
// T
|
||||
/*
|
||||
double valTMax = mTempBattHigh.last();
|
||||
double valTMid = mTempBattAverage.last();
|
||||
double valTMin = mTempBattLow_.last();
|
||||
*/
|
||||
/*mTempBattLow_.fill(0,1);
|
||||
// increas X
|
||||
chartT->appendNextX();
|
||||
// then set all new Ys
|
||||
chartT->appendYToSeries(TemperatureMax, valTMax);
|
||||
chartT->appendYToSeries(TemperatureMid, valTMid);
|
||||
chartT->appendYToSeries(TemperatureMin, valTMin);
|
||||
|
||||
ui->lbTMaxLegendVal->setText(QString("%1").arg(valTMax));
|
||||
ui->lbTMidLegendVal->setText(QString("%1").arg(valTMid));
|
||||
ui->lbTMinLegendVal->setText(QString("%1").arg(valTMin));
|
||||
|
||||
chartT->update();
|
||||
ui->chartViewTemperature->repaint();
|
||||
*/
|
||||
|
||||
// C
|
||||
/*
|
||||
double valCMax = mCellVHigh.last();
|
||||
double valCMid = mCellVAverage.last();
|
||||
double valCMin = mCellVLow.last();
|
||||
*/
|
||||
/*// increas X
|
||||
chartC->appendNextX();
|
||||
// then set all new Ys
|
||||
chartC->appendYToSeries(CellsMax, valCMax);
|
||||
chartC->appendYToSeries(CellsMid, valCMid);
|
||||
chartC->appendYToSeries(CellsMin, valCMin);
|
||||
|
||||
ui->lbCMaxLegendVal->setText(QString("%1").arg(valCMax));
|
||||
ui->lbCMidLegendVal->setText(QString("%1").arg(valCMid));
|
||||
ui->lbCMinLegendVal->setText(QString("%1").arg(valCMin));
|
||||
|
||||
chartC->update();
|
||||
ui->chartViewCells->repaint();
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBattHigh);
|
||||
ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBattAverage);
|
||||
ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBattLow);
|
||||
|
||||
///if (ui->autoscaleButton->isChecked())
|
||||
{
|
||||
///ui->ivLCGraph->rescaleAxes();
|
||||
///ui->ivHCGraph->rescaleAxes();
|
||||
///ui->cellGraph->rescaleAxes();
|
||||
ui->tempGraph->rescaleAxes();
|
||||
}
|
||||
|
||||
///ui->ivLCGraph->replot();
|
||||
///ui->ivHCGraph->replot();
|
||||
///ui->cellGraph->replot();
|
||||
ui->tempGraph->replot();
|
||||
///ui->cellBarGraph->replot();
|
||||
|
||||
mUpdateValPlot = false;
|
||||
*/
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
void AkbMonitorPage::valuesReceived(BMS_VALUES values)
|
||||
{
|
||||
//ui->rtText->setValues(values);
|
||||
|
||||
const int maxS = 500;
|
||||
|
||||
appendDoubleAndTrunc(&mSoc, values.soC, maxS);
|
||||
appendDoubleAndTrunc(&mPackCurrent, values.packCurrent, maxS);
|
||||
appendDoubleAndTrunc(&mPackVoltage, values.packVoltage, maxS);
|
||||
|
||||
appendDoubleAndTrunc(&mLCLoadVoltage, values.loadLCVoltage, maxS);
|
||||
appendDoubleAndTrunc(&mLCLoadCurrent, values.loadLCCurrent, maxS);
|
||||
|
||||
appendDoubleAndTrunc(&mHCLoadVoltage, values.loadHCVoltage, maxS);
|
||||
appendDoubleAndTrunc(&mHCLoadCurrent, values.loadHCCurrent, maxS);
|
||||
|
||||
appendDoubleAndTrunc(&mAuxVoltage, values.auxVoltage, maxS);
|
||||
appendDoubleAndTrunc(&mAuxCurrent, values.auxCurrent, maxS);
|
||||
|
||||
appendDoubleAndTrunc(&mCellVHigh, values.cVHigh, maxS);
|
||||
appendDoubleAndTrunc(&mCellVAverage, values.cVAverage, maxS);
|
||||
appendDoubleAndTrunc(&mCellVLow, values.cVLow, maxS);
|
||||
|
||||
appendDoubleAndTrunc(&mTempBMSHigh, values.tempBMSHigh, maxS);
|
||||
appendDoubleAndTrunc(&mTempBMSAverage, values.tempBMSAverage, maxS);
|
||||
//appendDoubleAndTrunc(&mTempBMSLow_, values.tempBMSLow_, maxS);
|
||||
|
||||
appendDoubleAndTrunc(&mTempBattHigh, values.tempBattHigh, maxS);
|
||||
appendDoubleAndTrunc(&mTempBattAverage, values.tempBattAverage, maxS);
|
||||
//appendDoubleAndTrunc(&mTempBattLow_, values.tempBattLow_, maxS);
|
||||
|
||||
|
||||
qint64 tNow = QDateTime::currentMSecsSinceEpoch();
|
||||
|
||||
double elapsed = (double)(tNow - mLastUpdateTime) / 1000.0;
|
||||
if (elapsed > 1.0) {
|
||||
elapsed = 1.0;
|
||||
}
|
||||
|
||||
mSecondCounter += elapsed;
|
||||
|
||||
appendDoubleAndTrunc(&mSeconds, mSecondCounter, maxS);
|
||||
|
||||
mLastUpdateTime = tNow;
|
||||
|
||||
mUpdateValPlot = true;
|
||||
}
|
||||
|
||||
/*
|
||||
void AkbMonitorPage::cellsReceived(int cellCount, QVector<double> cellVoltageArray)
|
||||
{
|
||||
QVector<double> dataxNew;
|
||||
dataxNew.clear();
|
||||
QVector<double> datayNormal;
|
||||
datayNormal.clear();
|
||||
QVector<double> datayBalance;
|
||||
datayBalance.clear();
|
||||
QVector<QString> labels;
|
||||
int indexPointer;
|
||||
|
||||
double cellHardUnder = mDieBieMS->bmsConfig()->getParamDouble("cellHardUnderVoltage");
|
||||
double cellHardOver = mDieBieMS->bmsConfig()->getParamDouble("cellHardOverVoltage");
|
||||
|
||||
for(indexPointer = 0; indexPointer < cellCount; indexPointer++){
|
||||
dataxNew.append(indexPointer + 1);
|
||||
|
||||
if(cellVoltageArray[indexPointer] < 0.0){
|
||||
datayNormal.append(0.0);
|
||||
datayBalance.append(fabs(cellVoltageArray[indexPointer]));
|
||||
}else{
|
||||
datayNormal.append(fabs(cellVoltageArray[indexPointer]));
|
||||
datayBalance.append(0.0);
|
||||
}
|
||||
|
||||
QString voltageString = QStringLiteral("%1V (C").arg(fabs(cellVoltageArray[indexPointer]), 0, 'f',3);
|
||||
labels.append(voltageString + QString::number(indexPointer) + ")");
|
||||
}
|
||||
|
||||
//QSharedPointer<QCPAxisTickerText> textTicker(new QCPAxisTickerText);
|
||||
//textTicker->addTicks(dataxNew, labels);
|
||||
|
||||
//ui->cellBarGraph->xAxis->setTicker(textTicker);
|
||||
//ui->cellBarGraph->xAxis->setRange(0.5, indexPointer + 0.5);
|
||||
//ui->cellBarGraph->yAxis->setRange(cellHardUnder, cellHardOver);
|
||||
//barsNormal->setData(dataxNew, datayNormal);
|
||||
//barsBalance->setData(dataxNew, datayBalance);
|
||||
}
|
||||
*/
|
||||
|
||||
void AkbMonitorPage::appendDoubleAndTrunc(QVector<double> *vec, double num, int maxSize)
|
||||
{
|
||||
vec->append(num);
|
||||
|
||||
if(vec->size() > maxSize) {
|
||||
vec->remove(0, vec->size() - maxSize);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void AkbMonitorPage::clearControlls()
|
||||
{
|
||||
// 1 // L
|
||||
ui->editBatteryChargeLevel ->clear(); // mValues.soC
|
||||
ui->editBatteryVoltage ->clear(); // mValues.packVoltage
|
||||
ui->editNominalCapacity ->clear(); //, mDieBieMS->bmsConfig(), "batteryCapacity");
|
||||
ui->editBatteryTemperature ->clear(); // mValues.tempBattHigh
|
||||
// 1 // R ->clear();
|
||||
ui->editModulesNumber ->clear(); //, mDieBieMS->bmsConfig(), "cellMonitorICCount");
|
||||
ui->editCellsNumber ->clear(); //, mDieBieMS->bmsConfig(), "noOfCellsSeries");
|
||||
ui->editActualCapacity ->clear(); // NOT IN SETTINGS
|
||||
ui->editBmsTemperature ->clear(); // mValues.tempBMSHigh
|
||||
// ->clear();
|
||||
// 2 // L ->clear();
|
||||
ui->editMaxVoltageOnCell ->clear(); // mValues.cVHigh
|
||||
ui->editCellNumberLeft ->clear(); // NOT IN SETTINGS
|
||||
ui->editCircuit ->clear(); // mValues.packCurrent
|
||||
// 2 // R ->clear();
|
||||
ui->editMinVoltageOnCell ->clear(); // mValues.cVLow
|
||||
ui->editCellNumberRight ->clear(); // NOT IN SETTINGS
|
||||
}
|
||||
|
||||
void AkbMonitorPage::onLoadParams()
|
||||
{
|
||||
///QHash<QString, ConfigParam> mParams;
|
||||
|
||||
//addParamRow(ui->editPointZeroDetectorValue, mDieBieMS->bmsConfig(), "shuntLCFactor");
|
||||
//ui->specificationsTab->addRowSeparator(tr("Pack configuration"));
|
||||
|
||||
// Серийный номер * //ui->editSerialNumber
|
||||
getSerialNumber(ui->editSerialNumber, mDieBieMS->bmsConfig(), "notUsedCurrentThreshold");
|
||||
// 1 // L
|
||||
// ui->editBatteryChargeLevel // mValues.soC
|
||||
// ui->editBatteryVoltage // mValues.packVoltage
|
||||
addParamRow(ui->editNominalCapacity, mDieBieMS->bmsConfig(), "batteryCapacity");
|
||||
// ui->editBatteryTemperature // mValues.tempBattHigh
|
||||
// 1 // R
|
||||
addParamRow(ui->editModulesNumber, mDieBieMS->bmsConfig(), "cellMonitorICCount");
|
||||
addParamRow(ui->editCellsNumber, mDieBieMS->bmsConfig(), "noOfCellsSeries");
|
||||
//// ui->editActualCapacity // NOT IN BMS_CONFIG
|
||||
// ui->editBmsTemperature // mValues.tempBMSHigh
|
||||
|
||||
// 2 // L
|
||||
// ui->editMaxVoltageOnCell // mValues.cVHigh
|
||||
//// ui->editCellNumberLeft // NOT IN BMS_CONFIG
|
||||
// ui->editCircuit // mValues.packCurrent
|
||||
// 2 // R
|
||||
// ui->editMinVoltageOnCell // mValues.cVLow
|
||||
//// ui->editCellNumberRight // NOT IN BMS_CONFIG
|
||||
}
|
||||
|
||||
/*
|
||||
bool AkbMonitorPage::addParamRow(QLineEdit* edit, ConfigParams *params, QString paramName)
|
||||
{
|
||||
bool res = false;
|
||||
QWidget *editor = params->getEditor(paramName);
|
||||
QString name = params->getLongName(paramName);
|
||||
|
||||
if (editor) {
|
||||
//int row = rowCount();
|
||||
//setRowCount(row + 1);
|
||||
//QTableWidgetItem *item = new QTableWidgetItem(name);
|
||||
//item->setFlags(item->flags() & ~Qt::ItemIsEditable);
|
||||
//setItem(row, 0, item);
|
||||
//setCellWidget(row, 1, editor);
|
||||
//edit->setText(editor->);
|
||||
|
||||
auto vtype = editor->property("type");
|
||||
auto type = vtype.toInt();
|
||||
//CFG_T_UNDEFINED = 0,
|
||||
if(type == 1) // CFG_T_DOUBLE,
|
||||
{
|
||||
auto vval = editor->property("value");
|
||||
auto val = vval.toDouble();
|
||||
edit->setText(QString::number(val));
|
||||
}
|
||||
else if(type == 2) // CFG_T_INT,
|
||||
{
|
||||
auto vval = editor->property("value");
|
||||
auto val = vval.toInt();
|
||||
edit->setText(QString::number(val));
|
||||
}
|
||||
else if(type == 3) // CFG_T_QSTRING,
|
||||
{
|
||||
auto vval = editor->property("value");
|
||||
auto val = vval.toString();
|
||||
edit->setText(val);
|
||||
}
|
||||
else if(type == 4) // CFG_T_ENUM,
|
||||
{
|
||||
auto vval = editor->property("value");
|
||||
auto val = vval.toInt();
|
||||
edit->setText(QString::number(val));
|
||||
}
|
||||
else if(type == 5) // CFG_T_BOOL
|
||||
{
|
||||
auto vval = editor->property("value");
|
||||
auto val = vval.toBool();
|
||||
edit->setText(val ? "true" : "false");
|
||||
}
|
||||
|
||||
auto vsuffix = editor->property("suffix");
|
||||
auto suffix = vsuffix.toString();
|
||||
auto veditorDecimalsDouble = editor->property("editorDecimalsDouble");
|
||||
auto editorDecimalsDouble = veditorDecimalsDouble.toDouble();
|
||||
auto veditAsPercentage = editor->property("editAsPercentage");
|
||||
auto editAsPercentage = veditAsPercentage.toBool();
|
||||
|
||||
res = true;
|
||||
//resizeColumnToContents(0);
|
||||
//resizeRowsToContents();
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
//*/
|
||||
|
||||
Reference in New Issue
Block a user