diff --git a/sources/TerminalStrip/ui/freeterminalmodel.cpp b/sources/TerminalStrip/ui/freeterminalmodel.cpp index 658f0526e..4bd5f241b 100644 --- a/sources/TerminalStrip/ui/freeterminalmodel.cpp +++ b/sources/TerminalStrip/ui/freeterminalmodel.cpp @@ -22,6 +22,7 @@ #include "../../utils/qetutils.h" #include "../../qetgraphicsitem/terminalelement.h" #include "../realterminal.h" +#include "../../qetinformation.h" const int LABEL_CELL = 0; const int XREF_CELL = 1; @@ -310,7 +311,8 @@ void FreeTerminalModel::fillTerminalVector() std::sort(free_terminal_vector.begin(), free_terminal_vector.end(), [](TerminalElement *a, TerminalElement *b) { - return QETUtils::sortBeginIntString(a->actualLabel(), b->actualLabel()); + return QETUtils::sortBeginIntString(a->elementData().m_informations.value(QETInformation::ELMT_LABEL).toString(), + b->elementData().m_informations.value(QETInformation::ELMT_LABEL).toString()); }); for (const auto &terminal_ : free_terminal_vector) { diff --git a/sources/TerminalStrip/ui/terminalstriptreedockwidget.cpp b/sources/TerminalStrip/ui/terminalstriptreedockwidget.cpp index 3ec09f04f..f568a8f76 100644 --- a/sources/TerminalStrip/ui/terminalstriptreedockwidget.cpp +++ b/sources/TerminalStrip/ui/terminalstriptreedockwidget.cpp @@ -26,6 +26,7 @@ #include "../realterminal.h" #include "../../qetgraphicsitem/terminalelement.h" #include "../terminalstrip.h" +#include "../../qetinformation.h" TerminalStripTreeDockWidget::TerminalStripTreeDockWidget(QETProject *project, QWidget *parent) : QDockWidget(parent), @@ -305,8 +306,11 @@ void TerminalStripTreeDockWidget::addFreeTerminal() } //Sort the terminal element by label - std::sort(vector_.begin(), vector_.end(), [](TerminalElement *a, TerminalElement *b) { - return a->actualLabel() < b->actualLabel(); + std::sort(vector_.begin(), vector_.end(), [](TerminalElement *a, TerminalElement *b) + { + return a->elementData().m_informations.value(QETInformation::ELMT_LABEL).toString() + < + b->elementData().m_informations.value(QETInformation::ELMT_LABEL).toString(); }); auto free_terminal_item = ui->m_tree_view->topLevelItem(1); diff --git a/sources/elementprovider.cpp b/sources/elementprovider.cpp index f4e84abbf..35d01ae46 100644 --- a/sources/elementprovider.cpp +++ b/sources/elementprovider.cpp @@ -198,14 +198,17 @@ QVector ElementProvider::freeTerminal() const { QVector vector_; - for (const auto diagram : m_diagram_list) { - DiagramContent dc(diagram, false); - for (const auto element : qAsConst(dc.m_elements)) { + for (const auto &diagram : qAsConst(m_diagram_list)) + { + const auto elmt_list{diagram->elements()}; + + for (const auto element : elmt_list) + { if (element->elementData().m_type == ElementData::Terminale) { - auto te = static_cast(element); + const auto te{static_cast(element)}; if (!te->parentTerminalStrip()) { - vector_.append(static_cast(element)); + vector_.append(te); } } }