summaryrefslogtreecommitdiff
path: root/examples/qtcpp/generator/templates
diff options
context:
space:
mode:
Diffstat (limited to 'examples/qtcpp/generator/templates')
-rw-r--r--examples/qtcpp/generator/templates/abstractinterface.cpp16
-rw-r--r--examples/qtcpp/generator/templates/abstractinterface.h13
-rw-r--r--examples/qtcpp/generator/templates/module.cpp5
-rw-r--r--examples/qtcpp/generator/templates/module.h1
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 %}