30 #ifndef INTERFACES_CORE_ITAGSMANAGER_H 31 #define INTERFACES_CORE_ITAGSMANAGER_H 32 #include <QStringList> 34 class QAbstractItemModel;
61 virtual tag_id GetID (
const QString& tag) = 0;
76 for (
const auto& tag : tags)
77 result << GetID (tag);
93 virtual QString GetTag (tag_id
id)
const = 0;
108 for (
const auto&
id : ids)
109 result << GetTag (
id);
117 virtual QStringList GetAllTags ()
const = 0;
124 virtual QStringList Split (
const QString&
string)
const = 0;
135 virtual QList<tag_id> SplitToIDs (
const QString&
string) = 0;
143 virtual QString Join (
const QStringList& tags)
const = 0;
155 virtual QString JoinIDs (
const QStringList& tagIDs)
const = 0;
165 virtual QAbstractItemModel* GetModel () = 0;
172 virtual QObject* GetQObject () = 0;
175 Q_DECLARE_INTERFACE (
ITagsManager,
"org.Deviant.LeechCraft.ITagsManager/1.0")