diff options
author | Dominik Holland <dominik.holland@pelagicore.com> | 2018-10-29 15:00:56 +0100 |
---|---|---|
committer | Dominik Holland <dominik.holland@pelagicore.com> | 2018-11-07 10:35:15 +0000 |
commit | dc548209aa828e59a177f174f62af45001e1aabe (patch) | |
tree | e65a0452cf4e6ae2c2596c3b91ef29f267c1f01f | |
parent | a8bb96bc59182a1d249d11d5ec07937f2fac5766 (diff) |
ivigenerator: Fix the "backend_simulator" simulation to support zones
Forward the zone argument for the properties to the QML simulation.
Fix the QML code to use the zone argument for loading the correct
simulationData.
Change-Id: I6bffd47333c423347421754c30856f2927170cd6
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
-rw-r--r-- | src/tools/ivigenerator/templates_backend_simulator/backend.cpp.tpl | 6 | ||||
-rw-r--r-- | src/tools/ivigenerator/templates_backend_simulator/backend.qml.tpl | 20 |
2 files changed, 23 insertions, 3 deletions
diff --git a/src/tools/ivigenerator/templates_backend_simulator/backend.cpp.tpl b/src/tools/ivigenerator/templates_backend_simulator/backend.cpp.tpl index 8dbe5d7..f43ec4e 100644 --- a/src/tools/ivigenerator/templates_backend_simulator/backend.cpp.tpl +++ b/src/tools/ivigenerator/templates_backend_simulator/backend.cpp.tpl @@ -231,7 +231,11 @@ void {{class}}::addZone(const QString &zone) */ {{ivi.prop_setter(property, class, interface_zoned, model_interface = true)}} { - QIVI_SIMULATION_TRY_CALL({{class}}, "{{property|setter_name}}", void, {{property}}); +{% set parameters = property.name %} +{% if interface_zoned %} +{% set parameters = parameters + ', zone' %} +{% endif%} + QIVI_SIMULATION_TRY_CALL({{class}}, "{{property|setter_name}}", void, {{parameters}}); {% if interface_zoned %} if (zone.isEmpty()) { diff --git a/src/tools/ivigenerator/templates_backend_simulator/backend.qml.tpl b/src/tools/ivigenerator/templates_backend_simulator/backend.qml.tpl index ad83229..f4278b4 100644 --- a/src/tools/ivigenerator/templates_backend_simulator/backend.qml.tpl +++ b/src/tools/ivigenerator/templates_backend_simulator/backend.qml.tpl @@ -61,16 +61,32 @@ QtObject { return settings.zones; } {% endif %} - {% for property in interface.properties %} + +{% if interface_zoned %} + function {{property|setter_name}}({{property}}, zone) { + if (IviSimulator.checkSettings({{property}}, settings["{{property}}"], zone)) { + if (zone) { + console.log("SIMULATION {{ property }} for zone: " + zone + " changed to: " + {{property}}); + backend.zones[zone].{{property}} = {{property}} + } else { + console.log("SIMULATION {{ property }} changed to: " + {{property}}); + backend.{{property}} = {{property}} + } + } else { + setError("SIMULATION changing {{property}} is not possible: provided: " + {{property}} + " constraint: " + IviSimulator.constraint_string(settings["{{property}}"])); + } + } +{% else %} function {{property|setter_name}}({{property}}) { if (IviSimulator.checkSettings({{property}}, settings["{{property}}"])) { console.log("SIMULATION {{ property }} changed to: " + {{property}}); backend.{{property}} = {{property}} } else { - setError("SIMULATION changing {{property}} is not possible: provided: " + {{property}} + "constraint: " + IviSimulator.constraint_string(settings["{{property}}"])); + setError("SIMULATION changing {{property}} is not possible: provided: " + {{property}} + " constraint: " + IviSimulator.constraint_string(settings["{{property}}"])); } } +{% endif %} {% endfor %} } } |