208 lines
7.0 KiB
C++
208 lines
7.0 KiB
C++
#include "sscancompsetwidget.h"
|
|
#include "rs_settings.h"
|
|
#include <QFileDialog>
|
|
#include "deviceproxy.h"
|
|
#include "rs_settings.h"
|
|
|
|
|
|
|
|
SScanCompSetWidget::SScanCompSetWidget(QWidget* parent)
|
|
:QFrame(parent)
|
|
,ui(new Ui::SScanCompSetWidget)
|
|
{
|
|
ui->setupUi(this);
|
|
loadSet();
|
|
connect(ui->dsbXWorkRang,SIGNAL(valueChanged(double)),this,SLOT(dsbXWorkRangValueChangedHandl(double)));
|
|
connect(ui->dsbXInterval,SIGNAL(valueChanged(double)),this,SLOT(dsbXIntervalValueChangedHandl(double)));
|
|
connect(ui->dsbYWorkRang,SIGNAL(valueChanged(double)),this,SLOT(dsbYWorkRangValueChangedHandl(double)));
|
|
connect(ui->dsbYInterval,SIGNAL(valueChanged(double)),this,SLOT(dsbYIntervalValueChangedHandl(double)));
|
|
}
|
|
|
|
void SScanCompSetWidget::loadSet()
|
|
{
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
double temp = RS_SETTINGS->readNumDEntry("/XRange",1.0);
|
|
ui->dsbXWorkRang->setValue(temp);
|
|
RS_SETTINGS->endGroup();
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
temp = RS_SETTINGS->readNumDEntry("/YRange",1.0);
|
|
ui->dsbYWorkRang->setValue(temp);
|
|
RS_SETTINGS->endGroup();
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
temp = RS_SETTINGS->readNumDEntry("/XInterval",1.0);
|
|
ui->dsbXInterval->setValue(temp);
|
|
RS_SETTINGS->endGroup();
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
temp = RS_SETTINGS->readNumDEntry("/YInterval",1.0);
|
|
ui->dsbYInterval->setValue(temp);
|
|
RS_SETTINGS->endGroup();
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
temp = RS_SETTINGS->readNumDEntry("/lowerLimit");
|
|
ui->dsbLowerLimit->setValue(temp);
|
|
RS_SETTINGS->endGroup();
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
temp = RS_SETTINGS->readNumDEntry("/upperLimit");
|
|
ui->dsbUpperLimit->setValue(temp);
|
|
RS_SETTINGS->endGroup();
|
|
RS_SETTINGS->beginGroup("device/SSCS"); //?path读不到
|
|
QString savePath = RS_SETTINGS->readEntry("/dataSavePath");
|
|
ui->lePath->setText(savePath);//dataSavePath
|
|
RS_SETTINGS->endGroup();
|
|
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
temp = RS_SETTINGS->readNumDEntry("/AdjacentPoint");
|
|
ui->dsbAdjacentPoint->setValue(temp);
|
|
RS_SETTINGS->endGroup();
|
|
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
temp = RS_SETTINGS->readNumDEntry("/AllRange");
|
|
ui->dsbAllRange->setValue(temp);
|
|
RS_SETTINGS->endGroup();
|
|
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
temp = RS_SETTINGS->readNumDEntry("/PowerThreshold");
|
|
ui->dsbPowerThreshold->setValue(temp);
|
|
RS_SETTINGS->endGroup();
|
|
}
|
|
|
|
void SScanCompSetWidget::dsbXWorkRangValueChangedHandl(double value)
|
|
{
|
|
double diffValue = ui->dsbXWorkRang->value()/ui->dsbXInterval->value();
|
|
if(abs(diffValue - int(diffValue) ) > 0.0000001)
|
|
{
|
|
int multiple = int(diffValue);
|
|
|
|
double xWorkRangNew = double(multiple*ui->dsbXInterval->value());
|
|
//注意最小值问题
|
|
if(xWorkRangNew<1)
|
|
{
|
|
xWorkRangNew+=ui->dsbXInterval->value();
|
|
}
|
|
|
|
disconnect(ui->dsbXWorkRang,SIGNAL(valueChanged(double)),this,SLOT(dsbXWorkRangValueChangedHandl(double)));
|
|
ui->dsbXWorkRang->setValue(xWorkRangNew);
|
|
connect(ui->dsbXWorkRang,SIGNAL(valueChanged(double)),this,SLOT(dsbXWorkRangValueChangedHandl(double)));
|
|
value = xWorkRangNew;
|
|
}
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
RS_SETTINGS->writeEntry("/XRange",value);
|
|
RS_SETTINGS->endGroup();
|
|
}
|
|
|
|
void SScanCompSetWidget::dsbYWorkRangValueChangedHandl(double value)
|
|
{
|
|
double diffValue = ui->dsbYWorkRang->value()/ui->dsbYInterval->value();
|
|
if(abs(diffValue - int(diffValue) ) > 0.0000001)
|
|
{
|
|
int multiple = int(diffValue);
|
|
|
|
double yWorkRangNew = double(multiple*ui->dsbYInterval->value());
|
|
if(yWorkRangNew<1)
|
|
{
|
|
yWorkRangNew+=ui->dsbYInterval->value();
|
|
}
|
|
disconnect(ui->dsbYWorkRang,SIGNAL(valueChanged(double)),this,SLOT(dsbYWorkRangValueChangedHandl(double)));
|
|
ui->dsbYWorkRang->setValue(yWorkRangNew);
|
|
connect(ui->dsbYWorkRang,SIGNAL(valueChanged(double)),this,SLOT(dsbYWorkRangValueChangedHandl(double)));
|
|
value = yWorkRangNew;
|
|
}
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
RS_SETTINGS->writeEntry("/YRange",value);
|
|
RS_SETTINGS->endGroup();
|
|
}
|
|
|
|
void SScanCompSetWidget::dsbXIntervalValueChangedHandl(double value)
|
|
{
|
|
|
|
double diffValue = ui->dsbXWorkRang->value()/ui->dsbXInterval->value();
|
|
if(abs(diffValue - int(diffValue) ) > 0.0000001)
|
|
{
|
|
int multiple = int(diffValue);
|
|
double XWorkRangNewValue = double(multiple*ui->dsbXInterval->value());
|
|
if(XWorkRangNewValue<1)
|
|
{
|
|
XWorkRangNewValue+=ui->dsbXInterval->value();
|
|
}
|
|
ui->dsbXWorkRang->setValue(XWorkRangNewValue);
|
|
}
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
RS_SETTINGS->writeEntry("/XInterval",value);
|
|
RS_SETTINGS->endGroup();
|
|
}
|
|
|
|
void SScanCompSetWidget::dsbYIntervalValueChangedHandl(double value)
|
|
{
|
|
double diffValue = ui->dsbYWorkRang->value()/ui->dsbYInterval->value();
|
|
|
|
if(abs(diffValue - int(diffValue) ) > 0.0000001)
|
|
{
|
|
int multiple = int(diffValue);
|
|
double YWorkRangNewValue = double(multiple*ui->dsbYInterval->value());
|
|
if(YWorkRangNewValue<1)
|
|
{
|
|
YWorkRangNewValue+=ui->dsbYInterval->value();
|
|
}
|
|
ui->dsbYWorkRang->setValue(YWorkRangNewValue);
|
|
}
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
RS_SETTINGS->writeEntry("/YInterval",value);
|
|
RS_SETTINGS->endGroup();
|
|
}
|
|
|
|
void SScanCompSetWidget::on_dsbUpperLimit_valueChanged(double value)
|
|
{
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
RS_SETTINGS->writeEntry("/upperLimit",value);
|
|
RS_SETTINGS->endGroup();
|
|
}
|
|
void SScanCompSetWidget::on_dsbLowerLimit_valueChanged(double value)
|
|
{
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
RS_SETTINGS->writeEntry("/lowerLimit",value);
|
|
RS_SETTINGS->endGroup();
|
|
}
|
|
|
|
void SScanCompSetWidget::on_pbBrowse_clicked()
|
|
{
|
|
QString savePath;
|
|
savePath = QFileDialog::getExistingDirectory(this,"路径选择");
|
|
ui->lePath->setText(savePath);
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
RS_SETTINGS->writeEntry("/dataSavePath",savePath);
|
|
RS_SETTINGS->endGroup();
|
|
}
|
|
|
|
|
|
void SScanCompSetWidget::on_pbSscanLoadFromFile_clicked()
|
|
{
|
|
QString SscanDataFilePath = QFileDialog::getOpenFileName(this,"选择加工代码");
|
|
DEV->LoadFromCsv(SscanDataFilePath);
|
|
QMessageBox msg(this);
|
|
msg.setWindowTitle("加载提示");
|
|
msg.setText("加载成功,需确保加载文件和扫描参数匹配!");
|
|
msg.setIcon(QMessageBox::Warning);
|
|
msg.exec();
|
|
|
|
}
|
|
|
|
void SScanCompSetWidget::on_dsbAdjacentPoint_valueChanged(double arg1)
|
|
{
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
RS_SETTINGS->writeEntry("/AdjacentPoint",arg1);
|
|
RS_SETTINGS->endGroup();
|
|
}
|
|
|
|
void SScanCompSetWidget::on_dsbAllRange_valueChanged(double arg1)
|
|
{
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
RS_SETTINGS->writeEntry("/AllRange",arg1);
|
|
RS_SETTINGS->endGroup();
|
|
}
|
|
|
|
void SScanCompSetWidget::on_dsbPowerThreshold_valueChanged(double arg1)
|
|
{
|
|
RS_SETTINGS->beginGroup("device/SSCS");
|
|
RS_SETTINGS->writeEntry("/PowerThreshold",arg1);
|
|
RS_SETTINGS->endGroup();
|
|
}
|