Design: the card says which tool it is, and "Dress-up" stops being a word we use

Mirror of snaporca 3677937964 (DesignPanel.cpp applied as a patch; parity 30, shared
files byte-identical).

The card header read "Fillet 1" over a chamfer because the offer's Chamfer address opened
the tool before setting the type, and open_tool() titles the card from that combo. Choose
first, then open.

"Dress-up" removed from the offer row (-> "Fillet / chamfer"), the card field (-> "Type",
it was a label reading Dress-up whose value said Chamfer) and the toolbar tooltip.

Verified on the rig: header "Chamfer 1", field "Type: Chamfer", row "Fillet / chamfer".

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LyRwbuq6fjn3VV9U9UvhBM
This commit is contained in:
Tommaso Bianchi
2026-08-01 09:00:23 +02:00
co-authored by Claude Opus 5
parent 3c998b8a62
commit 0c2b643b0b
3 changed files with 10 additions and 7 deletions
+2 -2
View File
@@ -37,8 +37,8 @@
"id": "dressup",
"pos": "SE",
"angle": 45,
"label": "Dress-up",
"why": "finishes faces and edges without changing the shape's intent"
"label": "Fillet / chamfer",
"why": "finishes faces and edges without changing the shape's intent; named for what it does, not for the trade word"
},
{
"id": "repeat",
+1 -1
View File
@@ -70,7 +70,7 @@ static const char* const kOfferRowNames[] = {
"Create",
"Add material",
"Remove",
"Dress-up",
"Fillet / chamfer",
"Repeat",
"Transform",
"Reference",
+7 -4
View File
@@ -902,7 +902,7 @@ DesignPanel::DesignPanel(wxWindow* parent)
// Dress-up: finishing operations on the faces and edges of an existing solid — nothing
// that moves a body (see the Placement drawer) and nothing that creates geometry.
feat_dropdown("dressup", "design_dressup", _L("Dress-up (fillet / chamfer / draft / shell / delete face)"), {
feat_dropdown("dressup", "design_dressup", _L("Fillet / chamfer / draft / shell / delete face"), {
{"design_dressup", _L("Fillet / Chamfer"), _L("Round or bevel a picked edge"),
[this] { open_tool(Tool::Dressup); }, SHIFT('F')},
{"design_draft", _L("Draft (taper a face)"), _L("Tilt a picked face by a draft angle"),
@@ -1228,10 +1228,13 @@ DesignPanel::DesignPanel(wxWindow* parent)
// SHIFT() is a constructor-local helper, so resolve the codes here rather than inside
// the stored lambdas, which outlive it.
const int k_dress = SHIFT('F'), k_bool = SHIFT('B'), k_pat = SHIFT('N');
// Choose FIRST, then open: open_tool() titles the card from m_dressup_type, so setting
// it afterwards left the header reading "Fillet 1" over a chamfer. Nothing in the
// opener resets the combo, so this order is safe.
m_verb_actions["btn:dress#0"] = [this, open_feature, k_dress] {
open_feature(k_dress); if (m_dressup_type) m_dressup_type->SetSelection(0); };
if (m_dressup_type) m_dressup_type->SetSelection(0); open_feature(k_dress); };
m_verb_actions["btn:dress#1"] = [this, open_feature, k_dress] {
open_feature(k_dress); if (m_dressup_type) m_dressup_type->SetSelection(1); };
if (m_dressup_type) m_dressup_type->SetSelection(1); open_feature(k_dress); };
for (int op = 0; op < 3; ++op)
m_verb_actions["btn:bool#" + std::to_string(op)] = [this, open_feature, k_bool, op] {
open_feature(k_bool);
@@ -1598,7 +1601,7 @@ DesignPanel::DesignPanel(wxWindow* parent)
m_dressup_type->Append(_L("Fillet"));
m_dressup_type->Append(_L("Chamfer"));
m_dressup_type->SetSelection(0);
dform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Dress-up")), 0, wxALIGN_CENTER_VERTICAL);
dform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Type")), 0, wxALIGN_CENTER_VERTICAL);
dform->Add(m_dressup_type, 0, wxEXPAND);
// The card can dress ONE picked edge or a whole face-group, and which one it will do is