diff --git a/src/Mod/Sketcher/Gui/CommandAlterGeometry.cpp b/src/Mod/Sketcher/Gui/CommandAlterGeometry.cpp index 84f4528920..d59d02b761 100644 --- a/src/Mod/Sketcher/Gui/CommandAlterGeometry.cpp +++ b/src/Mod/Sketcher/Gui/CommandAlterGeometry.cpp @@ -26,6 +26,7 @@ #include #include +#include #include #include #include @@ -62,7 +63,7 @@ namespace SketcherGui extern GeometryCreationMode geometryCreationMode; /* Constrain commands =======================================================*/ -DEF_STD_CMD_A(CmdSketcherToggleConstruction) +DEF_STD_CMD_AU(CmdSketcherToggleConstruction) CmdSketcherToggleConstruction::CmdSketcherToggleConstruction() : Command("Sketcher_ToggleConstruction") @@ -112,6 +113,23 @@ CmdSketcherToggleConstruction::CmdSketcherToggleConstruction() rcCmdMgr.addCommandMode("ToggleConstruction", "Sketcher_CreatePeriodicBSpline"); rcCmdMgr.addCommandMode("ToggleConstruction", "Sketcher_CompCreateBSpline"); rcCmdMgr.addCommandMode("ToggleConstruction", "Sketcher_CarbonCopy"); + rcCmdMgr.addCommandMode("ToggleConstruction", "Sketcher_ToggleConstruction"); +} + +void CmdSketcherToggleConstruction::updateAction(int mode) +{ + auto act = getAction(); + if (act) { + switch (static_cast(mode)) { + case GeometryCreationMode::Normal: + act->setIcon(Gui::BitmapFactory().iconFromTheme("Sketcher_ToggleConstruction")); + break; + case GeometryCreationMode::Construction: + act->setIcon( + Gui::BitmapFactory().iconFromTheme("Sketcher_ToggleConstruction_Constr")); + break; + } + } } void CmdSketcherToggleConstruction::activated(int iMsg) diff --git a/src/Mod/Sketcher/Gui/CommandConstraints.cpp b/src/Mod/Sketcher/Gui/CommandConstraints.cpp index a181e3e38c..4114986497 100644 --- a/src/Mod/Sketcher/Gui/CommandConstraints.cpp +++ b/src/Mod/Sketcher/Gui/CommandConstraints.cpp @@ -9688,7 +9688,7 @@ bool CmdSketcherConstrainSnellsLaw::isActive() // ====================================================================================== /*** Creation Mode / Toggle to or from Reference ***/ -DEF_STD_CMD_A(CmdSketcherToggleDrivingConstraint) +DEF_STD_CMD_AU(CmdSketcherToggleDrivingConstraint) CmdSketcherToggleDrivingConstraint::CmdSketcherToggleDrivingConstraint() : Command("Sketcher_ToggleDrivingConstraint") @@ -9718,9 +9718,25 @@ CmdSketcherToggleDrivingConstraint::CmdSketcherToggleDrivingConstraint() rcCmdMgr.addCommandMode("ToggleDrivingConstraint", "Sketcher_CompConstrainRadDia"); rcCmdMgr.addCommandMode("ToggleDrivingConstraint", "Sketcher_Dimension"); rcCmdMgr.addCommandMode("ToggleDrivingConstraint", "Sketcher_CompDimensionTools"); + rcCmdMgr.addCommandMode("ToggleDrivingConstraint", "Sketcher_ToggleDrivingConstraint"); // rcCmdMgr.addCommandMode("ToggleDrivingConstraint", "Sketcher_ConstrainSnellsLaw"); } +void CmdSketcherToggleDrivingConstraint::updateAction(int mode) +{ + auto act = getAction(); + if (act) { + switch (static_cast(mode)) { + case ConstraintCreationMode::Driving: + act->setIcon(Gui::BitmapFactory().iconFromTheme("Sketcher_ToggleConstraint")); + break; + case ConstraintCreationMode::Reference: + act->setIcon(Gui::BitmapFactory().iconFromTheme("Sketcher_ToggleConstraint_Driven")); + break; + } + } +} + void CmdSketcherToggleDrivingConstraint::activated(int iMsg) { Q_UNUSED(iMsg); diff --git a/src/Mod/Sketcher/Gui/Resources/Sketcher.qrc b/src/Mod/Sketcher/Gui/Resources/Sketcher.qrc index fdae83de0c..9372e53bd9 100644 --- a/src/Mod/Sketcher/Gui/Resources/Sketcher.qrc +++ b/src/Mod/Sketcher/Gui/Resources/Sketcher.qrc @@ -56,6 +56,7 @@ icons/constraints/Sketcher_Crosshair.svg icons/constraints/Sketcher_ToggleActiveConstraint.svg icons/constraints/Sketcher_ToggleConstraint.svg + icons/constraints/Sketcher_ToggleConstraint_Driven.svg icons/constraints/Sketcher_Toggle_Constraint_Driven.svg icons/constraints/Sketcher_Toggle_Constraint_Driving.svg @@ -197,6 +198,7 @@ icons/geometry/Sketcher_External.svg icons/geometry/Sketcher_Split.svg icons/geometry/Sketcher_ToggleConstruction.svg + icons/geometry/Sketcher_ToggleConstruction_Constr.svg icons/geometry/Sketcher_Trimming.svg diff --git a/src/Mod/Sketcher/Gui/Resources/icons/constraints/Sketcher_ToggleActiveConstraint.svg b/src/Mod/Sketcher/Gui/Resources/icons/constraints/Sketcher_ToggleActiveConstraint.svg index 953b750659..5aceee4393 100644 --- a/src/Mod/Sketcher/Gui/Resources/icons/constraints/Sketcher_ToggleActiveConstraint.svg +++ b/src/Mod/Sketcher/Gui/Resources/icons/constraints/Sketcher_ToggleActiveConstraint.svg @@ -1,103 +1,440 @@ - - - - Sketcher ToggleActiveConstraint - - - - + + + Sketcher ToggleActiveConstraint + + + + - - - + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - - - - - - - + + + + + + + + + + + + - + - + image/svg+xml - + Sketcher ToggleActiveConstraint @@ -127,18 +464,28 @@ - - - - - - - - - - - - + + + + + + diff --git a/src/Mod/Sketcher/Gui/Resources/icons/constraints/Sketcher_ToggleConstraint.svg b/src/Mod/Sketcher/Gui/Resources/icons/constraints/Sketcher_ToggleConstraint.svg index 8788a1028c..2a1629ad98 100644 --- a/src/Mod/Sketcher/Gui/Resources/icons/constraints/Sketcher_ToggleConstraint.svg +++ b/src/Mod/Sketcher/Gui/Resources/icons/constraints/Sketcher_ToggleConstraint.svg @@ -1,92 +1,398 @@ - - - - - - - + + + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - - - - - + + + + + + + + + + - + - + image/svg+xml - + [Abdullah Tahiri] @@ -114,16 +420,36 @@ - - - - - + + + + - - - - + + + + + diff --git a/src/Mod/Sketcher/Gui/Resources/icons/constraints/Sketcher_ToggleConstraint_Driven.svg b/src/Mod/Sketcher/Gui/Resources/icons/constraints/Sketcher_ToggleConstraint_Driven.svg new file mode 100644 index 0000000000..b1b41711a0 --- /dev/null +++ b/src/Mod/Sketcher/Gui/Resources/icons/constraints/Sketcher_ToggleConstraint_Driven.svg @@ -0,0 +1,455 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + [Abdullah Tahiri] + + + 2015-05-26 + https://www.freecad.org/wiki/index.php?title=Artwork + + + FreeCAD + + + FreeCAD/src/Mod/Sketcher/Gui/Resources/icons/Sketcher_ToggleConstraint.svg + + + FreeCAD LGPL2+ + + + https://www.gnu.org/copyleft/lesser.html + + + [agryson] Alexander Gryson + + + + + + + + + + + + + + + + + + diff --git a/src/Mod/Sketcher/Gui/Resources/icons/geometry/Sketcher_ToggleConstruction.svg b/src/Mod/Sketcher/Gui/Resources/icons/geometry/Sketcher_ToggleConstruction.svg index aa08460757..6c2dc2c407 100644 --- a/src/Mod/Sketcher/Gui/Resources/icons/geometry/Sketcher_ToggleConstruction.svg +++ b/src/Mod/Sketcher/Gui/Resources/icons/geometry/Sketcher_ToggleConstruction.svg @@ -1,130 +1,661 @@ - - - - - - - + + + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - - - - + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + + - + + + + + + + - + - + image/svg+xml - + [wmayer] @@ -153,15 +684,28 @@ - - - - - - - - - - + + + + + + + diff --git a/src/Mod/Sketcher/Gui/Resources/icons/geometry/Sketcher_ToggleConstruction_Constr.svg b/src/Mod/Sketcher/Gui/Resources/icons/geometry/Sketcher_ToggleConstruction_Constr.svg new file mode 100644 index 0000000000..123fbd44d5 --- /dev/null +++ b/src/Mod/Sketcher/Gui/Resources/icons/geometry/Sketcher_ToggleConstruction_Constr.svg @@ -0,0 +1,684 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + [wmayer] + + + 2011-10-10 + https://www.freecad.org/wiki/index.php?title=Artwork + + + FreeCAD + + + FreeCAD/src/Mod/Sketcher/Gui/Resources/icons/Sketcher_ToggleConstruction.svg + + + FreeCAD LGPL2+ + + + https://www.gnu.org/copyleft/lesser.html + + + [agryson] Alexander Gryson +[JoshuaCall] + + + + + + + + + + + + + +