diff options
author | Dominik Holland <dominik.holland@qt.io> | 2020-01-17 13:35:08 +0100 |
---|---|---|
committer | Dominik Holland <dominik.holland@qt.io> | 2020-01-21 16:03:15 +0100 |
commit | 5a37ae2620e7bb74760fe3ed435c1d5e1ce63232 (patch) | |
tree | cedc2b400ce7f9921acff2f9116e3d5959f73553 /src/plugins | |
parent | 45317b232c926276555f8dc100be21988ea46405 (diff) | |
download | qtivi-5a37ae2620e7bb74760fe3ed435c1d5e1ce63232.tar.gz |
ivigenerator: Improve the autogenerated simulation
Because the simulationData contains only the data which has an
annotation configuring the data in the qface file, it was possible that
trying to access the settings for a property from the simulation returned
'undefined' which caused an QML warning giving this to C++.
The generated code uses now a different structure to prevent
checking the settings, when no settings are available.
Change-Id: I3d2ade32195683a32d01af1852ffabe0cf0a39f2
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/ivivehiclefunctions/vehiclefunctions_simulator/QIviConcreteWindowControlSimulation.qml | 77 |
1 files changed, 40 insertions, 37 deletions
diff --git a/src/plugins/ivivehiclefunctions/vehiclefunctions_simulator/QIviConcreteWindowControlSimulation.qml b/src/plugins/ivivehiclefunctions/vehiclefunctions_simulator/QIviConcreteWindowControlSimulation.qml index 94e7d2b..770f847 100644 --- a/src/plugins/ivivehiclefunctions/vehiclefunctions_simulator/QIviConcreteWindowControlSimulation.qml +++ b/src/plugins/ivivehiclefunctions/vehiclefunctions_simulator/QIviConcreteWindowControlSimulation.qml @@ -140,45 +140,47 @@ QtObject { function setHeaterMode(heaterMode, zone) { - if (IviSimulator.checkSettings(settings["heaterMode"], heaterMode, zone)) { - if (zone) { - console.log("SIMULATION heaterMode for zone: " + zone + " changed to: " + heaterMode); - backend.zones[zone].heaterMode = heaterMode - } else { - console.log("SIMULATION heaterMode changed to: " + heaterMode); - backend.heaterMode = heaterMode - } - } else { + if ("heaterMode" in settings && !IviSimulator.checkSettings(settings["heaterMode"], heaterMode, zone)) { console.error("SIMULATION changing heaterMode is not possible: provided: " + heaterMode + "constraint: " + IviSimulator.constraint(settings["heaterMode"])); + return; + } + + if (zone) { + console.log("SIMULATION heaterMode for zone: " + zone + " changed to: " + heaterMode); + backend.zones[zone].heaterMode = heaterMode + } else { + console.log("SIMULATION heaterMode changed to: " + heaterMode); + backend.heaterMode = heaterMode } } function setHeater(heater, zone) { - if (IviSimulator.checkSettings(settings["heater"], heater, zone)) { - console.log("SIMULATION heater changed to: " + heater); - if (zone) { - console.log("SIMULATION heater for zone: " + zone + " changed to: " + heater); - backend.zones[zone].heater = heater - } else { - console.log("SIMULATION heater changed to: " + heater); - backend.heater = heater - } - } else { + if ("heater" in settings && !IviSimulator.checkSettings(settings["heater"], heater, zone)) { console.error("SIMULATION changing heater is not possible: provided: " + heater + "constraint: " + IviSimulator.constraint(settings["heater"])); + return; + } + + if (zone) { + console.log("SIMULATION heater for zone: " + zone + " changed to: " + heater); + backend.zones[zone].heater = heater + } else { + console.log("SIMULATION heater changed to: " + heater); + backend.heater = heater } } function setState(state, zone) { - if (IviSimulator.checkSettings(settings["state"], state, zone)) { - if (zone) { - console.log("SIMULATION state for zone: " + zone + " changed to: " + state); - backend.zones[zone].state = state - } else { - console.log("SIMULATION state changed to: " + state); - backend.state = state - } - } else { + if ("state" in settings && !IviSimulator.checkSettings(settings["state"], state, zone)) { console.error("SIMULATION changing state is not possible: provided: " + state + "constraint: " + IviSimulator.constraint(settings["state"])); + return; + } + + if (zone) { + console.log("SIMULATION state for zone: " + zone + " changed to: " + state); + backend.zones[zone].state = state + } else { + console.log("SIMULATION state changed to: " + state); + backend.state = state } } @@ -190,16 +192,17 @@ QtObject { } function setBlindState(blindState, zone) { - if (IviSimulator.checkSettings(settings["blindState"], blindState, zone)) { - if (zone) { - console.log("SIMULATION blindState for zone: " + zone + " changed to: " + blindState); - backend.zones[zone].blindState = blindState - } else { - console.log("SIMULATION blindState changed to: " + blindState); - backend.blindState = blindState - } - } else { + if ("blindState" in settings && !IviSimulator.checkSettings(settings["blindState"], blindState, zone)) { console.error("SIMULATION changing blindState is not possible: provided: " + blindState + "constraint: " + IviSimulator.constraint(settings["blindState"])); + return; + } + + if (zone) { + console.log("SIMULATION blindState for zone: " + zone + " changed to: " + blindState); + backend.zones[zone].blindState = blindState + } else { + console.log("SIMULATION blindState changed to: " + blindState); + backend.blindState = blindState } } } |