From 27f6d8b578e909af233f7b9596ee2a8b74592741 Mon Sep 17 00:00:00 2001 From: Gennady Pospelov <g.pospelov@fz-juelich.de> Date: Wed, 13 Dec 2017 09:42:43 +0100 Subject: [PATCH] Method isSingleTag removed from SessionItem --- GUI/coregui/Models/SessionItem.cpp | 11 ++--------- GUI/coregui/Models/SessionItem.h | 1 - GUI/coregui/Models/SessionItemTags.cpp | 8 ++++---- GUI/coregui/Models/SessionItemTags.h | 6 ++---- GUI/coregui/Models/SessionXML.cpp | 3 ++- 5 files changed, 10 insertions(+), 19 deletions(-) diff --git a/GUI/coregui/Models/SessionItem.cpp b/GUI/coregui/Models/SessionItem.cpp index 43b3b5700a2..e223bc4eb6b 100644 --- a/GUI/coregui/Models/SessionItem.cpp +++ b/GUI/coregui/Models/SessionItem.cpp @@ -168,11 +168,6 @@ bool SessionItem::isTag(const QString& name) const return m_tags->isValid(name); } -bool SessionItem::isSingleItemTag(const QString& tagName) const -{ - return m_tags->isSingleItemTag(tagName); -} - SessionItemTags* SessionItem::sessionItemTags() { return m_tags.get(); @@ -459,14 +454,12 @@ QString SessionItem::displayName() const if (m_parent) { QString tag = m_parent->tagFromItem(this); // if only one child of this type is allowed, return name without change - if (m_parent->isSingleItemTag(tag)) { + if (m_parent->sessionItemTags()->isSingleItemTag(tag)) return result; - } int index = m_parent->getCopyNumberOfChild(this); - if (index >= 0) { + if (index >= 0) return result + QString::number(index); - } } return result; } diff --git a/GUI/coregui/Models/SessionItem.h b/GUI/coregui/Models/SessionItem.h index a42ff68d1b8..faf8a3cd9f6 100644 --- a/GUI/coregui/Models/SessionItem.h +++ b/GUI/coregui/Models/SessionItem.h @@ -57,7 +57,6 @@ public: bool registerTag(const QString& name, int min = 0, int max = -1, QStringList modelTypes = QStringList()); bool isTag(const QString& name) const; - bool isSingleItemTag(const QString& tagName) const; SessionItemTags* sessionItemTags(); QString tagFromItem(const SessionItem* item) const; bool acceptsAsDefaultItem(const QString& item_name) const; diff --git a/GUI/coregui/Models/SessionItemTags.cpp b/GUI/coregui/Models/SessionItemTags.cpp index 948db49c58a..a05fe239e05 100644 --- a/GUI/coregui/Models/SessionItemTags.cpp +++ b/GUI/coregui/Models/SessionItemTags.cpp @@ -22,7 +22,8 @@ SessionItemTags::TagInfo::TagInfo() : min(0), max(-1), childCount(0) {} //! Register tag with given parameters. Returns true in case of success. Returns //! false if parameters are invalid or such tag was already registered. -bool SessionItemTags::registerTag(const QString& name, int min, int max, const QStringList& modelTypes) +bool SessionItemTags::registerTag(const QString& name, int min, int max, + const QStringList& modelTypes) { if (min < 0 || (min > max && max >= 0)) return false; @@ -87,7 +88,7 @@ int SessionItemTags::indexFromTagRow(const QString& tagName, int row) const { auto& tag = tagInfo(tagName); - if(row < 0 || row >= tag.childCount) + if (row < 0 || row >= tag.childCount) throw GUIHelpers::Error("SessionItemTags::tagIndexFromRow() -> Error. Wrong row"); return tagStartIndex(tagName) + row; @@ -177,7 +178,7 @@ const SessionItemTags::TagInfo& SessionItemTags::tagInfo(const QString& tagName) if (tag.name == tagName) return tag; - throw GUIHelpers::Error("SessionItemTags::tagInfo() -> Error. No such tag '"+tagName+"'."); + throw GUIHelpers::Error("SessionItemTags::tagInfo() -> Error. No such tag '" + tagName + "'."); } bool SessionItemTags::maximumReached(const QString& tagName) const @@ -189,4 +190,3 @@ bool SessionItemTags::maximumReached(const QString& tagName) const return false; } - diff --git a/GUI/coregui/Models/SessionItemTags.h b/GUI/coregui/Models/SessionItemTags.h index 484a027d606..1ea6f1e2254 100644 --- a/GUI/coregui/Models/SessionItemTags.h +++ b/GUI/coregui/Models/SessionItemTags.h @@ -26,10 +26,9 @@ class BA_CORE_API_ SessionItemTags { public: - bool registerTag(const QString& name, int min, int max, const QStringList& modelTypes); - bool isValid(const QString& tagName, const QString& modelType=QString()) const; + bool isValid(const QString& tagName, const QString& modelType = QString()) const; QStringList modelTypesForTag(const QString& tagName) const; @@ -49,8 +48,8 @@ public: bool isSingleItemTag(const QString& tagName); bool maximumReached(const QString& tagName) const; -private: +private: class TagInfo { public: @@ -65,7 +64,6 @@ private: TagInfo& tagInfo(const QString& tagName); const TagInfo& tagInfo(const QString& tagName) const; - QVector<TagInfo> m_tags; }; diff --git a/GUI/coregui/Models/SessionXML.cpp b/GUI/coregui/Models/SessionXML.cpp index 6cd23b4189f..18537480f87 100644 --- a/GUI/coregui/Models/SessionXML.cpp +++ b/GUI/coregui/Models/SessionXML.cpp @@ -22,6 +22,7 @@ #include "GroupItemController.h" #include "SessionModel.h" #include "WarningMessageService.h" +#include "SessionItemTags.h" #include <QtCore/QXmlStreamWriter> namespace @@ -262,7 +263,7 @@ SessionItem* createItem(SessionItem* item, const QString& modelType, const QStri if (auto groupItem = dynamic_cast<GroupItem*>(item)) result = groupItem->getItemOfType(modelType); } else { - if (item->isSingleItemTag(tag)) + if (item->sessionItemTags()->isSingleItemTag(tag)) result = item->getItem(tag); else result = item->model()->insertNewItem(modelType, item->index(), -1, tag); -- GitLab