97 lines
3.5 KiB
C++
97 lines
3.5 KiB
C++
|
|
#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 ()<<auth;
|
|
}
|
|
|
|
void DacDisplayAndEdit::updateSysParaToUI(void){
|
|
if(sysPara && !editFlag){
|
|
memLineEdit[0]->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<QLineEdit *>(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;
|
|
}
|
|
}
|