mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-21 08:40: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();
|
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
|
* @brief TerminalStrip::physicalTerminalData
|
||||||
* @param index
|
* @param index
|
||||||
@@ -657,6 +635,8 @@ RealTerminalData TerminalStrip::realTerminalData(QSharedPointer<RealTerminal> re
|
|||||||
|
|
||||||
if (real_terminal->isElement()) {
|
if (real_terminal->isElement()) {
|
||||||
rtd.Xref_ = autonum::AssignVariables::genericXref(real_terminal->element());
|
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.type_ = real_terminal->type();
|
||||||
rtd.function_ = real_terminal->function();
|
rtd.function_ = real_terminal->function();
|
||||||
@@ -665,58 +645,3 @@ RealTerminalData TerminalStrip::realTerminalData(QSharedPointer<RealTerminal> re
|
|||||||
|
|
||||||
return rtd;
|
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_,
|
cable_wire_,
|
||||||
conductor_;
|
conductor_;
|
||||||
|
|
||||||
|
QUuid uuid_;
|
||||||
|
|
||||||
ElementData::TerminalType type_;
|
ElementData::TerminalType type_;
|
||||||
ElementData::TerminalFunction function_;
|
ElementData::TerminalFunction function_;
|
||||||
|
|
||||||
bool led_ = false,
|
bool led_ = false,
|
||||||
is_element = false;
|
is_element = false;
|
||||||
|
|
||||||
|
TerminalElement *element_ = nullptr;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PhysicalTerminalData
|
struct PhysicalTerminalData
|
||||||
@@ -99,7 +103,6 @@ class TerminalStrip : public QObject
|
|||||||
bool haveTerminal (Element *terminal);
|
bool haveTerminal (Element *terminal);
|
||||||
|
|
||||||
int physicalTerminalCount() const;
|
int physicalTerminalCount() const;
|
||||||
TerminalStripIndex index(int index = 0);
|
|
||||||
|
|
||||||
PhysicalTerminalData physicalTerminalData(int index);
|
PhysicalTerminalData physicalTerminalData(int index);
|
||||||
|
|
||||||
@@ -124,27 +127,4 @@ class TerminalStrip : public QObject
|
|||||||
QVector<QSharedPointer<PhysicalTerminal>> m_physical_terminals;
|
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
|
#endif // TERMINALSTRIP_H
|
||||||
|
|||||||
@@ -213,13 +213,17 @@ QTreeWidgetItem* TerminalStripEditor::addTerminalStrip(TerminalStrip *terminal_s
|
|||||||
//Add child terminal of the strip
|
//Add child terminal of the strip
|
||||||
for (auto i=0 ; i<terminal_strip->physicalTerminalCount() ; ++i)
|
for (auto i=0 ; i<terminal_strip->physicalTerminalCount() ; ++i)
|
||||||
{
|
{
|
||||||
auto index = terminal_strip->index(i);
|
auto ptd = terminal_strip->physicalTerminalData(i);
|
||||||
auto term_item = new QTreeWidgetItem(strip_item, QStringList(index.label()), TerminalStripTreeWidget::Terminal);
|
if (ptd.real_terminals_vector.size())
|
||||||
term_item->setData(0, TerminalStripTreeWidget::UUID_USER_ROLE, index.uuid().toString());
|
{
|
||||||
term_item->setIcon(0, QET::Icons::ElementTerminal);
|
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()) {
|
if (real_t.is_element) {
|
||||||
m_uuid_terminal_H.insert(index.uuid(), index.element());
|
m_uuid_terminal_H.insert(real_t.uuid_, real_t.element_);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user