Draft: Improve layer functions

The current make_layer function has a `None` default for the shape color and the line color. With that value the current preference is used. This, and how the function is called, results in some confusing behaviors:
* Newly created layers will only use 2 values from the preferences when they might use 5. The latter makes more sense for the end-user IMO.
* Layers created during DXF import (for example) will have a different shape color depending on the current preferences.
* The make_layer function may reapply colors that have already been set by the view provider.

To solve this all view property related function parameter have been changed to a not None value. If a None value is supplied the view property as set by the view provider is not changed. The Layer Manager has been updated accordingly.
I realize that calling a function with 6 None values is not very convenient, but think it is the solution that is least likely to break other exiting code.

Additionally:
* Removed the makeLayer function. Layers were introduced in V0.19 when the naming scheme was changed to "make_*". Maybe it was created by mistake, or before the actual renaming operation started, but it is safe to remove it now.
* Removed overly verbose messages.
* gui_layers.py had a missing import (result of a previous V0.22 PR): `from draftutils import utils`.
This commit is contained in:
Roy-043
2024-01-20 11:17:34 +01:00
committed by Chris Hennes
parent 05f425eab9
commit 7a85dd07e1
5 changed files with 83 additions and 105 deletions

View File

@@ -586,6 +586,7 @@ def _create_objects(doc=None,
line_color=(0.33, 0.0, 0.49),
shape_color=(0.56, 0.89, 0.56),
line_width=4,
draw_style="Solid",
transparency=50)
box = doc.addObject("Part::Box", "Box")
box.Length = 200