The SVG icon was changed in d3ee556467 but the small XPM icon
was not modified.
Unlike other XPM icons which are used in `ViewProviderSketch.cpp`,
this `PointOnPoint` XPM icon doesn't seem to be used at all.
Nevertheless, we still update it so that the XPM matches
its corresponding SVG.
Also update the `README.md` to explain how these XPM icons
are generated.
==================
https://forum.freecadweb.org/viewtopic.php?p=387303#p387303
1. Trim had a bug that the type of the constraint on the second point was equal to the first one regardless of the situation.
2. Trim did not have support for checking whether points were close to the edge and relied on preexisting constraints.
==========================================================
Changes:
- Move multIcon structure to be internal to TaskSketcherElements class
- Change Caps to MultIcon for consistency
- Move tamperIcon from TaskSketcherElements to MultIcon struct
- Change tamperIcon method to be the constructor of MultIcon and change from struct to class
- Update the tamperIcon algorithm, so that only the point that is not marked in green as selected
is made pink.
Bug fix:
UpdateIcons and SlotElementsChanged are methods sharing code (they could benefit from a refactoring), but
they are conceptually different and are called in very different circumnstances.
UpdateIcons preserves selection. This means that one may select the stating point of line1, press z to switch
to edges, select the edge of line 2 and do a point on object constraint all without touching the 3D view.
SlotElementsChanged occurs when there are additions or removals in the number of geometry elements of the widget.
Warning:
This code requires QT 5.6 because of function pixelColour(int, int):
https://doc.qt.io/qt-5/qimage.html#pixelColor-1
Travis without QT5 complains with:
/home/travis/build/FreeCAD/FreeCAD/src/Mod/Sketcher/Gui/TaskSketcherElements.cpp:1120:31: error: ‘class QImage’ has no member named ‘pixelColor’; did you mean ‘setColor’?
+ remove unneeded class members from EditData class
+ do not include ui-header from within header files
+ fix possible memory leak in EditDatumDialog
+ when canceling dialog make sure sketch will be updated
This integrates the ability to manage dimensional constraint driving/driven status
in the constraint edition dialog box.
It adds a checkbox in the dialog to show/select whether a constraint is driving or
driven. When the constraint value is modified, it is automatically set as driving.
Main focus is to allow to edit name (alias) of reference (driven) constraints
directly in the constraint edition box.
Resolves#3793, #3978
Derived from App::DocumentObjectT to add support of sub object
Also some minor changes to App::DocumentObjectT
Changed Gui::SelectionChanges to make use of SubObjectT
while fixing a SVG export issue for techDraw I noticed that some SVG files have program-dependent (and thus not clean) code in it. These are traces of the programs Sodipodi and Inkscape, like e.g. this line:
inkscape:export-filename="/home/yorik/PartDesign_Groove.png
This is unnecessary and FC should not use program-dependent code in the SVG but use instead plain SVG strictly following the SVG specification.
This PR transforms the few affected SVGs to a plain version.
Renamed Sketcher_AlterConstruction.svg to
Sketcher_ToggleConstruction.svg, and renamed the original
Sketcher_ToggleConstruction.svg to Sketcher_ToggleConstruction_old.svg
as per the directions of vocx in this forum post:
https://forum.freecadweb.org/viewtopic.php?f=21&t=42131&p=357725#p357725