=====================================================
Enforce strong typing to avoid all kinds of abusive implicit conversionsm, the corresponding associated bugs and make code more readable.
=======================================
Rewrite of the architecture to accomodate on-view parameters and to enable code reuse
between the default widget and custom widgets.
* Remove private unused field 'sketchView'
* Mark constructor with single argument as explicit
* Mark virtual methods of base class as override
* Fix clang code model parsing error
* Avoid too short identifiers
* Avoid redundant ternary operators
* Avoid passing Base::Unit by value but by const reference
===============================================
Sets the full interface between the DrawSketchHandler and a tool widget available somewhere in the UI.
Signalling is as follows:
1. On activation of the tool, DrawSketchHandler notifies the tool widget.
2. The tool widget retrieves tool information necessary for representation (type of widget, visibility, ...)
3. When the tool widget has created an appropriate widget, it notifies back a widget change.
4. The tool receives the widget handler and can now configure and interact with the widget.
=================================================================
When in Sketcher edit mode, a tool button is activated, while the view has been changing to view of a different type, it segfaults.
This commit checks the pointer of the view to ensure correct type before activation, and refusing to activate if not of the correct type.
fixes#10809
* fix 10742
* moved expression string modifier to helper function
* Tests: Add example tests for SketchObject
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* made expr modifier func static, pass by value and added unit tests
---------
Co-authored-by: Chris Hennes <chennes@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* The menu text and tooltip of the Sketcher_ConstrainRadius command shouldn't be different if part of the group command or not.
The explicit mentioning to change the weight of a B-Spline is pointless and confusing.
* The order of Sketcher_ConstrainRadius and Sketcher_ConstrainDiameter has flippend when used in Sketcher_CompDimensionTools
* The command Sketcher_ConstrainRadiam is completely missing
* The command Sketcher_ConstrainSnellsLaw was wrongly re-added
* CmdSketcherCompConstrainRadDia uses a wrong context