mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-20 16:20:52 +01:00
Revamp code.
Remove a QVector member variable and use instead a function who return the same vector, but created on the fly
This commit is contained in:
@@ -104,7 +104,7 @@ void TerminalStrip::setData(const TerminalStripData &data) {
|
|||||||
*/
|
*/
|
||||||
bool TerminalStrip::addTerminal(Element *terminal)
|
bool TerminalStrip::addTerminal(Element *terminal)
|
||||||
{
|
{
|
||||||
for (const auto &real_t : m_real_terminals) {
|
for (const auto &real_t : realTerminals()) {
|
||||||
if (real_t->element() == terminal) {
|
if (real_t->element() == terminal) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -119,7 +119,6 @@ bool TerminalStrip::addTerminal(Element *terminal)
|
|||||||
//Create a new single level physical terminal
|
//Create a new single level physical terminal
|
||||||
auto raw_phy_ptr = new PhysicalTerminal(this, QVector<QSharedPointer<RealTerminal>>{casted_->realTerminal()});
|
auto raw_phy_ptr = new PhysicalTerminal(this, QVector<QSharedPointer<RealTerminal>>{casted_->realTerminal()});
|
||||||
m_physical_terminals.append(raw_phy_ptr->sharedRef());
|
m_physical_terminals.append(raw_phy_ptr->sharedRef());
|
||||||
rebuildRealVector();
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -132,7 +131,7 @@ bool TerminalStrip::addTerminal(Element *terminal)
|
|||||||
*/
|
*/
|
||||||
bool TerminalStrip::removeTerminal(Element *terminal)
|
bool TerminalStrip::removeTerminal(Element *terminal)
|
||||||
{
|
{
|
||||||
for (const auto &real_t : m_real_terminals)
|
for (const auto &real_t : realTerminals())
|
||||||
{
|
{
|
||||||
if (real_t->element() == terminal)
|
if (real_t->element() == terminal)
|
||||||
{
|
{
|
||||||
@@ -144,7 +143,6 @@ bool TerminalStrip::removeTerminal(Element *terminal)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rebuildRealVector();
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -217,23 +215,6 @@ QVector<QSharedPointer<PhysicalTerminal>> TerminalStrip::physicalTerminal() cons
|
|||||||
return m_physical_terminals;
|
return m_physical_terminals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief TerminalStrip::realTerminal
|
|
||||||
* @param terminal
|
|
||||||
* @return the real terminal linked to \p terminal
|
|
||||||
* the returned QSharedPointer can be null.
|
|
||||||
*/
|
|
||||||
QSharedPointer<RealTerminal> TerminalStrip::realTerminal(Element *terminal) const
|
|
||||||
{
|
|
||||||
for (const auto &real : qAsConst(m_real_terminals)) {
|
|
||||||
if (real->element() == terminal) {
|
|
||||||
return real;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return shared_real_terminal();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief TerminalStrip::realTerminalForUuid
|
* @brief TerminalStrip::realTerminalForUuid
|
||||||
* @param uuid
|
* @param uuid
|
||||||
@@ -241,7 +222,7 @@ QSharedPointer<RealTerminal> TerminalStrip::realTerminal(Element *terminal) cons
|
|||||||
*/
|
*/
|
||||||
QSharedPointer<RealTerminal> TerminalStrip::realTerminalForUuid(const QUuid &uuid) const
|
QSharedPointer<RealTerminal> TerminalStrip::realTerminalForUuid(const QUuid &uuid) const
|
||||||
{
|
{
|
||||||
for (const auto &t : qAsConst(m_real_terminals)) {
|
for (const auto &t : realTerminals()) {
|
||||||
if (t->elementUuid() == uuid) {
|
if (t->elementUuid() == uuid) {
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
@@ -250,9 +231,17 @@ QSharedPointer<RealTerminal> TerminalStrip::realTerminalForUuid(const QUuid &uui
|
|||||||
return QSharedPointer<RealTerminal>();
|
return QSharedPointer<RealTerminal>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief TerminalStrip::realTerminals
|
||||||
|
* @return All real terminal owned by this strip
|
||||||
|
*/
|
||||||
QVector<QSharedPointer<RealTerminal>> TerminalStrip::realTerminals() const
|
QVector<QSharedPointer<RealTerminal>> TerminalStrip::realTerminals() const
|
||||||
{
|
{
|
||||||
return m_real_terminals;
|
QVector<QSharedPointer<RealTerminal>> vector_;
|
||||||
|
for (const auto &phy : qAsConst(m_physical_terminals)) {
|
||||||
|
vector_.append(phy->realTerminals());
|
||||||
|
}
|
||||||
|
return vector_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -291,7 +280,6 @@ bool TerminalStrip::setOrderTo(const QVector<QSharedPointer<PhysicalTerminal>> &
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_physical_terminals = new_order;
|
m_physical_terminals = new_order;
|
||||||
rebuildRealVector();
|
|
||||||
emit orderChanged();
|
emit orderChanged();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -337,7 +325,6 @@ bool TerminalStrip::groupTerminals(const QSharedPointer<PhysicalTerminal> &recei
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rebuildRealVector();
|
|
||||||
emit orderChanged();
|
emit orderChanged();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@@ -369,7 +356,6 @@ void TerminalStrip::unGroupTerminals(const QVector<QSharedPointer<RealTerminal>>
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ungrouped) {
|
if (ungrouped) {
|
||||||
rebuildRealVector();
|
|
||||||
emit orderChanged();
|
emit orderChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -390,7 +376,6 @@ bool TerminalStrip::setLevel(const QSharedPointer<RealTerminal> &real_terminal,
|
|||||||
if (physical_terminal->realTerminals().size() > 1 &&
|
if (physical_terminal->realTerminals().size() > 1 &&
|
||||||
physical_terminal->setLevelOf(real_terminal, level))
|
physical_terminal->setLevelOf(real_terminal, level))
|
||||||
{
|
{
|
||||||
rebuildRealVector();
|
|
||||||
emit orderChanged();
|
emit orderChanged();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -734,18 +719,20 @@ QSharedPointer<RealTerminal> TerminalStrip::nextTerminalInLevel(const QSharedPoi
|
|||||||
|
|
||||||
QSharedPointer<RealTerminal> TerminalStrip::previousRealTerminal(const QSharedPointer<RealTerminal> &real_terminal) const
|
QSharedPointer<RealTerminal> TerminalStrip::previousRealTerminal(const QSharedPointer<RealTerminal> &real_terminal) const
|
||||||
{
|
{
|
||||||
const auto index = m_real_terminals.indexOf(real_terminal);
|
const auto real_t_vector = realTerminals();
|
||||||
|
const auto index = real_t_vector.indexOf(real_terminal);
|
||||||
if (index) {
|
if (index) {
|
||||||
return m_real_terminals.at(index-1);
|
return real_t_vector.at(index-1);
|
||||||
}
|
}
|
||||||
return QSharedPointer<RealTerminal>();
|
return QSharedPointer<RealTerminal>();
|
||||||
}
|
}
|
||||||
|
|
||||||
QSharedPointer<RealTerminal> TerminalStrip::nextRealTerminal(const QSharedPointer<RealTerminal> &real_terminal) const
|
QSharedPointer<RealTerminal> TerminalStrip::nextRealTerminal(const QSharedPointer<RealTerminal> &real_terminal) const
|
||||||
{
|
{
|
||||||
const auto index = m_real_terminals.indexOf(real_terminal);
|
const auto real_t_vector = realTerminals();
|
||||||
if (index != m_real_terminals.size()-1) {
|
const auto index = real_t_vector.indexOf(real_terminal);
|
||||||
return m_real_terminals.at(index+1);
|
if (index != real_t_vector.size()-1) {
|
||||||
|
return real_t_vector.at(index+1);
|
||||||
}
|
}
|
||||||
return QSharedPointer<RealTerminal>();
|
return QSharedPointer<RealTerminal>();
|
||||||
}
|
}
|
||||||
@@ -824,7 +811,6 @@ bool TerminalStrip::fromXml(QDomElement &xml_element)
|
|||||||
|
|
||||||
auto raw_ptr = new PhysicalTerminal(this, real_t_vector);
|
auto raw_ptr = new PhysicalTerminal(this, real_t_vector);
|
||||||
m_physical_terminals.append(raw_ptr->sharedRef());
|
m_physical_terminals.append(raw_ptr->sharedRef());
|
||||||
m_real_terminals.append(real_t_vector);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -841,16 +827,3 @@ bool TerminalStrip::fromXml(QDomElement &xml_element)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief TerminalStrip::rebuildRealVector
|
|
||||||
* Rebuild the real terminal vector
|
|
||||||
* to be ordered
|
|
||||||
*/
|
|
||||||
void TerminalStrip::rebuildRealVector()
|
|
||||||
{
|
|
||||||
m_real_terminals.clear();
|
|
||||||
for (const auto &phy : qAsConst(m_physical_terminals)) {
|
|
||||||
m_real_terminals.append(phy->realTerminals());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -85,7 +85,6 @@ class TerminalStrip : public QObject
|
|||||||
QSharedPointer<PhysicalTerminal> physicalTerminal(int index) const;
|
QSharedPointer<PhysicalTerminal> physicalTerminal(int index) const;
|
||||||
QSharedPointer<PhysicalTerminal> physicalTerminal (const QSharedPointer<RealTerminal> &real_terminal) const;
|
QSharedPointer<PhysicalTerminal> physicalTerminal (const QSharedPointer<RealTerminal> &real_terminal) const;
|
||||||
QVector<QSharedPointer<PhysicalTerminal>> physicalTerminal() const;
|
QVector<QSharedPointer<PhysicalTerminal>> physicalTerminal() const;
|
||||||
QSharedPointer<RealTerminal> realTerminal(Element *terminal) const;
|
|
||||||
QSharedPointer<RealTerminal> realTerminalForUuid(const QUuid &uuid) const;
|
QSharedPointer<RealTerminal> realTerminalForUuid(const QUuid &uuid) const;
|
||||||
QVector<QSharedPointer<RealTerminal>> realTerminals() const;
|
QVector<QSharedPointer<RealTerminal>> realTerminals() const;
|
||||||
|
|
||||||
@@ -112,13 +111,9 @@ class TerminalStrip : public QObject
|
|||||||
QDomElement toXml(QDomDocument &parent_document);
|
QDomElement toXml(QDomDocument &parent_document);
|
||||||
bool fromXml(QDomElement &xml_element);
|
bool fromXml(QDomElement &xml_element);
|
||||||
|
|
||||||
private:
|
|
||||||
void rebuildRealVector();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
TerminalStripData m_data;
|
TerminalStripData m_data;
|
||||||
QPointer<QETProject> m_project;
|
QPointer<QETProject> m_project;
|
||||||
QVector<QSharedPointer<RealTerminal>> m_real_terminals;
|
|
||||||
QVector<QSharedPointer<PhysicalTerminal>> m_physical_terminals;
|
QVector<QSharedPointer<PhysicalTerminal>> m_physical_terminals;
|
||||||
QVector<QSharedPointer<TerminalStripBridge>> m_bridge;
|
QVector<QSharedPointer<TerminalStripBridge>> m_bridge;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user