Unify Tooltip Button across all tools #427

Closed
opened 2026-04-05 16:20:50 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @Xipit on 3/6/2026

Description

The goal of this PR is to create the base for a consistent UI structure for tools (Move, Painting, Measure, ...).

Features:

  • Shared Code for Tooltip Button
    • 9 slightly different implementations before
  • One common data structure for shortcuts
    • 3 different data structure before
  • adds Separator above Tooltip Button for Move, Rotate & Scale to match other tools
  • fixes Tooltip for Assembly Tool
  • moves Tooltip Caption in Assembly view above the UI frame to match behavior in the other tools
  • change "Left/Right Click" in Brim Ears Shortcut to "Left/Right mouse button" to match other tools

I know that by looking at the "Files changed" it might seem like a complicated PR, but i think that's misleading.
It is essentially the same formula applied to all the tools:

  1. Remove own show_tooltip_information() and replace with GLGizmoUtils::TooltipButton().
  2. Change data structure from (mostly) m_desc["shortcut"] and m_desc["shortcut_caption"] to {"shortcut", "shortcut_caption"}.

Screenshots/Recordings/Graphs

Move Tool

Previous:
image

Now:
image

Rotate Tool

Previous:
image

Now:
image

ScaleTool

Previous:
image

Now:
image

Assembly Tool

Previous:
image

Now:
image

Assembly View

Previous:
image

Now:
image

*Originally created by @Xipit on 3/6/2026* # Description The goal of this PR is to create the base for a consistent UI structure for tools (Move, Painting, Measure, ...). Features: - Shared Code for Tooltip Button - 9 slightly different implementations before - One common data structure for shortcuts - 3 different data structure before - adds Separator above Tooltip Button for Move, Rotate & Scale to match other tools - fixes Tooltip for Assembly Tool - moves Tooltip Caption in Assembly view above the UI frame to match behavior in the other tools - change "Left/Right Click" in Brim Ears Shortcut to "Left/Right mouse button" to match other tools I know that by looking at the "Files changed" it might seem like a complicated PR, but i think that's misleading. It is essentially the same formula applied to all the tools: 1. Remove own `show_tooltip_information()` and replace with `GLGizmoUtils::TooltipButton()`. 2. Change data structure from (mostly) `m_desc["shortcut"] and m_desc["shortcut_caption"]` to `{"shortcut", "shortcut_caption"}`. # Screenshots/Recordings/Graphs ## Move Tool Previous: <img width="454" height="203" alt="image" src="https://github.com/user-attachments/assets/82178a8a-2239-47ee-bfcb-b5974c39229c" /> Now: <img width="453" height="208" alt="image" src="https://github.com/user-attachments/assets/de3454c7-b4c9-4d56-97be-3c2fc0c2995e" /> ## Rotate Tool Previous: <img width="430" height="239" alt="image" src="https://github.com/user-attachments/assets/91bde193-ce3c-42f1-832e-0d5fbea0b060" /> Now: <img width="445" height="233" alt="image" src="https://github.com/user-attachments/assets/6261ccec-57e1-4206-8ca9-824fcf34dd5e" /> ## ScaleTool Previous: <img width="477" height="250" alt="image" src="https://github.com/user-attachments/assets/2bf07453-2fe4-47e0-a3eb-9e5ce99c3980" /> Now: <img width="475" height="259" alt="image" src="https://github.com/user-attachments/assets/bc459506-bba8-400f-be09-c7d56cd980db" /> ## Assembly Tool Previous: <img width="380" height="426" alt="image" src="https://github.com/user-attachments/assets/8215415a-a1b8-44e6-aa11-b1e981850f1e" /> Now: <img width="357" height="425" alt="image" src="https://github.com/user-attachments/assets/a58c6ff0-ac1c-4d05-bdb8-6422ad74be3e" /> ## Assembly View Previous: <img width="785" height="168" alt="image" src="https://github.com/user-attachments/assets/fc663124-87b6-4983-b17c-7d73d8bf2f5d" /> Now: <img width="753" height="171" alt="image" src="https://github.com/user-attachments/assets/f86b0d98-b461-470d-bae9-056a8cb2097a" />
MrUnknownDE added the UI/UXUI/UXUI/UXUI/UXUI/UXUI/UX labels 2026-04-05 16:20:50 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/OrcaSlicer#427