32 #include <qtablewidget.h>
33 #include <qmessagebox.h>
35 #include <QHBoxLayout>
37 #include <QGridLayout>
39 #include <QVBoxLayout>
40 #include <QHeaderView>
42 #define TR(id) OLocalizator::getString("TYAcousticVolumeNodeWidget", (id))
46 :
TYWidget(pElement, _pParent), _isColorModified(false)
59 setWindowTitle(
TR(
"id_caption"));
69 QGroupBox* pGroupBoxAccVols =
new QGroupBox(
this);
70 pGroupBoxAccVols->setTitle(
TR(
"id_tabaccvol_box"));
71 QGridLayout* pGroupBoxAccVolsLayout =
new QGridLayout();
72 pGroupBoxAccVols->setLayout(pGroupBoxAccVolsLayout);
74 QLineEdit* pLineEditNomAccVols =
new QLineEdit(pGroupBoxAccVols);
75 pLineEditNomAccVols->setEnabled(
false);
76 pGroupBoxAccVolsLayout->addWidget(pLineEditNomAccVols, 0, 0);
78 QPushButton* pPushButtonAccVols =
new QPushButton(pGroupBoxAccVols);
79 pPushButtonAccVols->setText(
TR(
"id_proprietes_button"));
80 pGroupBoxAccVolsLayout->addWidget(pPushButtonAccVols, 0, 1);
99 _tableFaces->setHorizontalHeaderItem(0,
new QTableWidgetItem(
TR(
"id_nom")));
100 _tableFaces->setHorizontalHeaderItem(1,
new QTableWidgetItem(
TR(
"id_emission")));
105 pLayoutAccVols->addSpacing(5);
106 QBoxLayout* pBtnLayoutAccVols =
new QHBoxLayout();
107 pBtnLayoutAccVols->setContentsMargins(10, 10, 10, 10);
108 pLayoutAccVols->addLayout(pBtnLayoutAccVols);
110 pBtnLayoutAccVols->addStretch();
112 QPushButton* pButtonOKAccVols =
new QPushButton(
TR(
"id_ok_btn"),
_pAccVolsWidget);
113 pButtonOKAccVols->setDefault(
true);
115 pBtnLayoutAccVols->addWidget(pButtonOKAccVols);
121 connect(pPushButtonAccVols, &QPushButton::clicked,
_pAccVolsWidget, &TYAcousticVolumeNodeWidget::show);
155 QTableWidgetItem* pCheck = (QTableWidgetItem*)
_tableFaces->item(item, 1);
156 pVol->setIsRayonnant(pCheck->checkState() == Qt::Checked,
false);
157 QTableWidgetItem* pText = (QTableWidgetItem*)
_tableFaces->item(item, 0);
158 pVol->setName(pText->text());
162 if (ret == QDialog::Accepted)
164 pCheck->setCheckState(pVol->getIsRayonnant() ? Qt::Checked : Qt::Unchecked);
165 pText->setText(pVol->getName());
171 int ret = QMessageBox::warning(
this,
TR(
"id_attention"),
TR(
"id_are_you_sure"),
TR(
"id_button_oui"),
172 TR(
"id_button_non"), QString(), 0, 1);
195 if ((point.x() >= 0) && (point.y() >= 0) && (point.x() <=
_tableFaces->width()) &&
198 QPoint resPoint = QPoint(point.x(), point.y() -
_tableFaces->horizontalHeader()->height());
199 QTableWidgetItem* item =
_tableFaces->itemAt(resPoint);
202 QMenu* pMenu =
new QMenu(
this);
204 QAction* prop = pMenu->addAction(
TR(
"id_property"));
205 QAction* del = pMenu->addAction(
TR(
"id_delete"));
207 QAction* ret = pMenu->exec(
_tableFaces->mapToGlobal(point));
245 QTableWidgetItem* pCheck = (QTableWidgetItem*)
_tableFaces->item(i, 1);
246 pVol->setIsRayonnant(pCheck->checkState() == Qt::Checked,
false);
247 QTableWidgetItem* pText = (QTableWidgetItem*)
_tableFaces->item(i, 0);
248 pVol->setName(pText->text());
254 pVol->setColor(getElement()->getColor());
259 pVol->getChilds(childs,
false);
263 for (
size_t i = 0; i < childs.size(); i++)
266 if (pNode ==
nullptr)
272 if (pSurfNode !=
nullptr)
274 pSurfNode->
setColor(getElement()->getColor());
280 for (
unsigned int i = 0; i < tab.size(); ++i)
285 pAccSurf->
setColor(getElement()->getColor());
294 for (
unsigned int i = 0, row = 0; i < getElement()->getTabAcousticVol().size(); i++, row++)
298 QTableWidgetItem* pItem =
new QTableWidgetItem(pVol->getName());
300 QTableWidgetItem* pCheckItemEmit =
new QTableWidgetItem(
" ");
301 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