OGS
MeshValueEditDialog Class Reference

Detailed Description

A dialog window for changing the MaterialID for mesh elements.

Definition at line 28 of file MeshValueEditDialog.h.

#include <MeshValueEditDialog.h>

Inheritance diagram for MeshValueEditDialog:
[legend]
Collaboration diagram for MeshValueEditDialog:
[legend]

Signals

void valueEditFinished (MeshLib::Mesh *)
 

Public Member Functions

 MeshValueEditDialog (MeshLib::Mesh *mesh, QDialog *parent=nullptr)
 Constructor for creating a new FEM condition. More...
 
 ~MeshValueEditDialog () override
 

Private Slots

void accept () override
 Instructions if the OK-Button has been pressed. More...
 
void reject () override
 Instructions if the Cancel-Button has been pressed. More...
 
void on_replaceButton_toggled (bool isSelected)
 

Private Attributes

MeshLib::Mesh_mesh
 

Constructor & Destructor Documentation

◆ MeshValueEditDialog()

MeshValueEditDialog::MeshValueEditDialog ( MeshLib::Mesh mesh,
QDialog *  parent = nullptr 
)
explicit

Constructor for creating a new FEM condition.

Definition at line 20 of file MeshValueEditDialog.cpp.

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 }

◆ ~MeshValueEditDialog()

MeshValueEditDialog::~MeshValueEditDialog ( )
overridedefault

Member Function Documentation

◆ accept

void MeshValueEditDialog::accept ( )
overrideprivateslot

Instructions if the OK-Button has been pressed.

Definition at line 31 of file MeshValueEditDialog.cpp.

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 }
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)
void valueEditFinished(MeshLib::Mesh *)
static void box(const QString &e)
Definition: OGSError.cpp:23

References _mesh, OGSError::box(), MeshLib::ElementValueModification::condense(), MeshLib::ElementValueModification::replace(), and valueEditFinished().

◆ on_replaceButton_toggled

void MeshValueEditDialog::on_replaceButton_toggled ( bool  isSelected)
privateslot

Definition at line 73 of file MeshValueEditDialog.cpp.

74 {
75  this->edit_old_value->setEnabled(isSelected);
76  this->edit_new_value->setEnabled(isSelected);
77  this->replaceCheckBox->setEnabled(isSelected);
78 }

◆ reject

void MeshValueEditDialog::reject ( )
overrideprivateslot

Instructions if the Cancel-Button has been pressed.

Definition at line 68 of file MeshValueEditDialog.cpp.

69 {
70  this->done(QDialog::Rejected);
71 }

◆ valueEditFinished

void MeshValueEditDialog::valueEditFinished ( MeshLib::Mesh )
signal

Referenced by accept().

Member Data Documentation

◆ _mesh

MeshLib::Mesh* MeshValueEditDialog::_mesh
private

Definition at line 40 of file MeshValueEditDialog.h.

Referenced by accept().


The documentation for this class was generated from the following files: