#ifndef METADATA_H #define METADATA_H #include #include #include #include /// model data enum UserRoles { NameRole = Qt::UserRole + 1, DescriptionRole, InfoRole, AmountRole, FactorRole }; static QHash ROLE_NAMES = {{NameRole, "Name"}, {DescriptionRole, "Description"}, {InfoRole, "Info"}, {AmountRole, "Amount"}, {FactorRole, "Factor"}}; // TODO ? use a data structure containing the type information of each column // ([QString, QString, QString, int, double], {{NameRole, QString},...}) // instead of INT_COLUMNS,... static QList INT_COLUMNS = {"Amount", "Factor"}; /// JSON keys static const QString ITEM_KEY_STRING = "items"; /// file naming static const QString ITEM_FILE_NAME = ITEM_KEY_STRING + ".json"; 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