12#include <QtCore/qglobal.h>
16#if defined(KANOOP_LIBRARY)
17# define KANOOP_EXPORT Q_DECL_EXPORT
19# define KANOOP_EXPORT Q_DECL_IMPORT
57 QString
getString(T type,
const QString& defaultValue = QString())
const
59 auto it = this->find(type);
60 return it != this->end()
72 T
getType(
const QString& name, Qt::CaseSensitivity caseSensitivity,
const T defaultValue = T())
const
75 int enumValue = name.toInt(&ok);
81 QString value = it.value();
82 if(QString::compare(value, name, caseSensitivity) == 0) {
95 T
getType(
const QString& name,
const T defaultValue = T())
const
97 return getType(name, Qt::CaseSensitive, defaultValue);
116 bool containsString(
const QString& name, Qt::CaseSensitivity cs = Qt::CaseInsensitive)
const
120 return a.compare(name, cs) == 0;
A QMap subclass providing bidirectional enum-to-string lookups.
T getType(const QString &name, Qt::CaseSensitivity caseSensitivity, const T defaultValue=T()) const
Look up the enum value for a string name, with case sensitivity control.
QString getString(T type, const QString &defaultValue=QString()) const
Look up the string name for an enum value.
QList< T > getTypes() const
Return all enum values registered in this map.
T getType(const QString &name, const T defaultValue=T()) const
Look up the enum value for a string name using case-sensitive comparison.
bool containsString(const QString &name, Qt::CaseSensitivity cs=Qt::CaseInsensitive) const
Test whether the map contains a given string value.
Core KanoopCommonQt namespace containing shared enumerations and templates.
ModelRole
Model roles extending Qt::UserRole for use in AbstractItemModel subclasses.
@ DataRole
Primary data payload role.
@ MetadataTypeRole
Role carrying a metadata type integer.
@ NameRole
Role carrying a display name string.
@ UUidRole
Role carrying a QUuid.
@ EntityTypeRole
Role carrying an entity type integer.
@ EntityMetadataRole
Role carrying an EntityMetadata object.
@ UserRole
First role available for application-specific use.