mirror of
https://github.com/jankae/LibreVNA.git
synced 2025-12-06 07:12:10 +01:00
Configurable defauly Y axis limits
This commit is contained in:
parent
51c9ef2795
commit
0818cda62e
|
|
@ -393,6 +393,26 @@ std::complex<double> YAxis::reconstructValueFromYAxisType(std::map<YAxis::Type,
|
|||
return ret;
|
||||
}
|
||||
|
||||
double YAxis::getDefaultLimitMax(Type type)
|
||||
{
|
||||
return Preferences::getInstance().Graphs.defaultAxisLimits.max[(int) type];
|
||||
}
|
||||
|
||||
double YAxis::getDefaultLimitMin(Type type)
|
||||
{
|
||||
return Preferences::getInstance().Graphs.defaultAxisLimits.min[(int) type];
|
||||
}
|
||||
|
||||
double YAxis::getDefaultLimitMax()
|
||||
{
|
||||
return getDefaultLimitMax(type);
|
||||
}
|
||||
|
||||
double YAxis::getDefaultLimitMin()
|
||||
{
|
||||
return getDefaultLimitMin(type);
|
||||
}
|
||||
|
||||
void YAxis::updateTicks()
|
||||
{
|
||||
Axis::updateTicks();
|
||||
|
|
|
|||
|
|
@ -108,6 +108,10 @@ public:
|
|||
bool isSupported(XAxis::Type type, TraceModel::DataSource source);
|
||||
static std::set<YAxis::Type> getSupported(XAxis::Type type, TraceModel::DataSource source);
|
||||
static std::complex<double> reconstructValueFromYAxisType(std::map<Type, double> yaxistypes);
|
||||
static double getDefaultLimitMax(YAxis::Type type);
|
||||
static double getDefaultLimitMin(YAxis::Type type);
|
||||
double getDefaultLimitMax();
|
||||
double getDefaultLimitMin();
|
||||
|
||||
protected:
|
||||
virtual void updateTicks() override;
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ TraceWaterfall::TraceWaterfall(TraceModel &model, QWidget *parent)
|
|||
plotAreaBottom = 0;
|
||||
|
||||
xAxis.set(XAxis::Type::Frequency, false, true, 0, 6000000000, 10, false);
|
||||
yAxis.set(YAxis::Type::Magnitude, false, true, -1, 1, 10, false);
|
||||
yAxis.set(YAxis::Type::Magnitude, false, true, YAxis::getDefaultLimitMin(YAxis::Type::Magnitude), YAxis::getDefaultLimitMax(YAxis::Type::Magnitude), 10, false);
|
||||
initializeTraceInfo();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,8 +27,8 @@ TraceXYPlot::TraceXYPlot(TraceModel &model, QWidget *parent)
|
|||
yAxis[1].setTickMaster(yAxis[0]);
|
||||
|
||||
// Setup default axis
|
||||
setYAxis(0, YAxis::Type::Magnitude, false, false, -120, 20, 14, true);
|
||||
setYAxis(1, YAxis::Type::Phase, false, false, -180, 180, 12, true);
|
||||
setYAxis(0, YAxis::Type::Magnitude, false, false, YAxis::getDefaultLimitMin(YAxis::Type::Magnitude), YAxis::getDefaultLimitMax(YAxis::Type::Magnitude), 14, true);
|
||||
setYAxis(1, YAxis::Type::Phase, false, false, YAxis::getDefaultLimitMin(YAxis::Type::Phase), YAxis::getDefaultLimitMax(YAxis::Type::Phase), 12, true);
|
||||
// enable autoscaling and set for full span (no information about actual span available yet)
|
||||
updateSpan(0, 6000000000);
|
||||
setXAxis(XAxis::Type::Frequency, XAxisMode::UseSpan, false, 0, 6000000000, 10, true);
|
||||
|
|
@ -329,10 +329,10 @@ bool TraceXYPlot::configureForTrace(Trace *t)
|
|||
return false;
|
||||
}
|
||||
if(!yAxis[0].isSupported(xAxis.getType(), getModel().getSource())) {
|
||||
setYAxis(0, yLeftDefault, false, true, 0, 1, 10, false);
|
||||
setYAxis(0, yLeftDefault, false, false, YAxis::getDefaultLimitMin(yLeftDefault), YAxis::getDefaultLimitMax(yLeftDefault), 10, true);
|
||||
}
|
||||
if(!yAxis[1].isSupported(xAxis.getType(), getModel().getSource())) {
|
||||
setYAxis(1, yRightDefault, false, true, 0, 1, 10, false);
|
||||
setYAxis(1, yRightDefault, false, false, YAxis::getDefaultLimitMin(yRightDefault), YAxis::getDefaultLimitMax(yRightDefault), 10, true);
|
||||
}
|
||||
traceRemovalPending = true;
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -59,6 +59,8 @@ WaterfallAxisDialog::WaterfallAxisDialog(TraceWaterfall *plot) :
|
|||
ui->Wmin->setPrefixes(prefixes);
|
||||
ui->Wmax->setUnit(unit);
|
||||
ui->Wmax->setPrefixes(prefixes);
|
||||
ui->Wmin->setValue(YAxis::getDefaultLimitMin(type));
|
||||
ui->Wmax->setValue(YAxis::getDefaultLimitMax(type));
|
||||
});
|
||||
connect(ui->Wauto, &QCheckBox::toggled, [this](bool checked) {
|
||||
ui->Wmin->setEnabled(!checked);
|
||||
|
|
|
|||
|
|
@ -92,31 +92,29 @@ XYplotAxisDialog::XYplotAxisDialog(TraceXYPlot *plot) :
|
|||
max->setPrefixes(prefixes);
|
||||
};
|
||||
|
||||
connect(ui->Y1type, qOverload<int>(&QComboBox::currentIndexChanged), [this, updateYenableState](int) {
|
||||
updateYenableState(ui->Y1type, ui->Y1linear, ui->Y1log, ui->Y1auto, ui->Y1min, ui->Y1max, ui->Y1Divs, ui->Y1autoDivs);
|
||||
});
|
||||
connect(ui->Y1auto, &QCheckBox::toggled, [this, updateYenableState](bool) {
|
||||
updateYenableState(ui->Y1type, ui->Y1linear, ui->Y1log, ui->Y1auto, ui->Y1min, ui->Y1max, ui->Y1Divs, ui->Y1autoDivs);
|
||||
});
|
||||
connect(ui->Y1log, &QCheckBox::toggled, [this, updateYenableState](bool) {
|
||||
updateYenableState(ui->Y1type, ui->Y1linear, ui->Y1log, ui->Y1auto, ui->Y1min, ui->Y1max, ui->Y1Divs, ui->Y1autoDivs);
|
||||
});
|
||||
connect(ui->Y1autoDivs, &QCheckBox::toggled, [this, updateYenableState](bool) {
|
||||
updateYenableState(ui->Y1type, ui->Y1linear, ui->Y1log, ui->Y1auto, ui->Y1min, ui->Y1max, ui->Y1Divs, ui->Y1autoDivs);
|
||||
});
|
||||
auto setupYAxisConnetions = [this, updateYenableState](QComboBox *type, QRadioButton *linear, QRadioButton *log, QCheckBox *CBauto, SIUnitEdit *min, SIUnitEdit *max, QSpinBox *divs, QCheckBox *autoDivs) {
|
||||
connect(type, qOverload<int>(&QComboBox::currentIndexChanged), this, [=](int) {
|
||||
updateYenableState(type, linear, log, CBauto, min, max, divs, autoDivs);
|
||||
// update min/max settings when axis has changed
|
||||
if(type->currentIndex() != 0) {
|
||||
auto axisType = (YAxis::Type) type->currentIndex();
|
||||
min->setValue(YAxis::getDefaultLimitMin(axisType));
|
||||
max->setValue(YAxis::getDefaultLimitMax(axisType));
|
||||
}
|
||||
});
|
||||
connect(CBauto, &QCheckBox::toggled, this, [=](bool) {
|
||||
updateYenableState(type, linear, log, CBauto, min, max, divs, autoDivs);
|
||||
});
|
||||
connect(log, &QCheckBox::toggled, this, [=](bool) {
|
||||
updateYenableState(type, linear, log, CBauto, min, max, divs, autoDivs);
|
||||
});
|
||||
connect(autoDivs, &QCheckBox::toggled, this, [=](bool) {
|
||||
updateYenableState(type, linear, log, CBauto, min, max, divs, autoDivs);
|
||||
});
|
||||
};
|
||||
|
||||
connect(ui->Y2type, qOverload<int>(&QComboBox::currentIndexChanged), [this, updateYenableState](int) {
|
||||
updateYenableState(ui->Y2type, ui->Y2linear, ui->Y2log, ui->Y2auto, ui->Y2min, ui->Y2max, ui->Y2Divs, ui->Y2autoDivs);
|
||||
});
|
||||
connect(ui->Y2auto, &QCheckBox::toggled, [this, updateYenableState](bool) {
|
||||
updateYenableState(ui->Y2type, ui->Y2linear, ui->Y2log, ui->Y2auto, ui->Y2min, ui->Y2max, ui->Y2Divs, ui->Y2autoDivs);
|
||||
});
|
||||
connect(ui->Y2log, &QCheckBox::toggled, [this, updateYenableState](bool) {
|
||||
updateYenableState(ui->Y2type, ui->Y2linear, ui->Y2log, ui->Y2auto, ui->Y2min, ui->Y2max, ui->Y2Divs, ui->Y2autoDivs);
|
||||
});
|
||||
connect(ui->Y2autoDivs, &QCheckBox::toggled, [this, updateYenableState](bool) {
|
||||
updateYenableState(ui->Y2type, ui->Y2linear, ui->Y2log, ui->Y2auto, ui->Y2min, ui->Y2max, ui->Y2Divs, ui->Y2autoDivs);
|
||||
});
|
||||
setupYAxisConnetions(ui->Y1type, ui->Y1linear, ui->Y1log, ui->Y1auto, ui->Y1min, ui->Y1max, ui->Y1Divs, ui->Y1autoDivs);
|
||||
setupYAxisConnetions(ui->Y2type, ui->Y2linear, ui->Y2log, ui->Y2auto, ui->Y2min, ui->Y2max, ui->Y2Divs, ui->Y2autoDivs);
|
||||
|
||||
auto updateXenableState = [](QRadioButton *linear, QRadioButton *log, QCheckBox *CBauto, SIUnitEdit *min, SIUnitEdit *max, QSpinBox *divs, QCheckBox *autoDivs) {
|
||||
log->setEnabled(true);
|
||||
|
|
|
|||
|
|
@ -110,6 +110,18 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
|
|||
ui->GraphsSweepHidePercent->setPrecision(3);
|
||||
ui->GraphsSweepHidePercent->setUnit("%");
|
||||
|
||||
auto layout = static_cast<QGridLayout*>(ui->GraphAxisLimitGroup->layout());
|
||||
for(unsigned int i=(int) YAxis::Type::Disabled + 1;i<(int) YAxis::Type::Last;i++) {
|
||||
auto type = (YAxis::Type) i;
|
||||
layout->addWidget(new QLabel(YAxis::TypeToName(type)), i, 0);
|
||||
auto minEntry = new SIUnitEdit(YAxis::Unit(type), YAxis::Prefixes(type), 5);
|
||||
layout->addWidget(minEntry, i, 1);
|
||||
graphAxisLimitsMinEntries[type] = minEntry;
|
||||
auto maxEntry = new SIUnitEdit(YAxis::Unit(type), YAxis::Prefixes(type), 5);
|
||||
layout->addWidget(maxEntry, i, 2);
|
||||
graphAxisLimitsMaxEntries[type] = maxEntry;
|
||||
}
|
||||
|
||||
// General page
|
||||
if(p->TCPoverride) {
|
||||
ui->SCPIServerPort->setEnabled(false);
|
||||
|
|
@ -295,9 +307,13 @@ void PreferencesDialog::setInitialGUIState()
|
|||
ui->GraphsSweepHide->setChecked(p->Graphs.SweepIndicator.hide);
|
||||
ui->GraphsSweepHidePercent->setValue(p->Graphs.SweepIndicator.hidePercent);
|
||||
ui->graphsEnableMasterTicksForYAxis->setChecked(p->Graphs.enableMasterTicksForYAxis);
|
||||
for(unsigned int i=(int) YAxis::Type::Disabled + 1;i<(int) YAxis::Type::Last;i++) {
|
||||
auto type = (YAxis::Type) i;
|
||||
graphAxisLimitsMinEntries[type]->setValue(p->Graphs.defaultAxisLimits.min[i]);
|
||||
graphAxisLimitsMaxEntries[type]->setValue(p->Graphs.defaultAxisLimits.max[i]);
|
||||
}
|
||||
|
||||
ui->MarkerShowMarkerData->setChecked(p->Marker.defaultBehavior.showDataOnGraphs);
|
||||
|
||||
ui->MarkerShowdB->setChecked(p->Marker.defaultBehavior.showdB);
|
||||
ui->MarkerShowdBm->setChecked(p->Marker.defaultBehavior.showdBm);
|
||||
ui->MarkerShowdBUv->setChecked(p->Marker.defaultBehavior.showdBuV);
|
||||
|
|
@ -412,6 +428,11 @@ void PreferencesDialog::updateFromGUI()
|
|||
p->Graphs.SweepIndicator.hide = ui->GraphsSweepHide->isChecked();
|
||||
p->Graphs.SweepIndicator.hidePercent = ui->GraphsSweepHidePercent->value();
|
||||
p->Graphs.enableMasterTicksForYAxis = ui->graphsEnableMasterTicksForYAxis->isChecked();
|
||||
for(unsigned int i=(int) YAxis::Type::Disabled + 1;i<(int) YAxis::Type::Last;i++) {
|
||||
auto type = (YAxis::Type) i;
|
||||
p->Graphs.defaultAxisLimits.min[i] = graphAxisLimitsMinEntries[type]->value();
|
||||
p->Graphs.defaultAxisLimits.max[i] = graphAxisLimitsMaxEntries[type]->value();
|
||||
}
|
||||
|
||||
p->Marker.defaultBehavior.showDataOnGraphs = ui->MarkerShowMarkerData->isChecked();
|
||||
p->Marker.defaultBehavior.showdB = ui->MarkerShowdB->isChecked();
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@
|
|||
|
||||
#include "Util/qpointervariant.h"
|
||||
#include "savable.h"
|
||||
#include "Traces/traceaxis.h"
|
||||
#include "CustomWidgets/siunitedit.h"
|
||||
|
||||
#include "Device/LibreVNA/Compound/compounddevice.h"
|
||||
|
||||
|
|
@ -156,6 +158,11 @@ public:
|
|||
QString transmission;
|
||||
QString reflection;
|
||||
} defaultGraphs;
|
||||
|
||||
struct {
|
||||
double min[(int) YAxis::Type::Last];
|
||||
double max[(int) YAxis::Type::Last];
|
||||
} defaultAxisLimits;
|
||||
} Graphs;
|
||||
struct {
|
||||
struct {
|
||||
|
|
@ -281,6 +288,46 @@ private:
|
|||
{&Graphs.SweepIndicator.hidePercent, "Graphs.SweepIndicator.hidePercent", 3.0},
|
||||
{&Graphs.defaultGraphs.transmission, "Graphs.defaultGraphs.transmission", "XY Plot"},
|
||||
{&Graphs.defaultGraphs.reflection, "Graphs.defaultGraphs.reflection", "Smith Chart"},
|
||||
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::Magnitude], "Graphs.defaultAxisLimits.Magnitude.max", 20.0},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::Magnitude], "Graphs.defaultAxisLimits.Magnitude.min", -120.0},
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::MagnitudedBuV], "Graphs.defaultAxisLimits.MagnitudedBuV.max", 128.0},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::MagnitudedBuV], "Graphs.defaultAxisLimits.MagnitudedBuV.min", -13.0},
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::MagnitudeLinear], "Graphs.defaultAxisLimits.MagnitudeLinear.max", 1.0},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::MagnitudeLinear], "Graphs.defaultAxisLimits.MagnitudeLinear.min", 0.0},
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::Phase], "Graphs.defaultAxisLimits.Phase.max",180.0},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::Phase], "Graphs.defaultAxisLimits.Phase.min", -180.0},
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::UnwrappedPhase], "Graphs.defaultAxisLimits.UnwrappedPhase.max", 0.0},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::UnwrappedPhase], "Graphs.defaultAxisLimits.UnwrappedPhase.min", -360.0},
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::VSWR], "Graphs.defaultAxisLimits.VSWR.max", 10.0},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::VSWR], "Graphs.defaultAxisLimits.VSWR.min", 1.0},
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::Real], "Graphs.defaultAxisLimits.Real.max", 1.0},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::Real], "Graphs.defaultAxisLimits.Real.min", -1.0},
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::Imaginary], "Graphs.defaultAxisLimits.Imaginary.max", 1.0},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::Imaginary], "Graphs.defaultAxisLimits.Imaginary.min", -1.0},
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::AbsImpedance], "Graphs.defaultAxisLimits.AbsImpedance.max", 100.0},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::AbsImpedance], "Graphs.defaultAxisLimits.AbsImpedance.min", 0.0},
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::SeriesR], "Graphs.defaultAxisLimits.SeriesR.max", 100.0},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::SeriesR], "Graphs.defaultAxisLimits.SeriesR.min", 0.0},
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::Reactance], "Graphs.defaultAxisLimits.Reactance.max", 100.0},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::Reactance], "Graphs.defaultAxisLimits.Reactance.min", 0.0},
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::Capacitance], "Graphs.defaultAxisLimits.Capacitance.max", 10e-6},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::Capacitance], "Graphs.defaultAxisLimits.Capacitance.min", 0},
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::Inductance], "Graphs.defaultAxisLimits.Inductance.max", 1e-3},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::Inductance], "Graphs.defaultAxisLimits.Inductance.min", 0},
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::QualityFactor], "Graphs.defaultAxisLimits.QualityFactor.max", 100.0},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::QualityFactor], "Graphs.defaultAxisLimits.QualityFactor.min", 0.0},
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::GroupDelay], "Graphs.defaultAxisLimits.GroupDelay.max", 1e-6},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::GroupDelay], "Graphs.defaultAxisLimits.GroupDelay.min", 0.0},
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::ImpulseReal], "Graphs.defaultAxisLimits.ImpulseReal.max", 1.0},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::ImpulseReal], "Graphs.defaultAxisLimits.ImpulseReal.min", -1.0},
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::ImpulseMag], "Graphs.defaultAxisLimits.ImpulseMag.max", 0.0},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::ImpulseMag], "Graphs.defaultAxisLimits.ImpulseMag.min", -100.0},
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::Step], "Graphs.defaultAxisLimits.Step.max", 1.0},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::Step], "Graphs.defaultAxisLimits.Step.min", -1.0},
|
||||
{&Graphs.defaultAxisLimits.max[(int) YAxis::Type::Impedance], "Graphs.defaultAxisLimits.Impedance.max", 100.0},
|
||||
{&Graphs.defaultAxisLimits.min[(int) YAxis::Type::Impedance], "Graphs.defaultAxisLimits.Impedance.min", 0.0},
|
||||
|
||||
{&Marker.defaultBehavior.showDataOnGraphs, "Marker.defaultBehavior.ShowDataOnGraphs", true},
|
||||
{&Marker.defaultBehavior.showdB, "Marker.defaultBehavior.showdB", true},
|
||||
{&Marker.defaultBehavior.showdBm, "Marker.defaultBehavior.showdBm", true},
|
||||
|
|
@ -345,6 +392,8 @@ private:
|
|||
void updateFromGUI();
|
||||
Ui::PreferencesDialog *ui;
|
||||
Preferences *p;
|
||||
std::map<YAxis::Type, SIUnitEdit*> graphAxisLimitsMaxEntries;
|
||||
std::map<YAxis::Type, SIUnitEdit*> graphAxisLimitsMinEntries;
|
||||
};
|
||||
|
||||
#endif // PREFERENCESDIALOG_H
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@
|
|||
</size>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>3</number>
|
||||
<number>2</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="Startup">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
|
|
@ -112,8 +112,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>683</width>
|
||||
<height>928</height>
|
||||
<width>522</width>
|
||||
<height>945</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_13">
|
||||
|
|
@ -713,8 +713,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>697</width>
|
||||
<height>563</height>
|
||||
<width>564</width>
|
||||
<height>477</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_21">
|
||||
|
|
@ -953,9 +953,9 @@
|
|||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<y>-622</y>
|
||||
<width>683</width>
|
||||
<height>1118</height>
|
||||
<height>1185</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_22">
|
||||
|
|
@ -1443,6 +1443,36 @@
|
|||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="GraphAxisLimitGroup">
|
||||
<property name="title">
|
||||
<string>Default Y Axis limits</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="label_66">
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-weight:700;">Default Maximum Limit</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_65">
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-weight:700;">Axis Type</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="label_67">
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-weight:700;">Default Minimum Limit</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
|
|
@ -1475,8 +1505,8 @@
|
|||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>-65</y>
|
||||
<width>683</width>
|
||||
<y>0</y>
|
||||
<width>602</width>
|
||||
<height>628</height>
|
||||
</rect>
|
||||
</property>
|
||||
|
|
|
|||
Loading…
Reference in a new issue