mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2026-01-03 13:30:37 -07:00
FIX: TabCtrl padding & printer bed help icon
Change-Id: I451e93cb83a4ace4c1cec1ae275430a3971d9793 Jira: none (cherry picked from commit e5d4915518574280ad7a3f0bddd56c6c59f7f3aa)
This commit is contained in:
parent
e691ddca38
commit
d8becfc9da
2 changed files with 6 additions and 13 deletions
|
|
@ -1512,7 +1512,7 @@ Sidebar::Sidebar(Plater *parent)
|
|||
p->combo_printer_bed->wxEvtHandler::ProcessEvent(evt);
|
||||
});
|
||||
|
||||
ScalableButton *wiki_bed = new ScalableButton(p->panel_printer_bed, wxID_ANY, "dot");
|
||||
ScalableButton *wiki_bed = new ScalableButton(p->panel_printer_bed, wxID_ANY, "help");
|
||||
wiki_bed->Bind(wxEVT_BUTTON, [](wxCommandEvent) {
|
||||
wxLaunchDefaultBrowser("https://wiki.bambulab.com/en/x1/manual/compatibility-and-parameter-settings-of-filaments");
|
||||
});
|
||||
|
|
@ -1535,14 +1535,6 @@ Sidebar::Sidebar(Plater *parent)
|
|||
e.Skip(); // fix bug:Event spreads to sidebar
|
||||
});
|
||||
|
||||
{
|
||||
auto hovered = std::make_shared<wxWindow *>();
|
||||
for (wxWindow *w : std::initializer_list<wxWindow *>{p->panel_printer_bed, wiki_bed, p->image_printer_bed, p->combo_printer_bed}) {
|
||||
w->Bind(wxEVT_ENTER_WINDOW, [w, hovered, wiki_bed](wxMouseEvent &evt) { *hovered = w; wiki_bed->SetBitmap_("help"); });
|
||||
w->Bind(wxEVT_LEAVE_WINDOW, [w, hovered, wiki_bed](wxMouseEvent &evt) { if (*hovered == w) { wiki_bed->SetBitmap_("dot"); *hovered = nullptr; } });
|
||||
}
|
||||
}
|
||||
|
||||
wxBoxSizer *bed_type_sizer = new wxBoxSizer(wxVERTICAL);
|
||||
bed_type_sizer->AddStretchSpacer(1);
|
||||
wxBoxSizer *bed_type_hsizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
|
|
|
|||
|
|
@ -38,7 +38,9 @@ TabCtrl::TabCtrl(wxWindow * parent,
|
|||
SetBorderColor(0xcecece);
|
||||
sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
sizer->AddSpacer(10);
|
||||
SetSizer(sizer);
|
||||
auto hsizer = new wxBoxSizer(wxVERTICAL);
|
||||
hsizer->Add(sizer, 0, wxEXPAND | wxBOTTOM, border_width * 4);
|
||||
SetSizer(hsizer);
|
||||
Bind(wxEVT_COMMAND_BUTTON_CLICKED, &TabCtrl::buttonClicked, this);
|
||||
//wxString reason;
|
||||
//IsTransparentBackgroundSupported(&reason);
|
||||
|
|
@ -109,7 +111,7 @@ int TabCtrl::AppendItem(const wxString &item,
|
|||
btns.push_back(btn);
|
||||
if (btns.size() > 1)
|
||||
sizer->GetItem(sizer->GetItemCount() - 1)->SetMinSize({0, 0});
|
||||
sizer->Add(btn, 0, wxALIGN_CENTER_VERTICAL | wxALL, TAB_BUTTON_SPACE * 2);
|
||||
sizer->Add(btn, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, TAB_BUTTON_SPACE * 2);
|
||||
sizer->AddStretchSpacer(1);
|
||||
relayout();
|
||||
return btns.size() - 1;
|
||||
|
|
@ -248,7 +250,6 @@ void TabCtrl::relayout()
|
|||
if (item < btns.size())
|
||||
offset += btns[item]->GetMinSize().x + TAB_BUTTON_SPACE * 2;
|
||||
int width = GetSize().x;
|
||||
auto sizer = GetSizer();
|
||||
for (int i = 0; i < btns.size(); ++i) {
|
||||
auto size = btns[i]->GetMinSize().x + TAB_BUTTON_SPACE * 2;
|
||||
if (i < sel && offset > width) {
|
||||
|
|
@ -275,7 +276,7 @@ void TabCtrl::relayout()
|
|||
// Keep spacing 2 ~ 10 TAB_BUTTON_SPACE
|
||||
int b = GetSize().x - offset - 10 - (item + 1 - first) * TAB_BUTTON_SPACE * 8;
|
||||
sizer->GetItem(item * 2 + 2)->SetMinSize({b > 0 ? b : 0, 0});
|
||||
sizer->Layout();
|
||||
Layout();
|
||||
}
|
||||
|
||||
void TabCtrl::buttonClicked(wxCommandEvent &event)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue