OGS
RasterDataToMeshDialog.cpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
5
6#include <QFileDialog>
7#include <QSettings>
8
9#include "Base/OGSError.h"
11
13 QDialog* parent)
14 : QDialog(parent)
15{
16 setupUi(this);
17
18 this->meshNameEdit->setText(QString::fromStdString(mesh_name) + "_Raster");
19 auto* no_data_validator = new StrictDoubleValidator(this);
20 this->noDataValueEdit->setValidator(no_data_validator);
21}
22
24{
25 QSettings settings;
26 QString filename = QFileDialog::getOpenFileName(
27 this, "Select raster file to open",
28 settings.value("lastOpenedRasterFileDirectory").toString(),
29 "ASCII raster files (*.asc);;All files (* *.*)");
30 this->rasterPathEdit->setText(filename);
31 QFileInfo fi(filename);
32 settings.setValue("lastOpenedRasterFileDirectory", fi.absolutePath());
33}
34
36{
37 if (this->rasterPathEdit->text().isEmpty())
38 {
39 OGSError::box("Please specify path to raster file.");
40 return;
41 }
42 else if (this->arrayNameEdit->text().isEmpty())
43 {
44 OGSError::box("Please specify a name for the new array.");
45 return;
46 }
47 else if (this->noDataValueEdit->text().isEmpty())
48 {
49 OGSError::box("Please specify No Data value.");
50 return;
51 }
52 else if (this->meshNameEdit->text().isEmpty())
53 {
54 OGSError::box("Please specify name of new mesh.");
55 return;
56 }
57
58 this->done(QDialog::Accepted);
59}
static void box(const QString &e)
Definition OGSError.cpp:13
RasterDataToMeshDialog(std::string const &mesh_name, QDialog *parent=nullptr)
A validator for an input field which only accepts decimals. Source code adapted from StackOverflow