Design tab: value-label titles + 5 sketch/UX fixes

Six fixes to the Design tab, all live-verified on :10:
- Datum-plane re-pick: wxEVT_CHOICE on m_draw_plane re-planes the live sketch
- Delete-feature dismisses its lingering settings card (on_delete_feature)
- Revert rotation-orbit regression (no feed_bodies/reload on close_tool)
- Sketch undo/delete via focus-independent CHAR_HOOK (Ctrl+Z/Y, Delete)
- Fix undo hang: reset_autoedit() clears dangling auto-edit sequence
- Titled value fields: each inline dim field shows its role (Width, Height,
  Radius, Angle, Length, Side, Distance, Major, Minor)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BVzKmX6Y1aEteit1HTXG4Q
This commit is contained in:
Tommaso Bianchi
2026-07-01 19:19:23 +02:00
co-authored by Claude Opus 4.8
parent 5a005d4728
commit de16d566b2
7 changed files with 181 additions and 52 deletions
+4 -1
View File
@@ -2,10 +2,12 @@
#define slic3r_SketchInlineEditor_hpp_
#include <functional>
#include <string>
class wxWindow;
class wxFrame;
class wxTextCtrl;
class wxStaticText;
class wxPoint;
namespace Slic3r {
@@ -24,7 +26,7 @@ public:
// Show the editor centred on `screen_px` (absolute screen coords), pre-filled with
// `value`. on_commit(parsed) fires on Enter with a valid number; on_cancel() on Esc.
void open(const wxPoint& screen_px, double value,
void open(const wxPoint& screen_px, double value, const std::string& title,
std::function<void(double)> on_commit,
std::function<void()> on_cancel);
void close();
@@ -37,6 +39,7 @@ private:
wxFrame* m_frame{nullptr};
wxTextCtrl* m_ctrl{nullptr};
wxStaticText* m_title{nullptr};
std::function<void(double)> m_commit;
std::function<void()> m_cancel;
bool m_open{false};