openBrain, uwestoehr, is the issue here connected to the dot vs. comma issue?
openBrain wrote:ping
uwestoehr wrote:ping
openBrain wrote:ping
uwestoehr wrote:ping
I agree with your other post:chrisb wrote: ↑Fri Mar 27, 2020 12:30 am This is the topic: https://forum.freecadweb.org/viewtopic. ... 30#p380050
On the flip side,. I do feel a spot of relief that the problem wasn't the 3D Surface module code,. explicitly,.
Hi all. Can't be totally sure but I don't see any obvious reason why it could be directly linked to the QuantitySpinBox implementation. I'd expect to see same problem at many different places if it was the case.chrisb wrote: ↑Fri Mar 27, 2020 12:30 am This is the topic: https://forum.freecadweb.org/viewtopic. ... 30#p380050
openBrain, uwestoehr, is the issue here connected to the dot vs. comma issue?
I will add later to this. I will also note other fancy behaviour such as not changing the value immediately after an expression change.
chrisb wrote: ↑Fri Mar 27, 2020 10:55 pm No change in
- Job->Setup X, Y, Z input boxes; these are not expression aware
- ProfileFaces->Operation->ExtraOffset, also not expression aware
- Contour->Depths, all three values, these are expression aware, but a changed value is not shown before confirm+reedit
- Contour->Heights, the same.
- Most interesting: 3DSurface->Operation->DepthOffset works correctly, directly side by side with the erroneous SampleInterval
Code: Select all
def getFields(self, obj):
'''getFields(obj) ... transfers values from UI to obj's proprties'''
self.updateToolController(obj, self.form.toolController)
self.updateCoolant(obj, self.form.coolantController)
PathGui.updateInputField(obj, 'DepthOffset', self.form.depthOffset)
PathGui.updateInputField(obj, 'SampleInterval', self.form.sampleInterval)
if obj.BoundBox != str(self.form.boundBoxSelect.currentText()):
obj.BoundBox = str(self.form.boundBoxSelect.currentText())
if obj.ScanType != str(self.form.scanType.currentText()):
obj.ScanType = str(self.form.scanType.currentText())
if obj.StepOver != self.form.stepOver.value():
obj.StepOver = self.form.stepOver.value()
if obj.LayerMode != str(self.form.layerMode.currentText()):
obj.LayerMode = str(self.form.layerMode.currentText())
if obj.CutPattern != str(self.form.cutPattern.currentText()):
obj.CutPattern = str(self.form.cutPattern.currentText())
obj.DropCutterExtraOffset.x = FreeCAD.Units.Quantity(self.form.boundBoxExtraOffsetX.text()).Value
obj.DropCutterExtraOffset.y = FreeCAD.Units.Quantity(self.form.boundBoxExtraOffsetY.text()).Value
if obj.DropCutterDir != str(self.form.dropCutterDirSelect.currentText()):
obj.DropCutterDir = str(self.form.dropCutterDirSelect.currentText())
PathGui.updateInputField(obj, 'DepthOffset', self.form.depthOffset)
PathGui.updateInputField(obj, 'SampleInterval', self.form.sampleInterval)
if obj.UseStartPoint != self.form.useStartPoint.isChecked():
obj.UseStartPoint = self.form.useStartPoint.isChecked()
def setFields(self, obj):
'''setFields(obj) ... transfers obj's property values to UI'''
self.setupToolController(obj, self.form.toolController)
self.setupCoolant(obj, self.form.coolantController)
self.selectInComboBox(obj.BoundBox, self.form.boundBoxSelect)
self.selectInComboBox(obj.ScanType, self.form.scanType)
self.selectInComboBox(obj.LayerMode, self.form.layerMode)
self.selectInComboBox(obj.CutPattern, self.form.cutPattern)
self.form.boundBoxExtraOffsetX.setText(str(obj.DropCutterExtraOffset.x))
self.form.boundBoxExtraOffsetY.setText(str(obj.DropCutterExtraOffset.y))
self.selectInComboBox(obj.DropCutterDir, self.form.dropCutterDirSelect)
self.form.depthOffset.setText(FreeCAD.Units.Quantity(obj.DepthOffset.Value, FreeCAD.Units.Length).UserString)
self.form.stepOver.setValue(obj.StepOver)
self.form.sampleInterval.setText(str(obj.SampleInterval))