1
0
Fork 0
mirror of https://github.com/HenkKalkwater/harbour-sailfin.git synced 2024-09-21 06:48:22 +00:00
harbour-sailfin/core/codegen/enum_header.hbs

35 lines
593 B
Handlebars
Raw Normal View History

class {{className}}Class {
Q_GADGET
public:
enum Value {
EnumNotSet,
{{#each values as |value|}}
{{value}},
{{/each}}
};
Q_ENUM(Value)
private:
explicit {{className}}Class();
};
typedef {{className}} Class::Value {{className}};
template <>
{{className}} fromJsonValue<{{className}}>(QJsonValue source) {
if (!source.isString()) return {{className}}Class::EnumNotSet;
QString str = source.toString();
{{#each values as |value|}}
if (str == QStringLiteral("{{value}}")) {
return {{className}}Class::{{value}};
}
{{/each}}
return {{className}}Class::EnumNotSet;
}