Code_TYMPAN  4.4.0
Industrial site acoustic simulation
TYBoxWidget.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) <2012-2024> <EDF-DTG> <FRANCE>
3  * This file is part of Code_TYMPAN (R).
4  * Code_TYMPAN (R) is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  * Code_TYMPAN (R) is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  * You should have received a copy of the GNU General Public License along
13  * with Code_TYMPAN (R). If not, see <https://www.gnu.org/licenses/>.
14  */
15 
21 // Added by qt3to4:
22 #include <QGridLayout>
23 #include <QLabel>
24 #include <QtWidgets>
25 
30 #include "TYBoxWidget.h"
31 #include "TYElementWidget.h"
32 
33 #define TR(id) OLocalizator::getString("TYBoxWidget", (id))
34 
35 TYBoxWidget::TYBoxWidget(TYBox* pElement, QWidget* _pParent /*=NULL*/) : TYWidget(pElement, _pParent)
36 {
37  QString num;
38 
39  _elmW = new TYElementWidget(pElement, this);
40  _colorW = new TYColorInterfaceWidget(pElement, this);
41 
42  resize(300, 240);
43  setWindowTitle(TR("id_caption"));
44  _boxLayout = new QGridLayout();
45  setLayout(_boxLayout);
46 
47  _boxLayout->addWidget(_elmW, 0, 0);
48  _boxLayout->addWidget(_colorW, 1, 0);
49 
50  _groupBox = new QGroupBox(this);
51  _groupBox->setTitle(TR(""));
52  _groupBoxLayout = new QGridLayout();
53  _groupBox->setLayout(_groupBoxLayout);
54 
55  _labelSizeX = new QLabel(_groupBox);
56  _labelSizeX->setText(TR("id_sizeX_label"));
57  _groupBoxLayout->addWidget(_labelSizeX, 0, 0);
58 
59  _labelSizeY = new QLabel(_groupBox);
60  _labelSizeY->setText(TR("id_sizeY_label"));
61  _groupBoxLayout->addWidget(_labelSizeY, 1, 0);
62 
63  _labelSizeZ = new QLabel(_groupBox);
64  _labelSizeZ->setText(TR("id_sizeZ_label"));
65  _groupBoxLayout->addWidget(_labelSizeZ, 2, 0);
66 
68  _lineEditSizeX->setText(num.setNum(getElement()->_sizeX, 'f', 2));
69  _groupBoxLayout->addWidget(_lineEditSizeX, 0, 1);
70  QLabel* pUnitSizeX = new QLabel(_groupBox);
71  pUnitSizeX->setText(TR("id_unite_size"));
72  _groupBoxLayout->addWidget(pUnitSizeX, 0, 2);
73 
75  _lineEditSizeY->setText(num.setNum(getElement()->_sizeY, 'f', 2));
76  _groupBoxLayout->addWidget(_lineEditSizeY, 1, 1);
77  QLabel* pUnitSizeY = new QLabel(_groupBox);
78  pUnitSizeY->setText(TR("id_unite_size"));
79  _groupBoxLayout->addWidget(pUnitSizeY, 1, 2);
80 
82  _lineEditSizeZ->setText(num.setNum(getElement()->_sizeZ, 'f', 2));
83  _groupBoxLayout->addWidget(_lineEditSizeZ, 2, 1);
84  QLabel* pUnitSizeZ = new QLabel(_groupBox);
85  pUnitSizeZ->setText(TR("id_unite_size"));
86  _groupBoxLayout->addWidget(pUnitSizeZ, 2, 2);
87 
88  _boxLayout->addWidget(_groupBox, 2, 0);
89 
90  _groupBoxPosition = new QGroupBox(this);
91  _groupBoxPosition->setTitle(TR("id_position"));
92  _groupBoxPositionLayout = new QGridLayout();
94 
95  _lineEditNomPosition = new QLineEdit(_groupBoxPosition);
96  _lineEditNomPosition->setEnabled(false);
97  _lineEditNomPosition->setText(getElement()->getPosition().getName());
99 
100  _pushButtonPosition = new QPushButton(_groupBoxPosition);
101  _pushButtonPosition->setText(TR("id_proprietes_button"));
103 
104  _boxLayout->addWidget(_groupBoxPosition, 3, 0);
105 
106  connect(_pushButtonPosition, &QPushButton::clicked, this, &TYBoxWidget::editPosition);
107 }
108 
110 
112 {
113  QString num;
114 
115  _elmW->updateContent();
117 
118  _lineEditSizeX->setText(num.setNum(getElement()->_sizeZ, 'f', 2));
119  _lineEditSizeY->setText(num.setNum(getElement()->_sizeZ, 'f', 2));
120  _lineEditSizeZ->setText(num.setNum(getElement()->_sizeZ, 'f', 2));
121  _lineEditNomPosition->setText(getElement()->getPosition().getName());
122 }
123 
125 {
126  _elmW->apply();
127  _colorW->apply();
128 
129  getElement()->_sizeX = _lineEditSizeX->text().toDouble();
130  getElement()->_sizeY = _lineEditSizeY->text().toDouble();
131  getElement()->_sizeZ = _lineEditSizeZ->text().toDouble();
132 
133  emit modified();
134 }
135 
137 {
138  int ret = getElement()->getPosition().edit(this);
139 
140  if (ret == QDialog::Accepted)
141  {
142  _lineEditNomPosition->setText(getElement()->getPosition().getName());
143  }
144 }
#define TR(id)
Definition: TYBoxWidget.cpp:33
outil IHM pour une boite (fichier header)
outil IHM pour l'objet ColorInterface (fichier header)
outil IHM pour un element (fichier header)
outil IHM pour une entrée utilisateur (fichier header)
TYColorInterfaceWidget * _colorW
Definition: TYBoxWidget.h:94
TYElementWidget * _elmW
Definition: TYBoxWidget.h:93
QLabel * _labelSizeX
Definition: TYBoxWidget.h:78
QGroupBox * _groupBox
Definition: TYBoxWidget.h:77
QPushButton * _pushButtonPosition
Definition: TYBoxWidget.h:86
QGroupBox * _groupBoxPosition
Definition: TYBoxWidget.h:84
QGridLayout * _groupBoxPositionLayout
Definition: TYBoxWidget.h:91
TYLineEdit * _lineEditSizeZ
Definition: TYBoxWidget.h:83
void editPosition()
QGridLayout * _groupBoxLayout
Definition: TYBoxWidget.h:90
QGridLayout * _boxLayout
Definition: TYBoxWidget.h:89
virtual void updateContent()
QLabel * _labelSizeY
Definition: TYBoxWidget.h:79
TYLineEdit * _lineEditSizeY
Definition: TYBoxWidget.h:82
TYBoxWidget(TYBox *pElement, QWidget *_pParent=NULL)
Definition: TYBoxWidget.cpp:35
TYLineEdit * _lineEditSizeX
Definition: TYBoxWidget.h:81
virtual ~TYBoxWidget()
QLabel * _labelSizeZ
Definition: TYBoxWidget.h:80
QLineEdit * _lineEditNomPosition
Definition: TYBoxWidget.h:85
virtual void apply()
Definition: TYBox.h:34
classe de l'objet IHM pour l'objet ColorInterface
classe de l'objet IHM pour un element
virtual void apply()
virtual void updateContent()
classe de l'objet IHM pour un objet metier de type TYElement
Definition: TYWidget.h:43
void modified()