===========================================================
This constraint command is basically never used by users and almost never by power users.
If it is not removed is because it may be useful for debugging... and maybe we should think about
removing the command althogether, as debugging can be done via Python console.
==========================================================
When selecting a list of geometry, where at least one element has internal geometry, together with the internal geometry
produced an error in the report view.
Solution:
Use newly exposed deleteGeometries to delete all geometries at once.
Note:
The list is not reverse sorted (as opposed as with the deleteGeometry method), as the list will be sorted
by SketchObject in the normal order. Reverse sorting would lead to the worst case for that normal order sort.
================================
New deleteGeometries function, according to the comment should the same
as deleteGeometry but at a time. However, this is not accurate, as deleteGeometry
deletes any internal geometry associated to the provided GeoIds, whereas
deleteGeometries does not delete that internal geometry.
Solution:
Split deleteGeometries into two different functions:
1) delGeometriesExclusiveList
2) delGeometry
The former will not delete associated internal geometry. It is more efficient, but
it is the resposibility of the caller not to leave internal geometry undeleted.
The latter, implemented in terms of the former, will delete associated internal
geometry too.
As a bonus, the latter will also remove any GeoId duplicates.
=========================================================================
Sometimes it happens that malformed constraints are arrived to.
Example:
https://forum.freecadweb.org/viewtopic.php?f=3&t=53780#p463271
It is not the first time. They usually go under the radar and when they are
detected is too late to know what caused them. The user is desperate too.
This commit makes malformed constraints to prevent the recompute of the project.
This is in the best interest of the user.
=======================================================
ViewProviderSketch relies on new property SketchObject::FullyConstraint to show status via overlay icon
===============================================
Before this implementation, specific status via former mergeOverlayIcon() was greyed out
with the visibility.
With this commit, the developer has two options:
a) override mergeGreyableOverlayIcons, in which case the overlay will
be greyed out when the item is greyed out as per former mergeOverlayIcon()
b) override mergeColorfulOverlayIcons, in which case the overlay will
be superimposed after the icon is greyed out as it is the case for stardard
error and recompute flags.
========================================================
This property stores whether a Sketch has 0 DoF or not upon solve.
It is serialised to disk, enabling a recently loaded project to have an accurate
populated property even before the first solve() call.
==================================================
ViewProviderSketch now derives from the ViewProviderAttachExtension and gets the overlay icon when not attached.
ViewProvider2DObject does not implement a ViewProviderAttachExtension although Part2DObject (on which SketchObject derives)
does derive from AttachExtension. It is understood that this is because this functionality is unwanted for other
ViewProviders.
This corrects which end of the slot Extend Slot Start/End are applied; error with Extend lengths between 0 and 1 and direction of extention on arc slots ( neg. is shorten ).
Some renaming to make code more readable and self documenting.
the arrow heads are much too large so that the feature use quite useless
The PR fixes this to make the arrow heads as large as for linear dimensions
It also slightly increase the arrow head size since.
When removing a row in a spreadsheet which has an assigned alias, the
alias will not be removed from the list of dynamic properties.
This makes it impossible to create a new alias which uses the same name
even if the original was removed (using removeRows/removeColumns)
Fixes#4492
2 weeks ago the properties EndTypeScale and LineVisible were added but not to the dialog.
This PR adds them t the balloon dialog-
It also took the opportunity to cleanup the code:
- add missing tooltips
- uniform tooltips in App and Gui
- uniform the UI element names