diff options
Diffstat (limited to 'examples/qtcpp/generator/templates')
4 files changed, 27 insertions, 8 deletions
diff --git a/examples/qtcpp/generator/templates/abstractinterface.cpp b/examples/qtcpp/generator/templates/abstractinterface.cpp index 9bf6ec7..662a66c 100644 --- a/examples/qtcpp/generator/templates/abstractinterface.cpp +++ b/examples/qtcpp/generator/templates/abstractinterface.cpp @@ -12,6 +12,9 @@ {{interface.comment}} {{class}}::{{class}}(QObject *parent) : QObject(parent) +{% for property in interface.properties %} + , m_{{property}}({{property|defaultValue}}) +{% endfor %} { {% for property in interface.properties %} {% if property.type.is_model %} @@ -27,12 +30,23 @@ void {{class}}::set{{property|upperfirst}}({{ property|parameterType }}) return; } m_{{property}} = {{property}}; - emit {{property}}Changed({{property}}); + emit {{property}}Changed(); } {{property|returnType}} {{class}}::{{property}}() const { return m_{{property}}; } +{% endfor %} +{%- for operation in interface.operations %} +{{operation|returnType}} {{class}}::{{operation}}({{operation.parameters|map('parameterType')|join(', ')}}) +{ + {% for parameter in operation.parameters %} + Q_UNUSED({{parameter.name}}); + {% endfor %} + qWarning() << "{{class}}::{{operation}}(...) not implemented"; + return {{operation|defaultValue}}; +} {% endfor %} + diff --git a/examples/qtcpp/generator/templates/abstractinterface.h b/examples/qtcpp/generator/templates/abstractinterface.h index aac9ac8..90d9ae4 100644 --- a/examples/qtcpp/generator/templates/abstractinterface.h +++ b/examples/qtcpp/generator/templates/abstractinterface.h @@ -21,26 +21,27 @@ class {{class}} : public QObject public: {{class}}(QObject *parent=0); -{%- for operation in interface.operations %} - virtual {{operation|returnType}} {{operation}}({{operation.parameters|map('parameterType')|join(', ')}}) = 0; +public Q_SLOTS: +{% for operation in interface.operations %} + virtual {{operation|returnType}} {{operation}}({{operation.parameters|map('parameterType')|join(', ')}}); {% endfor %} -public Q_SLOTS: +public: {% for property in interface.properties %} void set{{property|upperfirst}}({{ property|parameterType }}); {% endfor %} public: {% for property in interface.properties %} - {{property|returnType}} {{property}}() const; + virtual {{property|returnType}} {{property}}() const; {% endfor %} Q_SIGNALS: {% for property in interface.properties %} - void {{property}}Changed({{property|parameterType}}); + void {{property}}Changed(); {% endfor %} -private: +protected: {% for property in interface.properties %} {{property|returnType}} m_{{property}}; {% endfor %} diff --git a/examples/qtcpp/generator/templates/module.cpp b/examples/qtcpp/generator/templates/module.cpp index ca0f8c6..6579b2c 100644 --- a/examples/qtcpp/generator/templates/module.cpp +++ b/examples/qtcpp/generator/templates/module.cpp @@ -32,6 +32,9 @@ void {{class}}::registerTypes() {% for struct in module.structs %} qRegisterMetaType<Qml{{struct}}>(); {% endfor %} + {% for enum in module.enums %} + qRegisterMetaType<{{class}}::{{enum}}>(); + {% endfor %} } void {{class}}::registerQmlTypes(const QString& uri, int majorVersion, int minorVersion) @@ -39,5 +42,5 @@ void {{class}}::registerQmlTypes(const QString& uri, int majorVersion, int minor {% for struct in module.structs %} qmlRegisterUncreatableType<Qml{{struct}}Model>(uri.toLatin1(), majorVersion, minorVersion, "{{struct}}Model", "Model can not be instantiated from QML"); {% endfor %} - qmlRegisterSingletonType<{{class}}>(uri.toLatin1(), majorVersion, minorVersion, "{{module}}", {{class|lower}}_singletontype_provider); + qmlRegisterSingletonType<{{class}}>(uri.toLatin1(), majorVersion, minorVersion, "{{module.module_name}}Module", {{class|lower}}_singletontype_provider); } diff --git a/examples/qtcpp/generator/templates/module.h b/examples/qtcpp/generator/templates/module.h index f6bb772..65ba2db 100644 --- a/examples/qtcpp/generator/templates/module.h +++ b/examples/qtcpp/generator/templates/module.h @@ -26,6 +26,7 @@ public: {{ comma() }} {{member.name}} = {{member.value}} {%- endfor %} + }; Q_ENUM({{enum}}) {% endfor %} |