#include "DacDisplayAndEdit.h" #include "ui_dacdisplayandedit.h" #include "QLatin1Char" #include "qdebug.h" #include "qmessagebox.h" DacDisplayAndEdit::DacDisplayAndEdit(QWidget *parent) : QWidget(parent), ui(new Ui::DacDisplayAndEdit) { ui->setupUi(this); for(int i = 0; i < DAC_GRID_MAX_ROW*DAC_GRID_MAX_COL; i++){ memLineEdit[i] = new QLineEdit(this); memLineEdit[i]->setAccessibleName(QString::number(i)); memLineEdit[i]->setEnabled(false); ui->gridLayoutMem->addWidget(memLineEdit[i],(i/DAC_GRID_MAX_COL) + 1,(i%DAC_GRID_MAX_COL) + 1); connect(memLineEdit[i],SIGNAL(editingFinished ()),this,SLOT(onLineEditEditingFinished())); } for(int i = 0; i < DAC_GRID_MAX_ROW; i++){ rowLabel[i] = new QLabel(this); ui->gridLayoutMem->addWidget(rowLabel[i],i + 1,0); } editFlag = false; writeMemBaseAddr = 0; readMemBaseAddr = 0; setEnabled(1); } DacDisplayAndEdit::~DacDisplayAndEdit() { delete ui; } // updateSysStatusToUI void DacDisplayAndEdit::updateSysStatusToUI(void){ // } void DacDisplayAndEdit::updateAuthorization(int auth) { //qDebug ()<setText(QString(" ")); for(int i = 1; i < DAC_GRID_MAX_ROW*DAC_GRID_MAX_COL; i++){ if(sysPara->para.adjVolDacRate[i&MAX_RD_DAC_SIZE_MASK]>25)sysPara->para.adjVolDacRate[i&MAX_RD_DAC_SIZE_MASK]=25; if(sysPara->para.adjVolDacRate[i&MAX_RD_DAC_SIZE_MASK]<5) sysPara->para.adjVolDacRate[i&MAX_RD_DAC_SIZE_MASK]=5; memLineEdit[i]->setText(QString("%1").arg(sysPara->para.adjVolDacRate[i&MAX_RD_DAC_SIZE_MASK],2,10/*,QLatin1Char('0')*/)); } } } void DacDisplayAndEdit::on_pushButtonEdit_pressed() {//ddd if(sysPara){ editFlag = !editFlag; for(int i = 1; i < DAC_GRID_MAX_ROW*DAC_GRID_MAX_COL; i++){ memLineEdit[i]->setEnabled(editFlag); if(editFlag) memLineEdit[i]->setText(QString("%1").arg(sysPara->para.adjVolDacRate[i&MAX_RD_DAC_SIZE_MASK],2,10,QLatin1Char('0'))); } ui->pushButtonEdit->setText(editFlag?tr("完成"):tr("编辑")); } } void DacDisplayAndEdit::on_pushButtonDefault_pressed()// pushButtonDefault pushButtonDefault { if(sysPara){ QMessageBox msgBox(QMessageBox::Information,tr("提示"),tr("是否将点距微调参数设置为默认值?")); QPushButton *saveButton = msgBox.addButton(tr("是"), QMessageBox::ActionRole); QPushButton *cancleSaveButton = msgBox.addButton(tr("否"), QMessageBox::ActionRole); QPushButton *abortButton = msgBox.addButton(QMessageBox::Cancel); msgBox.exec(); if (msgBox.clickedButton() == saveButton) { for(int i = 1; i < DAC_GRID_MAX_ROW*DAC_GRID_MAX_COL; i++){ sysPara->para.adjVolDacRate[i&MAX_RD_DAC_SIZE_MASK]=15; memLineEdit[i]->setText(tr("%1").arg(sysPara->para.adjVolDacRate[i&MAX_RD_DAC_SIZE_MASK],2,10,QLatin1Char('0'))); } } } else qDebug()<<"sysPara not bind!"; } void DacDisplayAndEdit::onLineEditEditingFinished(){ int val,addr=0; bool ok; QLineEdit * edit = qobject_cast(sender()); QString name = edit->accessibleName(); val = edit->text().toInt(&ok,10); if(sysPara){ addr = name.toInt(&ok); if(val>25)val=25; if(val<5) val =5; sysPara->para.adjVolDacRate[(addr)&MAX_RD_DAC_SIZE_MASK] = (unsigned char)val; } }