mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-27 19:01:02 +00:00
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:
co-authored by
Claude Opus 5
parent
3c998b8a62
commit
0c2b643b0b
@@ -37,8 +37,8 @@
|
|||||||
"id": "dressup",
|
"id": "dressup",
|
||||||
"pos": "SE",
|
"pos": "SE",
|
||||||
"angle": 45,
|
"angle": 45,
|
||||||
"label": "Dress-up",
|
"label": "Fillet / chamfer",
|
||||||
"why": "finishes faces and edges without changing the shape's intent"
|
"why": "finishes faces and edges without changing the shape's intent; named for what it does, not for the trade word"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "repeat",
|
"id": "repeat",
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ static const char* const kOfferRowNames[] = {
|
|||||||
"Create",
|
"Create",
|
||||||
"Add material",
|
"Add material",
|
||||||
"Remove",
|
"Remove",
|
||||||
"Dress-up",
|
"Fillet / chamfer",
|
||||||
"Repeat",
|
"Repeat",
|
||||||
"Transform",
|
"Transform",
|
||||||
"Reference",
|
"Reference",
|
||||||
|
|||||||
@@ -902,7 +902,7 @@ DesignPanel::DesignPanel(wxWindow* parent)
|
|||||||
|
|
||||||
// Dress-up: finishing operations on the faces and edges of an existing solid — nothing
|
// 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.
|
// 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"),
|
{"design_dressup", _L("Fillet / Chamfer"), _L("Round or bevel a picked edge"),
|
||||||
[this] { open_tool(Tool::Dressup); }, SHIFT('F')},
|
[this] { open_tool(Tool::Dressup); }, SHIFT('F')},
|
||||||
{"design_draft", _L("Draft (taper a face)"), _L("Tilt a picked face by a draft angle"),
|
{"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
|
// SHIFT() is a constructor-local helper, so resolve the codes here rather than inside
|
||||||
// the stored lambdas, which outlive it.
|
// the stored lambdas, which outlive it.
|
||||||
const int k_dress = SHIFT('F'), k_bool = SHIFT('B'), k_pat = SHIFT('N');
|
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] {
|
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] {
|
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)
|
for (int op = 0; op < 3; ++op)
|
||||||
m_verb_actions["btn:bool#" + std::to_string(op)] = [this, open_feature, k_bool, op] {
|
m_verb_actions["btn:bool#" + std::to_string(op)] = [this, open_feature, k_bool, op] {
|
||||||
open_feature(k_bool);
|
open_feature(k_bool);
|
||||||
@@ -1598,7 +1601,7 @@ DesignPanel::DesignPanel(wxWindow* parent)
|
|||||||
m_dressup_type->Append(_L("Fillet"));
|
m_dressup_type->Append(_L("Fillet"));
|
||||||
m_dressup_type->Append(_L("Chamfer"));
|
m_dressup_type->Append(_L("Chamfer"));
|
||||||
m_dressup_type->SetSelection(0);
|
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);
|
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
|
// The card can dress ONE picked edge or a whole face-group, and which one it will do is
|
||||||
|
|||||||
Reference in New Issue
Block a user