117 lines
3.6 KiB
C++
117 lines
3.6 KiB
C++
|
#include "QOrthSlrRaster.h"
|
|||
|
#include <QtWidgets>
|
|||
|
#include <QFileDialog>
|
|||
|
#include "QToolProcessBarDialog.h"
|
|||
|
#include "BaseTool.h"
|
|||
|
#include "FileOperator.h"
|
|||
|
#include "GF3CalibrationAndGeocodingClass.h"
|
|||
|
|
|||
|
|
|||
|
QOrthSlrRaster::QOrthSlrRaster(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)));
|
|||
|
QObject::connect(ui.buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
|
|||
|
}
|
|||
|
|
|||
|
QOrthSlrRaster::~QOrthSlrRaster()
|
|||
|
{}
|
|||
|
|
|||
|
void QOrthSlrRaster::accept()
|
|||
|
{
|
|||
|
QToolProcessBarDialog* processdialog = new QToolProcessBarDialog(this);
|
|||
|
processdialog->show();
|
|||
|
processdialog->showProcess(0.0, u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
QVector<QString> infile(ui.listWidgetMetaxml->count());
|
|||
|
QString outworkdirstring = ui.lineEditWorkDir->text();
|
|||
|
QString inlooktablePath = ui.lineEditDEM->text();
|
|||
|
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>\t" + infile[i]);
|
|||
|
processdialog->showToolInfo(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ұ<EFBFBD><EFBFBD><EFBFBD>\t" + inlooktablePath);
|
|||
|
processdialog->showToolInfo(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ䣺\t" + outworkdirstring);
|
|||
|
QString outname = getFileNameWidthoutExtend(infile[i])+"_orth.tif";
|
|||
|
processdialog->showToolInfo(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t" + outname);
|
|||
|
QString outstring = JoinPath(outworkdirstring, outname);
|
|||
|
|
|||
|
if (GF3OrthSLC(infile[i], inlooktablePath, outstring) == SUCCESS) {
|
|||
|
processdialog->showToolInfo(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳɹ<EFBFBD>");
|
|||
|
}
|
|||
|
else {
|
|||
|
processdialog->showToolInfo(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>");
|
|||
|
}
|
|||
|
}
|
|||
|
processdialog->close();
|
|||
|
}
|
|||
|
|
|||
|
void QOrthSlrRaster::reject()
|
|||
|
{
|
|||
|
this->close();
|
|||
|
}
|
|||
|
|
|||
|
void QOrthSlrRaster::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 QOrthSlrRaster::onpushButtonRemoveClicked(bool)
|
|||
|
{
|
|||
|
QList<QListWidgetItem*> selectedItems = this->ui.listWidgetMetaxml->selectedItems();
|
|||
|
for (QListWidgetItem* item : selectedItems) {
|
|||
|
delete this->ui.listWidgetMetaxml->takeItem(this->ui.listWidgetMetaxml->row(item));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void QOrthSlrRaster::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 QOrthSlrRaster::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>"));
|
|||
|
}
|
|||
|
}
|
|||
|
|