Fix QML errors due to property providers not being initialised yet

This then updates in a fraction of a millisecond later before things even appear on the screen, so it's not so bad to not have a tooltip or to have it show 0 then.

Done during Turbo Testing and Tooling.
This commit is contained in:
Ghostkeeper 2020-03-20 16:58:18 +01:00
parent 31aee866f4
commit 2f3462203c
No known key found for this signature in database
GPG key ID: D2A8871EE34EC59A
5 changed files with 17 additions and 14 deletions

View file

@ -36,7 +36,7 @@ UM.TooltipArea
property alias labelWidth: fieldLabel.width property alias labelWidth: fieldLabel.width
property alias optionModel: comboBox.model property alias optionModel: comboBox.model
property string tooltipText: propertyProvider.properties.description property string tooltipText: propertyProvider.properties.description ? propertyProvider.properties.description : ""
// callback functions // callback functions
property var forceUpdateOnChangeFunction: dummy_func property var forceUpdateOnChangeFunction: dummy_func

View file

@ -1,4 +1,4 @@
// Copyright (c) 2019 Ultimaker B.V. // Copyright (c) 2020 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher. // Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.10 import QtQuick 2.10
@ -24,7 +24,7 @@ UM.TooltipArea
property alias settingKey: propertyProvider.key property alias settingKey: propertyProvider.key
property alias settingStoreIndex: propertyProvider.storeIndex property alias settingStoreIndex: propertyProvider.storeIndex
property string tooltip: propertyProvider.properties.description property string tooltip: propertyProvider.properties.description ? propertyProvider.properties.description : ""
property alias labelText: titleLabel.text property alias labelText: titleLabel.text
property alias labelFont: titleLabel.font property alias labelFont: titleLabel.font

View file

@ -1,4 +1,4 @@
// Copyright (c) 2019 Ultimaker B.V. // Copyright (c) 2020 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher. // Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.10 import QtQuick 2.10
@ -39,7 +39,7 @@ UM.TooltipArea
property alias valueText: textFieldWithUnit.text property alias valueText: textFieldWithUnit.text
property alias editingFinishedFunction: textFieldWithUnit.editingFinishedFunction property alias editingFinishedFunction: textFieldWithUnit.editingFinishedFunction
property string tooltipText: propertyProvider.properties.description property string tooltipText: propertyProvider.properties.description ? propertyProvider.properties.description : ""
property real minimum: 0 property real minimum: 0
property real maximum: Number.POSITIVE_INFINITY property real maximum: Number.POSITIVE_INFINITY

View file

@ -1,4 +1,4 @@
// Copyright (c) 2019 Ultimaker B.V. // Copyright (c) 2020 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher. // Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.10 import QtQuick 2.10
@ -35,15 +35,18 @@ NumericTextFieldWithUnit
property string axisMinOrMax: "min" property string axisMinOrMax: "min"
property var axisValue: property var axisValue:
{ {
var polygon = JSON.parse(propertyProvider.properties.value) if(propertyProvider.properties.value === undefined) { //PropertyProvider not initialised yet or there is no global stack.
var item = (axisName == "x") ? 0 : 1 return 0;
var result = polygon[0][item] }
var func = (axisMinOrMax == "min") ? Math.min : Math.max var polygon = JSON.parse(propertyProvider.properties.value);
var item = (axisName == "x") ? 0 : 1;
var result = polygon[0][item];
var func = (axisMinOrMax == "min") ? Math.min : Math.max;
for (var i = 1; i < polygon.length; i++) for (var i = 1; i < polygon.length; i++)
{ {
result = func(result, polygon[i][item]) result = func(result, polygon[i][item]);
} }
return result return result;
} }
valueText: axisValue valueText: axisValue

View file

@ -1,4 +1,4 @@
// Copyright (c) 2019 Ultimaker B.V. // Copyright (c) 2020 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher. // Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.10 import QtQuick 2.10
@ -32,7 +32,7 @@ UM.TooltipArea
property alias labelFont: fieldLabel.font property alias labelFont: fieldLabel.font
property alias labelWidth: fieldLabel.width property alias labelWidth: fieldLabel.width
property string tooltip: propertyProvider.properties.description property string tooltip: propertyProvider.properties.description ? propertyProvider.properties.description : ""
// callback functions // callback functions
property var forceUpdateOnChangeFunction: dummy_func property var forceUpdateOnChangeFunction: dummy_func