Continues the work of the material subsystem improvements.
Several important items are included in this merge. In terms of new
capabilities, this merge adds List and MultiLineString as valid
property types, complete with editing dialogs. This will help with
backwards compatibility for external workbenches, such as Render.
Stability has been a big focus. New unit tests help to verify features
work as expected. Bugs have been fixed and crashes avoided.
Material cards have had a renaming to their tree structure. For
example, 'StandardMeterials' is redundant, so this was renamed to
'Standard'. The cards themselves are more compliant fully passing the
yamllint tests.
More soon.
Rather than generating Python code and interpreting it, which, in C++, is fraught with issues of creating the correct syntax for a str token when the text contains certain special characters like double-quote and backslash, the modified code makes call(s) to PyObject_CallObject which takes the C++ string and makes the appropriate conversion itself. The steps in building the Position passed to make_text are also done using c++ objects until the final Python Placement object is needed.
* project to document on information, merge, util
* change project to document in unit system dialog
---------
Co-authored-by: WandererFan <WandererFan@gmail.com>
With this PR the following 5 command modes are automatically stored in the preferences:
"ContinueMode"
"RelativeMode"
"GlobalMode"
"fillmode" (existing preference, removed from the Preferences Editor)
"SubelementMode"
Additionally:
Three commands (Draft_Ellipse, Draft_Rectangle and Draft_Stretch) call `setRelative` after the 1st point has been specified and would permanently switch on relativeMode. After this PR this switch is temporarily.
With this PR the following 5 command modes are automatically stored in the preferences:
* "ContinueMode"
* "RelativeMode"
* "GlobalMode"
* "fillmode" (existing preference, removed from the Preferences Editor)
* "SubelementMode"
Additionally:
Three commands (Draft_Ellipse, Draft_Rectangle and Draft_Stretch) call `setRelative` after the 1st point has been specified and would permanently switch on relativeMode. After this PR this switch is temporary.
If the QLineEdit is disabled the current color group of the cached QPalette is set to 'Inactive'. Now when enabling the QLineEdit the wrong palette is set and the text looks like it's inactive.