Исправление ошибки диапазона для записи уставок на четвёртой плате.

This commit is contained in:
Вячеслав Штейбезандт 2025-10-16 09:23:18 +03:00
parent 4ec595d92e
commit 227deaf686
2 changed files with 14 additions and 9 deletions

View File

@ -8,6 +8,7 @@ MultipleSettings::MultipleSettings(QWidget *parent) :
ui->setupUi(this); ui->setupUi(this);
ui->buttonBox->button(QDialogButtonBox::Ok)->setText("Записать"); ui->buttonBox->button(QDialogButtonBox::Ok)->setText("Записать");
ui->buttonBox->button(QDialogButtonBox::SaveAll)->setText("Записать и установить"); ui->buttonBox->button(QDialogButtonBox::SaveAll)->setText("Записать и установить");
selectedBoard = 0;
} }
MultipleSettings::~MultipleSettings() MultipleSettings::~MultipleSettings()
@ -36,14 +37,22 @@ void MultipleSettings::on_buttonBox_clicked(QAbstractButton *button)
void MultipleSettings::on_regTypeBox_currentIndexChanged(int index) void MultipleSettings::on_regTypeBox_currentIndexChanged(int index)
{ {
short maxRange = 0;
switch (ui->boardBox->currentIndex()) {
case 3:
maxRange = 64;
break;
default:
maxRange = 84;
}
switch (index) { switch (index) {
case 0: case 0:
case 1: case 1:
ui->adrBox->setRange(0, 84); ui->adrBox->setRange(0, maxRange);
ui->adrBox->setValue(0); ui->adrBox->setValue(0);
break; break;
case 2: case 2:
ui->adrBox->setRange(85, 170); ui->adrBox->setRange(85, 85+maxRange);
ui->adrBox->setValue(85); ui->adrBox->setValue(85);
break; break;
} }
@ -51,13 +60,8 @@ void MultipleSettings::on_regTypeBox_currentIndexChanged(int index)
void MultipleSettings::on_boardBox_currentIndexChanged(int index) void MultipleSettings::on_boardBox_currentIndexChanged(int index)
{ {
switch (index) { selectedBoard = index;
case 3: on_regTypeBox_currentIndexChanged(ui->regTypeBox->currentIndex());
ui->countBox->setRange(1, 65-ui->adrBox->value()+85*ui->regTypeBox->currentIndex()/2);
break;
default:
ui->countBox->setRange(1, 85-ui->adrBox->value()+85*ui->regTypeBox->currentIndex()/2);
}
} }
void MultipleSettings::on_adrBox_valueChanged(int arg1) void MultipleSettings::on_adrBox_valueChanged(int arg1)

View File

@ -40,6 +40,7 @@ private:
unsigned countReg; unsigned countReg;
short typeReg; short typeReg;
short boardId; short boardId;
short selectedBoard;
}; };
#endif // MULTIPLESETTINGS_H #endif // MULTIPLESETTINGS_H