#ifndef METADATA_H #define METADATA_H #include #include #include #include /// model data enum UserRoles { NameRole = Qt::UserRole + 1, DescriptionRole, InfoRole, AmountRole, FactorRole }; static UserRoles DEFAULT_ROLE = NameRole; static QList USER_FACING_ROLES = {NameRole, DescriptionRole, InfoRole, AmountRole, FactorRole}; static QHash ROLE_NAMES = {{NameRole, "Name"}, {DescriptionRole, "Description"}, {InfoRole, "Info"}, {AmountRole, "Amount"}, {FactorRole, "Factor"}}; static QList STRING_ROLES = {NameRole, DescriptionRole, InfoRole}; static QList INT_ROLES = {AmountRole}; static QList DOUBLE_ROLES = {FactorRole}; /// JSON keys static const QString ITEM_KEY_STRING = "items"; /// file naming static const QString ITEM_FILE_NAME = ITEM_KEY_STRING + ".json"; /// functions static int GET_ROLE_FOR_COLUMN(const int column) { switch (column) { case 0: return NameRole; break; case 1: return DescriptionRole; break; case 2: return InfoRole; break; case 3: return AmountRole; break; case 4: return FactorRole; break; default: qWarning() << QString("No role found for column %1! Returning 'NameRole'...").arg(column); return NameRole; break; } } #endif // METADATA_H