Terminal element info

Provide only useful information for terminal
This commit is contained in:
joshua
2021-03-03 21:28:22 +01:00
parent 0a51e22b7d
commit faf4235bed
5 changed files with 33 additions and 5 deletions

View File

@@ -188,13 +188,13 @@ void ElementPropertiesEditorWidget::updateTree()
*/ */
void ElementPropertiesEditorWidget::populateTree() void ElementPropertiesEditorWidget::populateTree()
{ {
auto keys = QETInformation::elementEditorElementInfoKeys(); const auto keys = QETInformation::elementEditorElementInfoKeys();
for(const QString& key : keys) for(const QString& key : keys)
{ {
QTreeWidgetItem *qtwi = new QTreeWidgetItem(ui->m_tree); QTreeWidgetItem *qtwi = new QTreeWidgetItem(ui->m_tree);
qtwi->setFlags(Qt::ItemIsEnabled | Qt::ItemIsEditable); qtwi->setFlags(Qt::ItemIsEnabled | Qt::ItemIsEditable);
qtwi->setData(0, Qt::DisplayRole, qtwi->setData(0, Qt::DisplayRole,
QETInformation::translatedInfoKey(key)); QETInformation::translatedInfoKey(key));
qtwi->setData(0, Qt::UserRole, key); qtwi->setData(0, Qt::UserRole, key);
qtwi->setText(1, m_data.m_informations.value(key).toString()); qtwi->setText(1, m_data.m_informations.value(key).toString());
} }
@@ -256,6 +256,8 @@ void ElementPropertiesEditorWidget::on_m_base_type_cb_currentIndexChanged(int in
ui->m_slave_gb->setVisible(slave); ui->m_slave_gb->setVisible(slave);
ui->m_master_gb->setVisible(master); ui->m_master_gb->setVisible(master);
ui->m_terminal_gb->setVisible(terminal); ui->m_terminal_gb->setVisible(terminal);
ui->tabWidget->setTabVisible(1,
(type_ == ElementData::Simple ||
type_ == ElementData::Master));
updateTree(); updateTree();
} }

View File

@@ -255,3 +255,16 @@ QStringList QETInformation::elementEditorElementInfoKeys()
ELMT_MACHINE_MANUFACTURER_REF}; ELMT_MACHINE_MANUFACTURER_REF};
return list; return list;
} }
QStringList QETInformation::terminalElementInfoKeys()
{
QStringList list = { ELMT_FORMULA,
ELMT_LABEL,
ELMT_COMMENT,
ELMT_DESIGNATION,
ELMT_MANUFACTURER,
ELMT_MANUFACTURER_REF,
ELMT_MACHINE_MANUFACTURER_REF,
ELMT_SUPPLIER };
return list;
}

View File

@@ -108,6 +108,8 @@ namespace QETInformation
QStringList elementEditorElementInfoKeys(); QStringList elementEditorElementInfoKeys();
QString elementInfoToVar(const QString &info); QString elementInfoToVar(const QString &info);
QStringList terminalElementInfoKeys();
QString infoToVar(const QString &info); QString infoToVar(const QString &info);
QString translatedInfoKey(const QString &info); QString translatedInfoKey(const QString &info);
} }

View File

@@ -37,7 +37,6 @@ ElementInfoWidget::ElementInfoWidget(Element *elmt, QWidget *parent) :
m_first_activation (false) m_first_activation (false)
{ {
ui->setupUi(this); ui->setupUi(this);
buildInterface();
setElement(elmt); setElement(elmt);
} }
@@ -179,7 +178,14 @@ void ElementInfoWidget::disableLiveEdit()
*/ */
void ElementInfoWidget::buildInterface() void ElementInfoWidget::buildInterface()
{ {
for (auto str : QETInformation::elementInfoKeys()) QStringList keys;
auto type_ = m_element.data()->elementData().m_type;
if (type_ == ElementData::Terminale)
keys = QETInformation::terminalElementInfoKeys();
else
keys = QETInformation::elementInfoKeys();
for (auto str : keys)
{ {
ElementInfoPartWidget *eipw = new ElementInfoPartWidget(str, QETInformation::translatedInfoKey(str), this); ElementInfoPartWidget *eipw = new ElementInfoPartWidget(str, QETInformation::translatedInfoKey(str), this);
ui->scroll_vlayout->addWidget(eipw); ui->scroll_vlayout->addWidget(eipw);
@@ -212,6 +218,10 @@ ElementInfoPartWidget *ElementInfoWidget::infoPartWidgetForKey(const QString &ke
*/ */
void ElementInfoWidget::updateUi() void ElementInfoWidget::updateUi()
{ {
if (!m_ui_builded) {
buildInterface();
m_ui_builded = true;
}
//We disable live edit to avoid wrong undo when we fill the line edit with new text //We disable live edit to avoid wrong undo when we fill the line edit with new text
if (m_live_edit) disableLiveEdit(); if (m_live_edit) disableLiveEdit();

View File

@@ -72,6 +72,7 @@ class ElementInfoWidget : public AbstractElementPropertiesEditorWidget
Ui::ElementInfoWidget *ui; Ui::ElementInfoWidget *ui;
QList <ElementInfoPartWidget *> m_eipw_list; QList <ElementInfoPartWidget *> m_eipw_list;
bool m_first_activation; bool m_first_activation;
bool m_ui_builded = false;
}; };
#endif // ELEMENTINFOWIDGET_H #endif // ELEMENTINFOWIDGET_H