mirror of
https://github.com/jankae/LibreVNA.git
synced 2026-04-06 15:04:11 +00:00
Refactoring: splitting mode logic into different classes
This commit is contained in:
parent
e266d37b96
commit
b7033a029e
32 changed files with 1200 additions and 1563 deletions
63
Software/PC_Application/Generator/signalgenwidget.cpp
Normal file
63
Software/PC_Application/Generator/signalgenwidget.cpp
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
#include "signalgenwidget.h"
|
||||
#include "ui_signalgenerator.h"
|
||||
|
||||
SignalgeneratorWidget::SignalgeneratorWidget(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::SignalgeneratorWidget)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
ui->frequency->setUnit("Hz");
|
||||
ui->frequency->setPrefixes(" kMG");
|
||||
|
||||
connect(ui->frequency, &SIUnitEdit::valueChanged, [=](double newval) {
|
||||
// TODO centralize min/max values
|
||||
if(newval < 9000) {
|
||||
newval = 9000;
|
||||
} else if (newval > 6000000000) {
|
||||
newval = 6000000000;
|
||||
}
|
||||
ui->frequency->setValueQuiet(newval);
|
||||
emit SettingsChanged();
|
||||
});
|
||||
connect(ui->levelSpin, qOverload<double>(&QDoubleSpinBox::valueChanged), this, &SignalgeneratorWidget::setLevel);
|
||||
connect(ui->levelSlider, &QSlider::valueChanged, [=](int value) {
|
||||
setLevel((double) value / 100.0);
|
||||
});
|
||||
connect(ui->EnablePort1, &QCheckBox::clicked, [=](){
|
||||
if(ui->EnablePort1->isChecked() && ui->EnablePort2->isChecked()) {
|
||||
ui->EnablePort2->setCheckState(Qt::CheckState::Unchecked);
|
||||
}
|
||||
emit SettingsChanged();
|
||||
});
|
||||
connect(ui->EnablePort2, &QCheckBox::clicked, [=](){
|
||||
if(ui->EnablePort1->isChecked() && ui->EnablePort2->isChecked()) {
|
||||
ui->EnablePort1->setCheckState(Qt::CheckState::Unchecked);
|
||||
}
|
||||
emit SettingsChanged();
|
||||
});
|
||||
}
|
||||
|
||||
SignalgeneratorWidget::~SignalgeneratorWidget()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
Protocol::ManualControl SignalgeneratorWidget::getDeviceStatus()
|
||||
{
|
||||
// TODO
|
||||
Protocol::ManualControl s = {};
|
||||
return s;
|
||||
}
|
||||
|
||||
void SignalgeneratorWidget::setLevel(double level)
|
||||
{
|
||||
// TODO constrain to frequency dependent levels
|
||||
ui->levelSpin->blockSignals(true);
|
||||
ui->levelSlider->blockSignals(true);
|
||||
ui->levelSpin->setValue(level);
|
||||
ui->levelSlider->setValue(level * 100.0);
|
||||
ui->levelSpin->blockSignals(false);
|
||||
ui->levelSlider->blockSignals(false);
|
||||
SettingsChanged();
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue