From ea1e6595b5ba49d55924a8ad6a1bea02afa2a16e Mon Sep 17 00:00:00 2001 From: 0penBrain <48731257+0penBrain@users.noreply.github.com> Date: Fri, 11 Jun 2021 15:00:38 +0200 Subject: [PATCH] [Sketcher] Radiam : make the command basically usable into Gui --- src/Mod/Sketcher/Gui/CommandConstraints.cpp | 13 +++++++++++++ src/Mod/Sketcher/Gui/TaskSketcherElements.cpp | 2 ++ src/Mod/Sketcher/Gui/TaskSketcherElements.h | 1 + src/Mod/Sketcher/Gui/Workbench.cpp | 1 + 4 files changed, 17 insertions(+) diff --git a/src/Mod/Sketcher/Gui/CommandConstraints.cpp b/src/Mod/Sketcher/Gui/CommandConstraints.cpp index 4418922c5e..213915b918 100644 --- a/src/Mod/Sketcher/Gui/CommandConstraints.cpp +++ b/src/Mod/Sketcher/Gui/CommandConstraints.cpp @@ -5880,6 +5880,9 @@ void CmdSketcherCompConstrainRadDia::activated(int iMsg) else if (iMsg==1) { rcCmdMgr.runCommandByName("Sketcher_ConstrainDiameter"); } + else if (iMsg==2) { + rcCmdMgr.runCommandByName("Sketcher_ConstrainRadiam"); + } else return; @@ -5902,6 +5905,8 @@ Gui::Action * CmdSketcherCompConstrainRadDia::createAction(void) arc1->setIcon(Gui::BitmapFactory().iconFromTheme("Constraint_Radius")); QAction* arc2 = pcAction->addAction(QString()); arc2->setIcon(Gui::BitmapFactory().iconFromTheme("Constraint_Diameter")); + QAction* arc3 = pcAction->addAction(QString()); + arc3->setIcon(Gui::BitmapFactory().iconFromTheme("Constraint_Radiam")); _pcAction = pcAction; languageChange(); @@ -5936,11 +5941,13 @@ void CmdSketcherCompConstrainRadDia::updateAction(int mode) case Reference: a[0]->setIcon(Gui::BitmapFactory().iconFromTheme("Constraint_Radius_Driven")); a[1]->setIcon(Gui::BitmapFactory().iconFromTheme("Constraint_Diameter_Driven")); + a[2]->setIcon(Gui::BitmapFactory().iconFromTheme("Constraint_Radiam_Driven")); getAction()->setIcon(a[index]->icon()); break; case Driving: a[0]->setIcon(Gui::BitmapFactory().iconFromTheme("Constraint_Radius")); a[1]->setIcon(Gui::BitmapFactory().iconFromTheme("Constraint_Diameter")); + a[2]->setIcon(Gui::BitmapFactory().iconFromTheme("Constraint_Radiam")); getAction()->setIcon(a[index]->icon()); break; } @@ -5963,6 +5970,10 @@ void CmdSketcherCompConstrainRadDia::languageChange() arc2->setText(QApplication::translate("CmdSketcherCompConstrainRadDia", "Constrain diameter")); arc2->setToolTip(QApplication::translate("Sketcher_ConstrainDiameter", "Fix the diameter of a circle or an arc")); arc2->setStatusTip(QApplication::translate("Sketcher_ConstrainDiameter", "Fix the diameter of a circle or an arc")); + QAction* arc3 = a[2]; + arc3->setText(QApplication::translate("CmdSketcherCompConstrainRadDia", "Constrain auto radius/diameter")); + arc3->setToolTip(QApplication::translate("Sketcher_ConstraintRadiam", "Fix the radius/diameter of a circle or an arc")); + arc3->setStatusTip(QApplication::translate("Sketcher_ConstrainRadiam", "Fix the radius/diameter of a circle or an arc")); } bool CmdSketcherCompConstrainRadDia::isActive(void) @@ -7677,6 +7688,7 @@ CmdSketcherToggleDrivingConstraint::CmdSketcherToggleDrivingConstraint() rcCmdMgr.addCommandMode("ToggleDrivingConstraint", "Sketcher_ConstrainDistanceY"); rcCmdMgr.addCommandMode("ToggleDrivingConstraint", "Sketcher_ConstrainRadius"); rcCmdMgr.addCommandMode("ToggleDrivingConstraint", "Sketcher_ConstrainDiameter"); + rcCmdMgr.addCommandMode("ToggleDrivingConstraint", "Sketcher_ConstrainRadiam"); rcCmdMgr.addCommandMode("ToggleDrivingConstraint", "Sketcher_ConstrainAngle"); rcCmdMgr.addCommandMode("ToggleDrivingConstraint", "Sketcher_CompConstrainRadDia"); //rcCmdMgr.addCommandMode("ToggleDrivingConstraint", "Sketcher_ConstrainSnellsLaw"); @@ -7880,6 +7892,7 @@ void CreateSketcherCommandsConstraints(void) rcCmdMgr.addCommand(new CmdSketcherConstrainDistanceY()); rcCmdMgr.addCommand(new CmdSketcherConstrainRadius()); rcCmdMgr.addCommand(new CmdSketcherConstrainDiameter()); + rcCmdMgr.addCommand(new CmdSketcherConstrainRadiam()); rcCmdMgr.addCommand(new CmdSketcherCompConstrainRadDia()); rcCmdMgr.addCommand(new CmdSketcherConstrainAngle()); rcCmdMgr.addCommand(new CmdSketcherConstrainEqual()); diff --git a/src/Mod/Sketcher/Gui/TaskSketcherElements.cpp b/src/Mod/Sketcher/Gui/TaskSketcherElements.cpp index 4b6082bff3..4bd186264a 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherElements.cpp +++ b/src/Mod/Sketcher/Gui/TaskSketcherElements.cpp @@ -164,6 +164,7 @@ void ElementView::contextMenuEvent (QContextMenuEvent* event) CONTEXT_ITEM("Constraint_Length","Length Constraint","Sketcher_ConstrainDistance",doLengthConstraint,true) CONTEXT_ITEM("Constraint_Radius","Radius Constraint","Sketcher_ConstrainRadius",doRadiusConstraint,true) CONTEXT_ITEM("Constraint_Diameter","Diameter Constraint","Sketcher_ConstrainDiameter",doDiameterConstraint,true) + CONTEXT_ITEM("Constraint_Radiam","Radiam Constraint","Sketcher_ConstrainRadiam",doRadiamConstraint,true) CONTEXT_ITEM("Constraint_InternalAngle","Angle Constraint","Sketcher_ConstrainAngle",doAngleConstraint,true) menu.addSeparator(); @@ -207,6 +208,7 @@ CONTEXT_MEMBER_DEF("Sketcher_ConstrainDistanceY",doVerticalDistance) CONTEXT_MEMBER_DEF("Sketcher_ConstrainDistance",doLengthConstraint) CONTEXT_MEMBER_DEF("Sketcher_ConstrainRadius",doRadiusConstraint) CONTEXT_MEMBER_DEF("Sketcher_ConstrainDiameter",doDiameterConstraint) +CONTEXT_MEMBER_DEF("Sketcher_ConstrainRadiam",doRadiamConstraint) CONTEXT_MEMBER_DEF("Sketcher_ConstrainAngle",doAngleConstraint) CONTEXT_MEMBER_DEF("Sketcher_ToggleConstruction",doToggleConstruction) diff --git a/src/Mod/Sketcher/Gui/TaskSketcherElements.h b/src/Mod/Sketcher/Gui/TaskSketcherElements.h index 0eff5aa1e3..f6c35ad31d 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherElements.h +++ b/src/Mod/Sketcher/Gui/TaskSketcherElements.h @@ -75,6 +75,7 @@ protected Q_SLOTS: void doLengthConstraint(); void doRadiusConstraint(); void doDiameterConstraint(); + void doRadiamConstraint(); void doAngleConstraint(); // Other Commands diff --git a/src/Mod/Sketcher/Gui/Workbench.cpp b/src/Mod/Sketcher/Gui/Workbench.cpp index c85a405f0e..b7b6dd6b96 100644 --- a/src/Mod/Sketcher/Gui/Workbench.cpp +++ b/src/Mod/Sketcher/Gui/Workbench.cpp @@ -299,6 +299,7 @@ inline void SketcherAddWorkbenchConstraints(Gui::MenuItem& cons) << "Sketcher_ConstrainDistance" << "Sketcher_ConstrainRadius" << "Sketcher_ConstrainDiameter" + << "Sketcher_ConstrainRadiam" << "Sketcher_ConstrainAngle" << "Sketcher_ConstrainSnellsLaw" << "Sketcher_ConstrainInternalAlignment"