33 #include <qtablewidget.h>
34 #include <qmessagebox.h>
36 #include <QHBoxLayout>
38 #include <QGridLayout>
40 #include <QVBoxLayout>
41 #include <QHeaderView>
44 #define TR(id) OLocalizator::getString("TYAcousticVolumeNodeWidget", (id))
48 :
TYWidget(pElement, _pParent), _isColorModified(false)
61 setWindowTitle(
TR(
"id_caption"));
71 QGroupBox* pGroupBoxAccVols =
new QGroupBox(
this);
72 pGroupBoxAccVols->setTitle(
TR(
"id_tabaccvol_box"));
73 QGridLayout* pGroupBoxAccVolsLayout =
new QGridLayout();
74 pGroupBoxAccVols->setLayout(pGroupBoxAccVolsLayout);
76 QLineEdit* pLineEditNomAccVols =
new QLineEdit(pGroupBoxAccVols);
77 pLineEditNomAccVols->setEnabled(
false);
78 pGroupBoxAccVolsLayout->addWidget(pLineEditNomAccVols, 0, 0);
80 QPushButton* pPushButtonAccVols =
new QPushButton(pGroupBoxAccVols);
81 pPushButtonAccVols->setText(
TR(
"id_proprietes_button"));
82 pGroupBoxAccVolsLayout->addWidget(pPushButtonAccVols, 0, 1);
101 _tableFaces->setHorizontalHeaderItem(0,
new QTableWidgetItem(
TR(
"id_nom")));
102 _tableFaces->setHorizontalHeaderItem(1,
new QTableWidgetItem(
TR(
"id_emission")));
107 pLayoutAccVols->addSpacing(5);
108 QBoxLayout* pBtnLayoutAccVols =
new QHBoxLayout();
109 pBtnLayoutAccVols->setContentsMargins(10, 10, 10, 10);
110 pLayoutAccVols->addLayout(pBtnLayoutAccVols);
112 pBtnLayoutAccVols->addStretch();
114 QPushButton* pButtonOKAccVols =
new QPushButton(
TR(
"id_ok_btn"),
_pAccVolsWidget);
115 pButtonOKAccVols->setDefault(
true);
117 pBtnLayoutAccVols->addWidget(pButtonOKAccVols);
123 connect(pPushButtonAccVols, &QPushButton::clicked,
_pAccVolsWidget, &TYAcousticVolumeNodeWidget::show);
162 QTableWidgetItem* pCheck = (QTableWidgetItem*)
_tableFaces->item(item, 1);
163 pVol->setIsRayonnant(pCheck->checkState() == Qt::Checked,
false);
164 QTableWidgetItem* pText = (QTableWidgetItem*)
_tableFaces->item(item, 0);
165 pVol->setName(pText->text());
169 if (ret == QDialog::Accepted)
171 pCheck->setCheckState(pVol->getIsRayonnant() ? Qt::Checked : Qt::Unchecked);
172 pText->setText(pVol->getName());
178 int ret = QMessageBox::warning(
this,
TR(
"id_attention"),
TR(
"id_are_you_sure"),
TR(
"id_button_oui"),
179 TR(
"id_button_non"), QString(), 0, 1);
202 if ((point.x() >= 0) && (point.y() >= 0) && (point.x() <=
_tableFaces->width()) &&
205 QPoint resPoint = QPoint(point.x(), point.y() -
_tableFaces->horizontalHeader()->height());
206 QTableWidgetItem* item =
_tableFaces->itemAt(resPoint);
209 QMenu* pMenu =
new QMenu(
this);
211 QAction* prop = pMenu->addAction(
TR(
"id_property"));
212 QAction* del = pMenu->addAction(
TR(
"id_delete"));
214 QAction* ret = pMenu->exec(
_tableFaces->mapToGlobal(point));
252 QTableWidgetItem* pCheck = (QTableWidgetItem*)
_tableFaces->item(i, 1);
253 pVol->setIsRayonnant(pCheck->checkState() == Qt::Checked,
false);
254 QTableWidgetItem* pText = (QTableWidgetItem*)
_tableFaces->item(i, 0);
255 pVol->setName(pText->text());
261 pVol->setColor(getElement()->getColor());
266 pVol->getChilds(childs,
false);
270 for (
size_t i = 0; i < childs.size(); i++)
273 if (pNode ==
nullptr)
279 if (pSurfNode !=
nullptr)
287 for (
unsigned int i = 0; i < tab.size(); ++i)
301 for (
unsigned int i = 0, row = 0; i < getElement()->getTabAcousticVol().size(); i++, row++)
305 QTableWidgetItem* pItem =
new QTableWidgetItem(pVol->getName());
307 QTableWidgetItem* pCheckItemEmit =
new QTableWidgetItem(
" ");
308 pCheckItemEmit->setCheckState(pVol->getIsRayonnant() ? Qt::Checked : Qt::Unchecked);
std::vector< LPTYAcousticSurfaceGeoNode > TYTabAcousticSurfaceGeoNode
Collection de noeuds geometriques de type TYAcousticSurface.
std::vector< LPTYElement > LPTYElementArray
static OPrototype * safeDownCast(OPrototype *pObject)
bool remAcousticVol(const LPTYAcousticVolumeGeoNode pAccVolGeoNode)
virtual void setColor(const OColor &color)
virtual void setIsAcousticModified(bool isModified)
TYElement * getElement() const