RasterProcessTool/GF3ProcessToolbox/QRDOrthProcessClass.cpp

119 lines
3.7 KiB
C++
Raw Normal View History

#include "QRDOrthProcessClass.h"
#include <QtWidgets>
#include <QFileDialog>
#include "QToolProcessBarDialog.h"
#include <GF3CalibrationAndGeocodingClass.h>
QRDOrthProcessClass::QRDOrthProcessClass(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);
connect(ui.pushButtonAdd,SIGNAL(clicked(bool)),this,SLOT(onpushButtonAddClicked(bool)));
connect(ui.pushButtonRemove,SIGNAL(clicked(bool)),this,SLOT(onpushButtonRemoveClicked(bool)));
connect(ui.pushButtonDEMSelect,SIGNAL(clicked(bool)),this,SLOT(onpushButtonWorkSpaceClicked(bool)));
connect(ui.pushButtonWorkSpace, SIGNAL(clicked(bool)), this, SLOT(pushButtonDEMSelectClicked(bool)));
2024-11-25 17:51:20 +00:00
QObject::connect(ui.buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
// QDialogButtonBox* buttonBox;
//QLineEdit* lineEditDEM;
//QLineEdit* lineEditWorkDir;
}
QRDOrthProcessClass::~QRDOrthProcessClass()
{}
void QRDOrthProcessClass::accept()
{
QToolProcessBarDialog* processdialog = new QToolProcessBarDialog(this);
processdialog->show();
processdialog->showProcess(0.0, u8"<EFBFBD><EFBFBD><EFBFBD>ұ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
QVector<QString> infile(ui.listWidgetMetaxml->count());
QString outstring = ui.lineEditWorkDir->text();
QString indemPath = ui.lineEditDEM->text();
double gridx = ui.lineEdit_gridx->text().toDouble();
double gridy = ui.lineEdit_gridy->text().toDouble();
for (long i = 0; i < ui.listWidgetMetaxml->count(); i++) {
infile[i] = ui.listWidgetMetaxml->item(i)->text();
processdialog->showToolInfo(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t"+ infile[i]);
processdialog->showToolInfo(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>DEM<EFBFBD><EFBFBD>\t"+ indemPath);
processdialog->showToolInfo(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ\t"+outstring);
processdialog->showToolInfo(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD><EFBFBD>\t"+ ui.lineEdit_gridx->text());
processdialog->showToolInfo(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y<EFBFBD><EFBFBD>\t"+ ui.lineEdit_gridy->text());
if (GF3RDProcess(infile[i], indemPath, outstring, gridx, gridy) == SUCCESS) {
processdialog->showToolInfo(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳɹ<EFBFBD>");
}
else {
processdialog->showToolInfo(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>");
}
}
processdialog->close();
}
void QRDOrthProcessClass::reject()
{
this->close();
}
void QRDOrthProcessClass::onpushButtonAddClicked(bool)
{
QStringList fileNames = QFileDialog::getOpenFileNames(
this, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tr(u8"ѡ<EFBFBD><EFBFBD>xml<EFBFBD>ļ<EFBFBD>"), // <20><><EFBFBD><EFBFBD>
QString(), // Ĭ<><C4AC>·<EFBFBD><C2B7>
tr(u8"xml Files (*.xml);;All Files (*)") // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
);
// <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
if (!fileNames.isEmpty()) {
QString message = "ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>У<EFBFBD>\n";
for (const QString& fileName : fileNames) {
this->ui.listWidgetMetaxml->addItem(fileName);
}
}
else {
QMessageBox::information(this, tr(u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"), tr(u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>"));
}
}
void QRDOrthProcessClass::onpushButtonRemoveClicked(bool)
{
QList<QListWidgetItem*> selectedItems = this->ui.listWidgetMetaxml->selectedItems();
for (QListWidgetItem* item : selectedItems) {
delete this->ui.listWidgetMetaxml->takeItem(this->ui.listWidgetMetaxml->row(item));
}
}
void QRDOrthProcessClass::onpushButtonWorkSpaceClicked(bool)
{
QString fileName = QFileDialog::getExistingDirectory(this, u8"ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>·<EFBFBD><EFBFBD>", "");
if (!fileName.isEmpty()) {
this->ui.lineEditWorkDir->setText(fileName);
}
else {
QMessageBox::information(this, u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>", u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>");
}
}
void QRDOrthProcessClass::pushButtonDEMSelectClicked(bool)
{
QString fileName = QFileDialog::getOpenFileName(
this, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tr(u8"ѡ<EFBFBD><EFBFBD>tif<EFBFBD>ļ<EFBFBD>"), // <20><><EFBFBD><EFBFBD>
QString(), // Ĭ<><C4AC>·<EFBFBD><C2B7>
tr(u8"tif Files (*.tif);;All Files (*)") // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
);
// <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
if (!fileName.isEmpty()) {
QString message = "ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>У<EFBFBD>\n";
ui.lineEditDEM->setText(fileName);
}
else {
QMessageBox::information(this, tr(u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"), tr(u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>"));
}
}