From f2bc69647fc761c37dc4eccaf89f5f225cd80878 Mon Sep 17 00:00:00 2001 From: Paddle Date: Thu, 27 Oct 2022 08:57:45 +0200 Subject: [PATCH] Sketcher: Split sketcher toolbar in sketcher-edit-mode and sketcher-non-edit-mode. --- src/Mod/Sketcher/Gui/Workbench.cpp | 55 +++++++++++++++++++++--------- src/Mod/Sketcher/Gui/Workbench.h | 2 ++ 2 files changed, 41 insertions(+), 16 deletions(-) diff --git a/src/Mod/Sketcher/Gui/Workbench.cpp b/src/Mod/Sketcher/Gui/Workbench.cpp index 32a5594086..1030b0f9ba 100644 --- a/src/Mod/Sketcher/Gui/Workbench.cpp +++ b/src/Mod/Sketcher/Gui/Workbench.cpp @@ -96,6 +96,7 @@ Gui::MenuItem* Workbench::setupMenuBar() const root->insertItem(item, sketch); sketch->setCommand("S&ketch"); addSketcherWorkbenchSketchActions(*sketch); + addSketcherWorkbenchSketchEditModeActions(*sketch); *sketch << geom << cons << consaccel @@ -113,6 +114,10 @@ Gui::ToolBarItem* Workbench::setupToolBars() const sketcher->setCommand("Sketcher"); addSketcherWorkbenchSketchActions(*sketcher); + Gui::ToolBarItem* sketcherEditMode = new Gui::ToolBarItem(root); + sketcherEditMode->setCommand("Sketcher"); + addSketcherWorkbenchSketchEditModeActions(*sketcherEditMode); + Gui::ToolBarItem* geom = new Gui::ToolBarItem(root); geom->setCommand("Sketcher geometries"); addSketcherWorkbenchGeometries(*geom); @@ -147,40 +152,48 @@ Gui::ToolBarItem* Workbench::setupCommandBars() const namespace SketcherGui { template -inline void SketcherAddWorkspaceSketchExtra(T& /*sketch*/) { } +void SketcherAddWorkbenchSketchActions(T& sketch); template <> -inline void SketcherAddWorkspaceSketchExtra(Gui::MenuItem& sketch) +inline void SketcherAddWorkbenchSketchActions(Gui::MenuItem& sketch) { - sketch << "Sketcher_ReorientSketch" + sketch << "Sketcher_NewSketch" + << "Sketcher_EditSketch" + << "Sketcher_MapSketch" + << "Sketcher_ReorientSketch" << "Sketcher_ValidateSketch" << "Sketcher_MergeSketches" - << "Sketcher_MirrorSketch" - << "Sketcher_StopOperation"; + << "Sketcher_MirrorSketch"; } - template <> -inline void SketcherAddWorkspaceSketchExtra(Gui::ToolBarItem& sketch) +inline void SketcherAddWorkbenchSketchActions(Gui::ToolBarItem& sketch) { - sketch << "Sketcher_ReorientSketch" + sketch << "Sketcher_NewSketch" + << "Sketcher_EditSketch" + << "Sketcher_MapSketch" + << "Sketcher_ReorientSketch" << "Sketcher_ValidateSketch" << "Sketcher_MergeSketches" << "Sketcher_MirrorSketch"; } template -void SketcherAddWorkbenchSketchActions(T& sketch); +void SketcherAddWorkbenchSketchEditModeActions(T& sketch); -template -inline void SketcherAddWorkbenchSketchActions(T& sketch) +template <> +inline void SketcherAddWorkbenchSketchEditModeActions(Gui::MenuItem& sketch) { - sketch << "Sketcher_NewSketch" - << "Sketcher_EditSketch" - << "Sketcher_LeaveSketch" + sketch << "Sketcher_LeaveSketch" << "Sketcher_ViewSketch" << "Sketcher_ViewSection" - << "Sketcher_MapSketch"; - SketcherAddWorkspaceSketchExtra(sketch); + << "Sketcher_StopOperation"; +} +template <> +inline void SketcherAddWorkbenchSketchEditModeActions(Gui::ToolBarItem& sketch) +{ + sketch << "Sketcher_LeaveSketch" + << "Sketcher_ViewSketch" + << "Sketcher_ViewSection"; } template @@ -444,6 +457,11 @@ void addSketcherWorkbenchSketchActions(Gui::MenuItem& sketch) SketcherAddWorkbenchSketchActions(sketch); } +void addSketcherWorkbenchSketchEditModeActions(Gui::MenuItem& sketch) +{ + SketcherAddWorkbenchSketchEditModeActions(sketch); +} + void addSketcherWorkbenchGeometries(Gui::MenuItem& geom) { SketcherAddWorkbenchGeometries(geom); @@ -474,6 +492,11 @@ void addSketcherWorkbenchSketchActions(Gui::ToolBarItem& sketch) SketcherAddWorkbenchSketchActions(sketch); } +void addSketcherWorkbenchSketchEditModeActions(Gui::ToolBarItem& sketch) +{ + SketcherAddWorkbenchSketchEditModeActions(sketch); +} + void addSketcherWorkbenchGeometries(Gui::ToolBarItem& geom) { SketcherAddWorkbenchGeometries(geom); diff --git a/src/Mod/Sketcher/Gui/Workbench.h b/src/Mod/Sketcher/Gui/Workbench.h index a8f9fd00be..fe40254f24 100644 --- a/src/Mod/Sketcher/Gui/Workbench.h +++ b/src/Mod/Sketcher/Gui/Workbench.h @@ -49,6 +49,7 @@ protected: }; SketcherGuiExport void addSketcherWorkbenchSketchActions(Gui::MenuItem& sketch); +SketcherGuiExport void addSketcherWorkbenchSketchEditModeActions(Gui::MenuItem& sketch); SketcherGuiExport void addSketcherWorkbenchGeometries(Gui::MenuItem& geom); SketcherGuiExport void addSketcherWorkbenchConstraints(Gui::MenuItem& cons); SketcherGuiExport void addSketcherWorkbenchTools(Gui::MenuItem& consaccel); @@ -56,6 +57,7 @@ SketcherGuiExport void addSketcherWorkbenchBSplines(Gui::MenuItem& bspline); SketcherGuiExport void addSketcherWorkbenchVirtualSpace(Gui::MenuItem& virtualspace); SketcherGuiExport void addSketcherWorkbenchSketchActions(Gui::ToolBarItem& sketch); +SketcherGuiExport void addSketcherWorkbenchSketchEditModeActions(Gui::ToolBarItem& sketch); SketcherGuiExport void addSketcherWorkbenchGeometries(Gui::ToolBarItem& geom); SketcherGuiExport void addSketcherWorkbenchConstraints(Gui::ToolBarItem& cons); SketcherGuiExport void addSketcherWorkbenchTools(Gui::ToolBarItem& consaccel);