blob: 97e1c8d30719808e6065ea53360462e4b8203378 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
{%+ macro enum_decl(enum) -%}
enum {{enum}}Enum {
{% for member in enum.members %}
{{member.name}} = {{member.value}}{% if not loop.last %},{%endif%}
{% endfor %}
};
{% if enum.is_flag %}
Q_DECLARE_FLAGS({{enum}}Enums, {{enum}}Enum)
Q_FLAG({{enum}}Enum)
{% else %}
Q_ENUM({{enum}}Enum)
{% endif %}
{%- endmacro %}
{% macro property(property, notifiable=True) -%}
Q_PROPERTY({{property|returnType}} {{property}} READ {{property}} {% if not property.readonly %}WRITE set{{property|upperfirst}}{% endif %}{% if not property.const and notifiable %} NOTIFY {{property}}Changed{% endif %})
{%- endmacro %}
{% macro property_setter_decl(property, ending=";") -%}
void set{{property|upperfirst}}({{ property|parameterType }}){{ending}}
{%- endmacro %}
{% macro property_getter_decl(property, ending=";") -%}
{{property|returnType}} {{property}}() const{{ending}}
{%- endmacro %}
{% macro signal_decl(symbol, postfix="") -%}
void {{symbol}}{{postfix}}({{symbol|parameters}});
{%- endmacro %}
{% macro property_member_decl(property) -%}
{{property|returnType}} m_{{property}};
{%- endmacro %}
{% macro property_setter_impl(class, property, notifiable=True) -%}
/*!
\qmlproperty {{property.type}} {{class}}::{{property}}
{% with doc = property.comment|parse_doc %}
\brief {{doc.brief}}
{{doc.description}}
{% endwith %}
*/
void {{class}}::set{{property|upperfirst}}({{ property|parameterType }})
{
{% if notifiable %}
if (m_{{property}} != {{property}}) {
m_{{property}} = {{property}};
Q_EMIT {{property}}Changed({{property}});
}
{% else %}
m_{{property}} = {{property}};
{% endif %}
}
{%- endmacro %}
{% macro property_getter_impl(class, property) -%}
{{property|returnType}} {{class}}::{{property}}() const
{
return m_{{property}};
}
{%- endmacro %}
{% macro operation_impl(class, operation) -%}
/*!
\qmlmethod {{operation.type}} {{class}}::{{operation}}({{operation|parameters}})
{% with doc = operation.comment|parse_doc %}
\brief {{doc.brief}}
{{doc.description}}
{% endwith %}
*/
{{operation|returnType}} {{class}}::{{operation}}({{operation|parameters}})
{
{% for parameter in operation.parameters %}
Q_UNUSED({{parameter.name}});
{% endfor %}
qWarning() << "{{class}}::{{operation}}(...) not implemented";
return {{operation|defaultValue}};
}
{%- endmacro %}
{% macro operation_decl(operation, ending=";") -%}
virtual {{operation|returnType}} {{operation}}({{operation|parameters}}){{ending}}
{%- endmacro %}
{% macro autogenerated(prefix="//") -%}
{{prefix}} This is an auto-generated file.
{{prefix}} Do not edit! All changes made to it will be lost.
{%- endmacro %}
{% macro preserved(prefix="//") -%}
{{prefix}} This is a preserved file.
{{prefix}} Changes will not be overriden by the generator.
{{prefix}} To reset the file you need to delete it first.
{%- endmacro %}
|