mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-21 00:30:53 +01:00
Use RealTerminalData struct instead of TerminalStripIndex class
This commit is contained in:
@@ -468,28 +468,6 @@ int TerminalStrip::physicalTerminalCount() const {
|
||||
return m_physical_terminals.size();
|
||||
}
|
||||
|
||||
TerminalStripIndex TerminalStrip::index(int index)
|
||||
{
|
||||
TerminalStripIndex tsi_;
|
||||
|
||||
if (index < 0 ||
|
||||
index >= m_physical_terminals.size()) {
|
||||
return tsi_;
|
||||
}
|
||||
|
||||
auto phy_term = m_physical_terminals.at(index);
|
||||
|
||||
for(auto &real_term : phy_term->terminals()) {
|
||||
tsi_.m_label.append(real_term->label());
|
||||
tsi_.m_uuid.append(real_term->elementUuid());
|
||||
tsi_.m_is_element.append(real_term->isElement());
|
||||
tsi_.m_element.append(static_cast<TerminalElement*>(real_term->element()));
|
||||
}
|
||||
|
||||
tsi_.m_valid = true;
|
||||
return tsi_;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief TerminalStrip::physicalTerminalData
|
||||
* @param index
|
||||
@@ -657,6 +635,8 @@ RealTerminalData TerminalStrip::realTerminalData(QSharedPointer<RealTerminal> re
|
||||
|
||||
if (real_terminal->isElement()) {
|
||||
rtd.Xref_ = autonum::AssignVariables::genericXref(real_terminal->element());
|
||||
rtd.uuid_ = real_terminal->elementUuid();
|
||||
rtd.element_ = qgraphicsitem_cast<TerminalElement *>(real_terminal->element());
|
||||
}
|
||||
rtd.type_ = real_terminal->type();
|
||||
rtd.function_ = real_terminal->function();
|
||||
@@ -665,58 +645,3 @@ RealTerminalData TerminalStrip::realTerminalData(QSharedPointer<RealTerminal> re
|
||||
|
||||
return rtd;
|
||||
}
|
||||
|
||||
/************************************************************************************/
|
||||
/************************************************************************************/
|
||||
/************************************************************************************/
|
||||
/************************************************************************************/
|
||||
/************************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
bool TerminalStripIndex::isValid() const
|
||||
{
|
||||
return m_valid;
|
||||
}
|
||||
|
||||
QString TerminalStripIndex::label(int level) const
|
||||
{
|
||||
if (level<0 ||
|
||||
level >= m_label.size()) {
|
||||
return QStringLiteral("");
|
||||
}
|
||||
|
||||
return m_label.at(level);
|
||||
}
|
||||
|
||||
QUuid TerminalStripIndex::uuid(int level) const
|
||||
{
|
||||
if (level<0 ||
|
||||
level >= m_uuid.size()) {
|
||||
return QUuid();
|
||||
}
|
||||
|
||||
return m_uuid.at(level);
|
||||
}
|
||||
|
||||
bool TerminalStripIndex::isElement(int level) const
|
||||
{
|
||||
if (level<0 ||
|
||||
level >= m_is_element.size()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return m_is_element.at(level);
|
||||
}
|
||||
|
||||
TerminalElement *TerminalStripIndex::element(int level) const
|
||||
{
|
||||
if (level<0 ||
|
||||
level >= m_element.size()) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return m_element.at(level);
|
||||
}
|
||||
|
||||
@@ -44,12 +44,16 @@ struct RealTerminalData
|
||||
cable_wire_,
|
||||
conductor_;
|
||||
|
||||
QUuid uuid_;
|
||||
|
||||
ElementData::TerminalType type_;
|
||||
ElementData::TerminalFunction function_;
|
||||
|
||||
bool led_ = false,
|
||||
is_element = false;
|
||||
|
||||
TerminalElement *element_ = nullptr;
|
||||
|
||||
};
|
||||
|
||||
struct PhysicalTerminalData
|
||||
@@ -99,7 +103,6 @@ class TerminalStrip : public QObject
|
||||
bool haveTerminal (Element *terminal);
|
||||
|
||||
int physicalTerminalCount() const;
|
||||
TerminalStripIndex index(int index = 0);
|
||||
|
||||
PhysicalTerminalData physicalTerminalData(int index);
|
||||
|
||||
@@ -124,27 +127,4 @@ class TerminalStrip : public QObject
|
||||
QVector<QSharedPointer<PhysicalTerminal>> m_physical_terminals;
|
||||
};
|
||||
|
||||
class TerminalStripIndex
|
||||
{
|
||||
friend class TerminalStrip;
|
||||
|
||||
private :
|
||||
TerminalStripIndex () {}
|
||||
TerminalStripIndex (TerminalStripIndex *) {}
|
||||
|
||||
public:
|
||||
bool isValid() const;
|
||||
QString label(int level = 0) const;
|
||||
QUuid uuid(int level = 0) const;
|
||||
bool isElement(int level = 0) const;
|
||||
TerminalElement *element(int level = 0) const;
|
||||
|
||||
private:
|
||||
QVector<QString> m_label;
|
||||
QVector<QUuid> m_uuid;
|
||||
bool m_valid = false;
|
||||
QVector<bool> m_is_element;
|
||||
QVector<TerminalElement *> m_element;
|
||||
};
|
||||
|
||||
#endif // TERMINALSTRIP_H
|
||||
|
||||
@@ -213,13 +213,17 @@ QTreeWidgetItem* TerminalStripEditor::addTerminalStrip(TerminalStrip *terminal_s
|
||||
//Add child terminal of the strip
|
||||
for (auto i=0 ; i<terminal_strip->physicalTerminalCount() ; ++i)
|
||||
{
|
||||
auto index = terminal_strip->index(i);
|
||||
auto term_item = new QTreeWidgetItem(strip_item, QStringList(index.label()), TerminalStripTreeWidget::Terminal);
|
||||
term_item->setData(0, TerminalStripTreeWidget::UUID_USER_ROLE, index.uuid().toString());
|
||||
term_item->setIcon(0, QET::Icons::ElementTerminal);
|
||||
auto ptd = terminal_strip->physicalTerminalData(i);
|
||||
if (ptd.real_terminals_vector.size())
|
||||
{
|
||||
auto real_t = ptd.real_terminals_vector.first();
|
||||
auto terminal_item = new QTreeWidgetItem(strip_item, QStringList(real_t.label_), TerminalStripTreeWidget::Terminal);
|
||||
terminal_item->setData(0, TerminalStripTreeWidget::UUID_USER_ROLE, real_t.uuid_.toString());
|
||||
terminal_item->setIcon(0, QET::Icons::ElementTerminal);
|
||||
|
||||
if (index.isElement()) {
|
||||
m_uuid_terminal_H.insert(index.uuid(), index.element());
|
||||
if (real_t.is_element) {
|
||||
m_uuid_terminal_H.insert(real_t.uuid_, real_t.element_);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user