diff options
author | Juergen Bocklage-Ryannel <juergen@ryannel.org> | 2019-01-21 18:00:08 +0100 |
---|---|---|
committer | Dominik Holland <dominik.holland@googlemail.com> | 2022-01-27 13:50:04 +0100 |
commit | 58e0cfa7a4a830729a17161a6e7171e7d00dabf5 (patch) | |
tree | 744b4c9c96f42df5f4fb41a24f7e26dd0b700153 | |
parent | ba43d21ea4b0c0ca300dc52140357a16af09dde4 (diff) | |
download | qtivi-qface-58e0cfa7a4a830729a17161a6e7171e7d00dabf5.tar.gz |
updates cpp helper macros
-rw-r--r-- | qface/templates/qface/qtcpp.j2 | 47 |
1 files changed, 35 insertions, 12 deletions
diff --git a/qface/templates/qface/qtcpp.j2 b/qface/templates/qface/qtcpp.j2 index dcaea6d..56b81a8 100644 --- a/qface/templates/qface/qtcpp.j2 +++ b/qface/templates/qface/qtcpp.j2 @@ -13,24 +13,28 @@ {% endif %} {%- endmacro %} -{% macro property_decl(property, notifiable=True) -%} -Q_PROPERTY({{property|qt.returnType}} {{property}} READ {{property}} {% if not property.readonly %}WRITE set{{property|upperfirst}}{% endif %}{% if not property.const and notifiable %} NOTIFY {{property}}Changed{% endif %}) +{% macro property_decl(property, notifiable=True, writeable=True) -%} +Q_PROPERTY({{property|qt.returnType}} {{property}} READ {{property}}{% if property.writeable and writeable%} WRITE set{{property|upperfirst}}{% endif %}{% if not property.const and notifiable %} NOTIFY {{property}}Changed{% endif %}) {%- endmacro %} {% macro property_pusher_decl(property, ending=";", prefix='') -%} {{prefix}} void push{{property|upperfirst}}({{ property|qt.parameterType }}){{ending}} {%- endmacro %} -{% macro property_setter_decl(property, ending=";", prefix='') -%} -{{prefix}}void set{{property|upperfirst}}({{ property|qt.parameterType }}){{ending}} +{% macro property_setter_decl(property, ending=";", prefix='', verb="set") -%} +{{prefix}}void {{verb}}{{property|upperfirst}}({{ property|qt.parameterType }}){{ending}} {%- endmacro %} {% macro property_getter_decl(property, ending=";", prefix='') -%} {{prefix}}{{property|qt.returnType}} {{property}}() const{{ending}} {%- endmacro %} -{% macro signal_decl(symbol, postfix="") -%} +{% macro signal_decl(symbol, postfix="", verb="", full=False) -%} +{% if full -%} +void {{symbol}}{{postfix}}({{symbol|qt.parameters}}); +{%- else -%} void {{symbol}}{{postfix}}(); +{%- endif %} {%- endmacro %} {% macro property_member_decl(property) -%} @@ -40,6 +44,7 @@ void {{symbol}}{{postfix}}(); {% macro property_pusher_impl(class, property, notifiable=True) -%} void {{class}}::push{{property|upperfirst}}({{ property|qt.parameterType }}) { + qDebug() << Q_FUNC_INFO << {{property}}; {% if notifiable %} if (m_{{property}} != {{property}}) { m_{{property}} = {{property}}; @@ -51,7 +56,7 @@ void {{class}}::push{{property|upperfirst}}({{ property|qt.parameterType }}) } {%- endmacro %} -{% macro property_setter_impl(class, property, notifiable=True) -%} +{% macro property_setter_impl(class, property, notifiable=True, verb="set") -%} /*! \qmlproperty {{property.type}} {{class}}::{{property}} {% with doc = property.comment|parse_doc %} @@ -59,8 +64,9 @@ void {{class}}::push{{property|upperfirst}}({{ property|qt.parameterType }}) {{doc.description|join("\n ")}} {% endwith %} */ -void {{class}}::set{{property|upperfirst}}({{ property|qt.parameterType }}) +void {{class}}::{{verb}}{{property|upperfirst}}({{ property|qt.parameterType }}) { + qDebug() << Q_FUNC_INFO << {{property}}; {% if notifiable %} if (m_{{property}} != {{property}}) { m_{{property}} = {{property}}; @@ -81,7 +87,8 @@ void {{class}}::set{{property|upperfirst}}({{ property|qt.parameterType }}) {%- endmacro %} -{% macro operation_impl(class, operation) -%} +{% macro operation_impl(class, operation, void=False, doc=True) -%} +{% if doc %} /*! \qmlmethod {{operation.type}} {{class}}::{{operation}}({{operation|qt.parameters}}) {% with doc = operation.comment|parse_doc %} @@ -89,18 +96,25 @@ void {{class}}::set{{property|upperfirst}}({{ property|qt.parameterType }}) {{doc.description|join("\n ")}} {% endwith %} */ -{{operation|qt.returnType}} {{class}}::{{operation}}({{operation|qt.parameters}}) +{% endif %} +{% if not void -%}{{operation|qt.returnType}}{%- else %}void{% endif %} {{class}}::{{operation}}({{operation|qt.parameters}}) { {% for parameter in operation.parameters %} Q_UNUSED({{parameter.name}}); {% endfor %} - qWarning() << "{{class}}::{{operation}}(...) not implemented"; + qDebug() << Q_FUNC_INFO << "not implemented"; + {% if not void %} return {{operation|qt.defaultValue}}; + {% endif %} } {%- endmacro %} -{% macro operation_decl(operation, ending=";") -%} - virtual {{operation|qt.returnType}} {{operation}}({{operation|qt.parameters}}){{ending}} +{% macro operation_decl(operation, ending=";", void=False) -%} +{% if void %} +virtual void {{operation}}({{operation|qt.parameters}}){{ending}} +{%- else %} +virtual {{operation|qt.returnType}} {{operation}}({{operation|qt.parameters}}){{ending}} +{%- endif %} {%- endmacro %} {% macro autogenerated(prefix="//") -%} @@ -116,3 +130,12 @@ void {{class}}::set{{property|upperfirst}}({{ property|qt.parameterType }}) {{prefix}} To reset the file you need to delete it first. {%- endmacro %} +{% macro struct_setter_line(property) -%} +inline void set{{property|upperfirst}}({{ property|qt.parameterType }}) { m_{{property}} = {{property}}; } +{%- endmacro %} + + +{% macro struct_getter_line(property) -%} +inline {{property|qt.returnType}} {{property}}() const { return m_{{property}}; } +{%- endmacro %} + |