27 #include "../../core/filesystem/FileSystem.h" 28 #include "ui_VolumeResultDialogForm.h" 31 #include <QFileDialog> 32 #include <QMessageBox> 35 #include <boost/filesystem.hpp> 36 #include <boost/property_tree/json_parser.hpp> 40 std::vector<std::string> &cortevec,
41 std::vector<std::string> &aterrovec,
42 std::vector<std::string> &areavec,
43 std::vector<std::string> &iquotavec,
48 m_ui(new
Ui::VolumeResultDialogForm)
56 m_ui->m_helpPushButton->setNameSpace(
"dpi.inpe.br.plugins");
57 m_ui->m_helpPushButton->setPageReference(
"plugins/mnt/DTM_VolumeResult.html");
59 m_ui->m_resultTableWidget->setHorizontalHeaderItem(0,
new QTableWidgetItem(QString(attr.c_str())));
61 size_t nrows = polyvec.size();
62 m_ui->m_resultTableWidget->setRowCount((
int)nrows);
63 for (
size_t i = 0; i < nrows; i++)
65 QTableWidgetItem *item1 =
new QTableWidgetItem(QString(polyvec[i].c_str()));
66 QTableWidgetItem *item2 =
new QTableWidgetItem(QString(cortevec[i].c_str()));
67 QTableWidgetItem *item3 =
new QTableWidgetItem(QString(aterrovec[i].c_str()));
68 QTableWidgetItem *item4 =
new QTableWidgetItem(QString(areavec[i].c_str()));
69 QTableWidgetItem *item5 =
new QTableWidgetItem(QString(iquotavec[i].c_str()));
70 m_ui->m_resultTableWidget->setItem((
int)i, 0, item1);
71 m_ui->m_resultTableWidget->setItem((
int)i, 1, item2);
72 m_ui->m_resultTableWidget->setItem((
int)i, 2, item3);
73 m_ui->m_resultTableWidget->setItem((
int)i, 3, item4);
74 m_ui->m_resultTableWidget->setItem((
int)i, 4, item5);
82 QString fileName = QFileDialog::getSaveFileName(
this, tr(
"Save as..."),
83 QString(), tr(
"txt (*.txt *.TXT);;"),
nullptr);
86 if (fileName.isEmpty())
93 catch (
const std::exception& e)
95 QMessageBox::information(
this, tr(
"TIN Generation"), e.what());
111 int rowCount =
m_ui->m_resultTableWidget->rowCount();
112 int colCount =
m_ui->m_resultTableWidget->columnCount();
120 boost::property_tree::ptree itens;
121 for (
int r = 0; r < rowCount; r++)
123 boost::property_tree::ptree item;
124 for (
int i = 0; i < colCount; i++)
126 QTableWidgetItem *res =
m_ui->m_resultTableWidget->horizontalHeaderItem(i);
128 item.add(res->text().toUtf8().data(),
m_ui->m_resultTableWidget->item(r, i)->text().toUtf8().data());
130 itens.add_child(
"Polygon", item);
133 boost::property_tree::ptree pt;
134 pt.add_child(
"Volume", itens);
135 boost::property_tree::write_json(path, pt);
137 QMessageBox::warning(
this, tr(
"Volume"), tr(
"File was saved succesfully!"));
VolumeResultDialog(std::vector< std::string > &polyvec, std::vector< std::string > &cortevec, std::vector< std::string > &aterrovec, std::vector< std::string > &areavec, std::vector< std::string > &iquotavec, std::string &attr, QWidget *parent=0, Qt::WindowFlags f=0)
std::unique_ptr< Ui::VolumeResultDialogForm > m_ui
void saveVolume(const std::string &path)
A dialog Show Calculate Volume Results.
static bool remove(const std::string &path)
Removes a file or directory from a given path in UTF-8.
void onCancelPushButtonClicked()
void onSavePushButtonClicked()