From 9ed73cfa13a0cefddc0ed34625948e94847a840d Mon Sep 17 00:00:00 2001
From: Zoran Kostic <60575976+nbgsmk@users.noreply.github.com>
Date: Mon, 7 Dec 2020 16:04:59 +0100
Subject: [PATCH] Cal widget with coloured tooltip
---
.../Calibration/calibration.cpp | 12 ++++++++++-
.../PC_Application/Calibration/calibration.h | 3 +++
Software/PC_Application/VNA/vna.cpp | 21 ++++++++++++++-----
Software/PC_Application/VNA/vna.h | 2 +-
4 files changed, 31 insertions(+), 7 deletions(-)
diff --git a/Software/PC_Application/Calibration/calibration.cpp b/Software/PC_Application/Calibration/calibration.cpp
index 9c0ab31..4263a52 100644
--- a/Software/PC_Application/Calibration/calibration.cpp
+++ b/Software/PC_Application/Calibration/calibration.cpp
@@ -759,7 +759,8 @@ QString Calibration::descriptiveCalName(){
hi = Unit::ToString(this->maxFreq, "", " kMG", precision);
}
- QString tmp = Calibration::TypeToString(this->getType())
+ QString tmp =
+ Calibration::TypeToString(this->getType())
+ " "
+ lo + "-" + hi
+ " "
@@ -767,6 +768,15 @@ QString Calibration::descriptiveCalName(){
return tmp;
}
+double Calibration::getMinFreq(){
+ return this->minFreq;
+}
+double Calibration::getMaxFreq(){
+ return this->maxFreq;
+}
+int Calibration::getNumPoints(){
+ return this->points.size();
+}
QString Calibration::getCurrentCalibrationFile(){
return this->currentCalFile;
}
diff --git a/Software/PC_Application/Calibration/calibration.h b/Software/PC_Application/Calibration/calibration.h
index 488e6d1..0ae16c4 100644
--- a/Software/PC_Application/Calibration/calibration.h
+++ b/Software/PC_Application/Calibration/calibration.h
@@ -143,6 +143,9 @@ private:
QString currentCalFile;
public:
QString getCurrentCalibrationFile();
+ double getMinFreq();
+ double getMaxFreq();
+ int getNumPoints();
};
#endif // CALIBRATION_H
diff --git a/Software/PC_Application/VNA/vna.cpp b/Software/PC_Application/VNA/vna.cpp
index c37ecc3..258e371 100644
--- a/Software/PC_Application/VNA/vna.cpp
+++ b/Software/PC_Application/VNA/vna.cpp
@@ -288,7 +288,7 @@ VNA::VNA(AppWindow *window)
// Calibration toolbar (and populate calibration menu)
auto tb_cal = new QToolBar("Calibration");
QLabel *cbEnableCal_label = new QLabel("Calibration:");
- cbEnableCal_label->setStyleSheet(getCalStyleStr()); // on app start
+ cbEnableCal_label->setStyleSheet(getCalStyle()); // on app start
cbEnableCal_label->setToolTip(getCalToolTip()); // no cal. file loaded
tb_cal->addWidget(cbEnableCal_label);
auto cbEnableCal = new QCheckBox;
@@ -329,7 +329,7 @@ VNA::VNA(AppWindow *window)
cbEnableCal->blockSignals(true);
calDisable->setChecked(true);
cbEnableCal->setCheckState(Qt::CheckState::Unchecked);
- cbEnableCal_label->setStyleSheet(getCalStyleStr()); // visually indicate loss of calibration
+ cbEnableCal_label->setStyleSheet(getCalStyle()); // visually indicate loss of calibration
cbEnableCal_label->setToolTip(getCalToolTip()); // cal. file unknown at this moment
cbType->blockSignals(false);
cbEnableCal->blockSignals(false);
@@ -348,7 +348,7 @@ VNA::VNA(AppWindow *window)
}
}
cbEnableCal->setCheckState(Qt::CheckState::Checked);
- cbEnableCal_label->setStyleSheet(getCalStyleStr()); // restore default look of widget
+ cbEnableCal_label->setStyleSheet(getCalStyle()); // restore default look of widget
cbEnableCal_label->setToolTip(getCalToolTip()); // on hover, show name of active cal. file
cbType->blockSignals(false);
cbEnableCal->blockSignals(false);
@@ -414,7 +414,7 @@ VNA::VNA(AppWindow *window)
finalize(central);
}
-QString VNA::getCalStyleStr()
+QString VNA::getCalStyle()
{
Calibration::InterpolationType interpol = cal.getInterpolation(settings);
QString style = "";
@@ -446,8 +446,19 @@ QString VNA::getCalToolTip()
case Calibration::InterpolationType::Exact:
case Calibration::InterpolationType::Interpolate:
case Calibration::InterpolationType::Extrapolate:
- txt = cal.getCurrentCalibrationFile();
+ {
+ QString lo = Unit::ToString(cal.getMinFreq(), "", " kMG", 5);
+ QString hi = Unit::ToString(cal.getMaxFreq(), "", " kMG", 5);
+ if (settings.f_start < cal.getMinFreq() ) { lo = "" + lo + "";}
+ if (settings.f_stop > cal.getMaxFreq() ) { hi = "" + hi + "";}
+ txt =
+ "limits: " + lo + " - " + hi
+ + "
"
+ + "points: " + QString::number(cal.getNumPoints())
+ + "
"
+ "file: " + cal.getCurrentCalibrationFile();
break;
+ }
case Calibration::InterpolationType::NoCalibration:
txt = "none";
break;
diff --git a/Software/PC_Application/VNA/vna.h b/Software/PC_Application/VNA/vna.h
index 0912279..c30de43 100644
--- a/Software/PC_Application/VNA/vna.h
+++ b/Software/PC_Application/VNA/vna.h
@@ -70,7 +70,7 @@ private:
bool calMeasuring;
bool calWaitFirst;
QProgressDialog calDialog;
- QString getCalStyleStr();
+ QString getCalStyle();
QString getCalToolTip();