OGS
MeshValueEditDialog.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 "Base/OGSError.h"
8
10 : QDialog(parent), _mesh(mesh)
11{
12 setupUi(this);
13 this->edit_old_value->setEnabled(false);
14 this->edit_new_value->setEnabled(false);
15 this->replaceCheckBox->setEnabled(false);
16}
17
19
21{
22 if (this->condenseButton->isChecked())
23 {
25 }
26 else
27 {
28 if (this->edit_old_value->text().isEmpty())
29 {
30 OGSError::box("Please input which material you want to replace.");
31 return;
32 }
33 unsigned old_value =
34 static_cast<unsigned>(this->edit_old_value->text().toInt());
35 if (this->edit_new_value->text().isEmpty())
36 {
37 OGSError::box("Please input the new material to replace group " +
38 this->edit_old_value->text() + ".");
39 return;
40 }
41 unsigned new_value =
42 static_cast<unsigned>(this->edit_new_value->text().toInt());
43 bool do_not_replace = this->replaceCheckBox->isChecked();
45 *_mesh, old_value, new_value, !do_not_replace);
46 if (!result && do_not_replace)
47 {
48 OGSError::box("The new material group already exists.");
49 return;
50 }
51 }
52
54 this->done(QDialog::Accepted);
55}
56
58{
59 this->done(QDialog::Rejected);
60}
61
63{
64 this->edit_old_value->setEnabled(isSelected);
65 this->edit_new_value->setEnabled(isSelected);
66 this->replaceCheckBox->setEnabled(isSelected);
67}
static bool replace(MeshLib::Mesh &mesh, int const old_value, int const new_value, bool replace_if_exists=false)
static std::size_t condense(MeshLib::Mesh &mesh)
MeshValueEditDialog(MeshLib::Mesh *mesh, QDialog *parent=nullptr)
Constructor for creating a new FEM condition.
~MeshValueEditDialog() override
void on_replaceButton_toggled(bool isSelected)
void accept() override
Instructions if the OK-Button has been pressed.
void reject() override
Instructions if the Cancel-Button has been pressed.
void valueEditFinished(MeshLib::Mesh *)
static void box(const QString &e)
Definition OGSError.cpp:13