FIX: TabCtrl padding & printer bed help icon
Change-Id: I451e93cb83a4ace4c1cec1ae275430a3971d9793 Jira: none
This commit is contained in:
parent
5e6eacccf1
commit
e5d4915518
|
@ -1553,7 +1553,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");
|
||||
});
|
||||
|
@ -1576,14 +1576,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);
|
||||
|
|
|
@ -37,7 +37,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);
|
||||
|
@ -108,7 +110,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);
|
||||
sizer->Add(btn, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, TAB_BUTTON_SPACE);
|
||||
sizer->AddStretchSpacer(1);
|
||||
relayout();
|
||||
return btns.size() - 1;
|
||||
|
@ -224,7 +226,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) {
|
||||
|
@ -251,7 +252,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…
Reference in New Issue