summaryrefslogtreecommitdiff
path: root/builtin/qtqml/templates/InterfaceProvider.qml
diff options
context:
space:
mode:
Diffstat (limited to 'builtin/qtqml/templates/InterfaceProvider.qml')
-rw-r--r--builtin/qtqml/templates/InterfaceProvider.qml23
1 files changed, 23 insertions, 0 deletions
diff --git a/builtin/qtqml/templates/InterfaceProvider.qml b/builtin/qtqml/templates/InterfaceProvider.qml
new file mode 100644
index 0000000..bbcaaf5
--- /dev/null
+++ b/builtin/qtqml/templates/InterfaceProvider.qml
@@ -0,0 +1,23 @@
+import QtQml 2.2
+import QtQml.Models 2.2
+
+import "."
+
+QtObject {
+ {% for property in interface.properties %}
+ property {{property|propertyType}} {{property}} : {{property|defaultValue}}
+ {% endfor %}
+
+ {% for operation in interface.operations %}
+ property var {{operation}} : function({{operation.parameters|join(', ')}}) {}
+ {% endfor %}
+
+ {% for event in interface.events %}
+ signal {{event}}(
+ {%- for parameter in event.parameters %}
+ {{- parameter.type|propertyType }} {{ parameter.name -}}
+ {% if not loop.last %}, {% endif %}
+ {% endfor -%}
+ )
+ {% endfor %}
+}