onChanged() triggers for the first time before all of the properties are
loaded, so it can fail to compute properly at that stage, depending on
the load order.
However, it's not necessary to compute geometry in onChanged() at all,
because that's usually supposed to happen in execute() anyway. The
solution here is to just not do onChanged() at all.
Fixes#13558
There were several issues here, not just one. The following are fixed:
Incorrect display of Quantity items (NaN)
Editing and updating quantity items
Editing and updating items on the first row.
There are still issues with editing lists, but these were known issues at the time of initial merge. This has been split out into issue #13435fixes#13020
A beam created with Arch_Structure would have the wrong length if the 1st point was clicked and the 2nd point was entered in the task panel.
Forum topic: https://forum.freecad.org/viewtopic.php?t=86595
Aditionally: simplified rotateLH and rotateLW.
Co-authored-by: Yorik van Havre <yorik@uncreated.net>
* The Placement of Draft Line base objects was not adjusted to account for the current working plane. Forum topic: https://forum.freecad.org/viewtopic.php?t=86780
* Continue mode checkbox did not behave correctly because its value was based on FreeCADGui.draftToolBar.continueMode, which does not update as the parameter is changed. Will update other Arch code later.
* There was an issue with Draft Line based walls and continue mode. A Draft Line is selected after creation and the next command call would also use that line because of that. Resulting in 2 walls using the same line and an interuption of continue mode.
* setUseSketch changed the wrong parameter.
Provides compatibility loading older files outside the context of
a library.
Older material files were loaded by specifying a path. The new
material system used the path to associated the material with a
library, which may not be appropriate for legacy files. This change
allows the use of materials outside of a library.
Additionally, legacy files often have name/value pairs not part of the
standard list of properties. Since these were unable to be mapped to
a model property they were ignored. Materials now maintain a legacy
map to hold properties not associated with a property model. These
properties are considered transient and will not be saved. It is not
intended for this feature to be used as a generic container for
properties not mapped to an appropriate model.
Fixes#13302