diff options
Diffstat (limited to 'src/tools')
-rwxr-xr-x | src/tools/ivigenerator/generate.py | 7 | ||||
-rw-r--r-- | src/tools/ivigenerator/templates_backend_simulator/backend.cpp.tpl | 2 |
2 files changed, 7 insertions, 2 deletions
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); |