summaryrefslogtreecommitdiff
path: root/src/tools/ivigenerator/generate.py
diff options
context:
space:
mode:
authorJan Arne Petersen <jan.petersen@kdab.com>2017-08-22 14:16:20 +0200
committerDominik Holland <dominik.holland@pelagicore.com>2017-09-12 08:20:33 +0000
commit06bd1602bf87fbaa04f946b06166b223f18de93a (patch)
tree7cd07b7d80cc6b1af16c4dbe86e594cf70b3176b /src/tools/ivigenerator/generate.py
parent63735a02e20f6b3b238b0b707794332054814db6 (diff)
downloadqtivi-06bd1602bf87fbaa04f946b06166b223f18de93a.tar.gz
Add support for zoned default values
Zoned default values are defined by a map from zone_name to default value. The default key is as defined by YAML '='. Example: config_simulator: default: { left: 21.0, right: 22.5, =: 0.0 } Change-Id: Ia0f1be270399aec4e90e816f0b063b6b4fc6d7e2 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
Diffstat (limited to 'src/tools/ivigenerator/generate.py')
-rwxr-xr-xsrc/tools/ivigenerator/generate.py7
1 files changed, 6 insertions, 1 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