diff options
-rw-r--r-- | src/doc/qtivi/src/generator-usage.qdoc | 6 | ||||
-rwxr-xr-x | src/tools/ivigenerator/generate.py | 7 | ||||
-rw-r--r-- | src/tools/ivigenerator/templates_backend_simulator/backend.cpp.tpl | 2 |
3 files changed, 13 insertions, 2 deletions
diff --git a/src/doc/qtivi/src/generator-usage.qdoc b/src/doc/qtivi/src/generator-usage.qdoc index f8bccf7..0feea0c 100644 --- a/src/doc/qtivi/src/generator-usage.qdoc +++ b/src/doc/qtivi/src/generator-usage.qdoc @@ -211,6 +211,12 @@ annotations used for defining various aspects of the generation of the backend-s \li Accompanying YAML file \li Property \li Defines the initial values for the property returned by the simulator backend. + + For zoned properties a mapping from a zone to a default value can be used. The default key of the map is "=". + \code + config_simulator: + default: { left: 21.0, right: 22.5, =: 0.0 } + \endcode \row \li \code config_simulator: diff --git a/src/tools/ivigenerator/generate.py b/src/tools/ivigenerator/generate.py index 2590438..0483b43 100755 --- a/src/tools/ivigenerator/generate.py +++ b/src/tools/ivigenerator/generate.py @@ -132,7 +132,7 @@ def default_type_value(symbol): return 'XXX' -def default_value(symbol): +def default_value(symbol, zone='='): """ Find the default value used by the simulator backend """ @@ -143,6 +143,11 @@ def default_value(symbol): return 'new {0}Model(parent)'.format(nested) if 'config_simulator' in symbol.tags and 'default' in symbol.tags['config_simulator']: res = symbol.tags['config_simulator']['default'] + if isinstance(res, dict): + if zone in res: + res = res[zone] + else: + res = res['='] t = symbol.type if t.is_enum: module_name = t.reference.module.module_name diff --git a/src/tools/ivigenerator/templates_backend_simulator/backend.cpp.tpl b/src/tools/ivigenerator/templates_backend_simulator/backend.cpp.tpl index 3b1f0cc..2e56f6a 100644 --- a/src/tools/ivigenerator/templates_backend_simulator/backend.cpp.tpl +++ b/src/tools/ivigenerator/templates_backend_simulator/backend.cpp.tpl @@ -72,7 +72,7 @@ QT_BEGIN_NAMESPACE ZoneBackend {{zone_name}}Zone; {% for property in interface.properties %} {% if property.tags.config_simulator and property.tags.config_simulator.zoned %} - {{zone_name}}Zone.{{property}} = {{property|default_value}}; + {{zone_name}}Zone.{{property}} = {{property|default_value(zone_name)}}; {% endif %} {% endfor %} m_zoneMap.insert("{{zone_id}}", {{zone_name}}Zone); |