OGS
MeshValueEditDialog.cpp
Go to the documentation of this file.
1 
15 #include "MeshValueEditDialog.h"
16 
17 #include "Base/OGSError.h"
19 
21  : QDialog(parent), _mesh(mesh)
22 {
23  setupUi(this);
24  this->edit_old_value->setEnabled(false);
25  this->edit_new_value->setEnabled(false);
26  this->replaceCheckBox->setEnabled(false);
27 }
28 
30 
32 {
33  if (this->condenseButton->isChecked())
34  {
36  }
37  else
38  {
39  if (this->edit_old_value->text().isEmpty())
40  {
41  OGSError::box("Please input which material you want to replace.");
42  return;
43  }
44  unsigned old_value =
45  static_cast<unsigned>(this->edit_old_value->text().toInt());
46  if (this->edit_new_value->text().isEmpty())
47  {
48  OGSError::box("Please input the new material to replace group " +
49  this->edit_old_value->text() + ".");
50  return;
51  }
52  unsigned new_value =
53  static_cast<unsigned>(this->edit_new_value->text().toInt());
54  bool do_not_replace = this->replaceCheckBox->isChecked();
56  *_mesh, old_value, new_value, !do_not_replace);
57  if (!result && do_not_replace)
58  {
59  OGSError::box("The new material group already exists.");
60  return;
61  }
62  }
63 
65  this->done(QDialog::Accepted);
66 }
67 
69 {
70  this->done(QDialog::Rejected);
71 }
72 
74 {
75  this->edit_old_value->setEnabled(isSelected);
76  this->edit_new_value->setEnabled(isSelected);
77  this->replaceCheckBox->setEnabled(isSelected);
78 }
Definition of the ElementValueModification class.
Definition of the MeshValueEditDialog class.
Definition of the OGSError class.
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:23