80 lines
2.5 KiB
C++
80 lines
2.5 KiB
C++
#include "dc_output_channel.h"
|
|
#include "ui_dc_output_channel.h"
|
|
#include <QMessageBox>
|
|
#include "data_config.h"
|
|
#include <QDebug>
|
|
|
|
|
|
DC_Output_Channel::DC_Output_Channel(int slot_no_,QString unit_str_,int current_index_,QWidget *parent) :
|
|
QWidget(parent),
|
|
ui(new Ui::DC_Output_Channel)
|
|
{
|
|
ui->setupUi(this);
|
|
unit_str = unit_str_;
|
|
current_index = current_index_;
|
|
slot_no = slot_no_;
|
|
ui->label_min_unit->setText(unit_str);
|
|
ui->label_max_unit->setText(unit_str);
|
|
radiobtn[0] = ui->radioButton;
|
|
radiobtn[1] = ui->radioButton_2;
|
|
radiobtn[2] = ui->radioButton_3;
|
|
radiobtn[3] = ui->radioButton_4;
|
|
radiobtn[4] = ui->radioButton_5;
|
|
int not_used = 0;
|
|
for (int i = 0; i < 22; i++) {
|
|
for (int j = 0; j < 4; j++){
|
|
if(ch_used[slot_no][i].used[j] && current_index == i){
|
|
radiobtn[j]->setEnabled(true);
|
|
radiobtn[j]->setChecked(true);
|
|
first_used = j;
|
|
}else if(ch_used[slot_no][i].used[j] && current_index != i){
|
|
radiobtn[j]->setEnabled(false);
|
|
}else if(!ch_used[slot_no][i].used[j] && current_index == i){
|
|
not_used ++;
|
|
}
|
|
}
|
|
}
|
|
if(not_used == 4){
|
|
ui->radioButton_5->setChecked(true);
|
|
}
|
|
}
|
|
|
|
DC_Output_Channel::~DC_Output_Channel()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void DC_Output_Channel::on_pushButton_confirm_clicked()
|
|
{
|
|
int channel = 0;
|
|
if(!ui->radioButton_5->isChecked() && ((ui->lineEdit_minmum->text().toFloat() >= ui->lineEdit_maxmum->text().toFloat()) ||
|
|
(ui->lineEdit_minmum->text().toFloat() == 0 && ui->lineEdit_maxmum->text().toFloat() == 0))){
|
|
QMessageBox::information(this, QStringLiteral("提示"), "请填写正确的最小值和最大值");
|
|
return;
|
|
}
|
|
if(ui->radioButton->isChecked()){
|
|
channel = 1;
|
|
}else if(ui->radioButton_2->isChecked()){
|
|
channel = 2;
|
|
}else if(ui->radioButton_3->isChecked()){
|
|
channel = 3;
|
|
}else if(ui->radioButton_4->isChecked()){
|
|
channel = 4;
|
|
}else if(ui->radioButton_5->isChecked()){
|
|
ch_used[slot_no][current_index].used[first_used] = false;
|
|
channel = 5;
|
|
}else {
|
|
QMessageBox::information(this, QStringLiteral("提示"), "请选择正确的通道");
|
|
return;
|
|
}
|
|
emit output_channel_data_sg(channel,ui->lineEdit_minmum->text().toFloat(),ui->lineEdit_maxmum->text().toFloat(),first_used);
|
|
this->close();
|
|
}
|
|
|
|
|
|
void DC_Output_Channel::on_pushButton_cancel_clicked()
|
|
{
|
|
this->close();
|
|
}
|
|
|