Terminal strip editor display the free terminal elements

This commit is contained in:
joshua
2021-04-04 19:42:02 +02:00
parent 00846c1418
commit 63429ab087
5 changed files with 68 additions and 3 deletions

View File

@@ -20,6 +20,7 @@
#include "diagram.h"
#include "qetgraphicsitem/ViewItem/qetgraphicstableitem.h"
#include "qetgraphicsitem/element.h"
#include "qetgraphicsitem/terminalelement.h"
#include "qetproject.h"
#include <QAbstractItemModel>
@@ -181,3 +182,28 @@ QetGraphicsTableItem *ElementProvider::tableFromUuid(const QUuid &uuid)
return nullptr;
}
/**
* @brief ElementProvider::freeTerminal
* @return a vector of every terminals element who doesn't
* belong to a terminal strip.
*/
QVector<TerminalElement *> ElementProvider::freeTerminal() const
{
QVector<TerminalElement *> vector_;
for (const auto diagram : m_diagram_list) {
DiagramContent dc(diagram, false);
for (const auto element : qAsConst(dc.m_elements)) {
if (element->elementData().m_type == ElementData::Terminale)
{
auto te = static_cast<TerminalElement *>(element);
if (!te->parentTerminalStrip()) {
vector_.append(static_cast<TerminalElement *>(element));
}
}
}
}
return vector_;
}