From bd7a468a39db7682a44e089eee6730cd8404365a Mon Sep 17 00:00:00 2001 From: Paddle Date: Thu, 9 Nov 2023 14:07:41 +0100 Subject: [PATCH] Group Trim/extend/split. --- src/Mod/Sketcher/Gui/CommandCreateGeo.cpp | 32 +++++++++++++++++++++++ src/Mod/Sketcher/Gui/Workbench.cpp | 23 +++++++++++++--- 2 files changed, 51 insertions(+), 4 deletions(-) diff --git a/src/Mod/Sketcher/Gui/CommandCreateGeo.cpp b/src/Mod/Sketcher/Gui/CommandCreateGeo.cpp index 0ab7d42762..9f08055073 100644 --- a/src/Mod/Sketcher/Gui/CommandCreateGeo.cpp +++ b/src/Mod/Sketcher/Gui/CommandCreateGeo.cpp @@ -1680,6 +1680,37 @@ bool CmdSketcherSplit::isActive() return isCommandActive(getActiveGuiDocument()); } +// Comp for curve edition tools ======================================================= + +class CmdSketcherCompCurveEdition: public Gui::GroupCommand +{ +public: + CmdSketcherCompCurveEdition() + : GroupCommand("Sketcher_CompCurveEdition") + { + sAppModule = "Sketcher"; + sGroup = "Sketcher"; + sMenuText = QT_TR_NOOP("Curve Edition"); + sToolTipText = QT_TR_NOOP("Curve Edition tools."); + sWhatsThis = "Sketcher_CompCurveEdition"; + sStatusTip = sToolTipText; + eType = ForEdit; + + setCheckable(false); + + addCommand("Sketcher_Trimming"); + addCommand("Sketcher_Split"); + addCommand("Sketcher_Extend"); + } + + const char* className() const override + { + return "CmdSketcherCompCurveEdition"; + } +}; + +// ====================================================================================== + DEF_STD_CMD_A(CmdSketcherExternal) CmdSketcherExternal::CmdSketcherExternal() @@ -2303,6 +2334,7 @@ void CreateSketcherCommandsCreateGeo() rcCmdMgr.addCommand(new CmdSketcherTrimming()); rcCmdMgr.addCommand(new CmdSketcherExtend()); rcCmdMgr.addCommand(new CmdSketcherSplit()); + rcCmdMgr.addCommand(new CmdSketcherCompCurveEdition()); rcCmdMgr.addCommand(new CmdSketcherExternal()); rcCmdMgr.addCommand(new CmdSketcherCarbonCopy()); } diff --git a/src/Mod/Sketcher/Gui/Workbench.cpp b/src/Mod/Sketcher/Gui/Workbench.cpp index 0724a89808..80256ebba0 100644 --- a/src/Mod/Sketcher/Gui/Workbench.cpp +++ b/src/Mod/Sketcher/Gui/Workbench.cpp @@ -384,6 +384,23 @@ inline void SketcherAddWorkspaceFillets(Gui::ToolBarItem& geom geom << "Sketcher_CompCreateFillets"; } +template +void SketcherAddWorkspaceCurveEdition(T& geom); + +template<> +inline void SketcherAddWorkspaceCurveEdition(Gui::MenuItem& geom) +{ + geom << "Sketcher_Trimming" + << "Sketcher_Extend" + << "Sketcher_Split"; +} + +template<> +inline void SketcherAddWorkspaceCurveEdition(Gui::ToolBarItem& geom) +{ + geom << "Sketcher_CompCurveEdition"; +} + template inline void SketcherAddWorkbenchGeometries(T& geom) { @@ -397,10 +414,8 @@ inline void SketcherAddWorkbenchGeometries(T& geom) SketcherAddWorkspaceslots(geom); geom << "Separator"; SketcherAddWorkspaceFillets(geom); - geom << "Sketcher_Trimming" - << "Sketcher_Extend" - << "Sketcher_Split" - << "Sketcher_External" + SketcherAddWorkspaceCurveEdition(geom); + geom << "Sketcher_External" << "Sketcher_CarbonCopy" << "Sketcher_ToggleConstruction" /*<< "Sketcher_CreateText"*/