From 49fbffa200ee5cbfa262190acdca1d2985c8a6ed Mon Sep 17 00:00:00 2001 From: Kacper Donat Date: Sat, 28 Jun 2025 19:59:29 +0200 Subject: [PATCH] Sketcher: Use generic tool hints table for DrawSketchHandlerPolygon --- .../Sketcher/Gui/DrawSketchHandlerPolygon.h | 59 ++++++------------- 1 file changed, 19 insertions(+), 40 deletions(-) diff --git a/src/Mod/Sketcher/Gui/DrawSketchHandlerPolygon.h b/src/Mod/Sketcher/Gui/DrawSketchHandlerPolygon.h index b58a1fb7b6..7069df34b2 100644 --- a/src/Mod/Sketcher/Gui/DrawSketchHandlerPolygon.h +++ b/src/Mod/Sketcher/Gui/DrawSketchHandlerPolygon.h @@ -265,20 +265,26 @@ private: std::list getToolHints() const override { - return lookupPolygonHints(state()); + using enum Gui::InputHint::UserInput; + + return Gui::lookupHints( + state(), + { + {.state = SelectMode::SeekFirst, + .hints = + { + {QObject::tr("%1 pick polygon center"), {MouseLeft}}, + {QObject::tr("%1/%2 increase / decrease number of sides"), {KeyU, KeyJ}}, + }}, + {.state = SelectMode::SeekSecond, + .hints = + { + {QObject::tr("%1 pick rotation and size"), {MouseMove}}, + {QObject::tr("%1 confirm"), {MouseLeft}}, + {QObject::tr("%1/%2 increase / decrease number of sides"), {KeyU, KeyJ}}, + }}, + }); } - -private: - struct HintEntry - { - SelectMode state; - std::list hints; - }; - - using HintTable = std::vector; - - static HintTable getPolygonHintTable(); - static std::list lookupPolygonHints(SelectMode state); }; template<> @@ -558,33 +564,6 @@ void DSHPolygonController::addConstraints() } } -DrawSketchHandlerPolygon::HintTable DrawSketchHandlerPolygon::getPolygonHintTable() -{ - return {// Structure: {SelectMode, {hints...}} - {SelectMode::SeekFirst, - {{QObject::tr("%1 pick polygon center"), {Gui::InputHint::UserInput::MouseLeft}}, - {QObject::tr("%1/%2 increase / decrease number of sides"), - {Gui::InputHint::UserInput::KeyU, Gui::InputHint::UserInput::KeyJ}}}}, - {SelectMode::SeekSecond, - {{QObject::tr("%1 pick rotation and size"), {Gui::InputHint::UserInput::MouseMove}}, - {QObject::tr("%1 confirm"), {Gui::InputHint::UserInput::MouseLeft}}, - {QObject::tr("%1/%2 increase / decrease number of sides"), - {Gui::InputHint::UserInput::KeyU, Gui::InputHint::UserInput::KeyJ}}}}}; -} - -std::list DrawSketchHandlerPolygon::lookupPolygonHints(SelectMode state) -{ - const auto polygonHintTable = getPolygonHintTable(); - - auto it = std::find_if(polygonHintTable.begin(), - polygonHintTable.end(), - [state](const HintEntry& entry) { - return entry.state == state; - }); - - return (it != polygonHintTable.end()) ? it->hints : std::list {}; -} - } // namespace SketcherGui