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);
|
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) {
|
wiki_bed->Bind(wxEVT_BUTTON, [](wxCommandEvent) {
|
||||||
wxLaunchDefaultBrowser("https://wiki.bambulab.com/en/x1/manual/compatibility-and-parameter-settings-of-filaments");
|
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
|
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);
|
wxBoxSizer *bed_type_sizer = new wxBoxSizer(wxVERTICAL);
|
||||||
bed_type_sizer->AddStretchSpacer(1);
|
bed_type_sizer->AddStretchSpacer(1);
|
||||||
wxBoxSizer *bed_type_hsizer = new wxBoxSizer(wxHORIZONTAL);
|
wxBoxSizer *bed_type_hsizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
|
|
@ -37,7 +37,9 @@ TabCtrl::TabCtrl(wxWindow * parent,
|
||||||
SetBorderColor(0xcecece);
|
SetBorderColor(0xcecece);
|
||||||
sizer = new wxBoxSizer(wxHORIZONTAL);
|
sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
sizer->AddSpacer(10);
|
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);
|
Bind(wxEVT_COMMAND_BUTTON_CLICKED, &TabCtrl::buttonClicked, this);
|
||||||
//wxString reason;
|
//wxString reason;
|
||||||
//IsTransparentBackgroundSupported(&reason);
|
//IsTransparentBackgroundSupported(&reason);
|
||||||
|
@ -108,7 +110,7 @@ int TabCtrl::AppendItem(const wxString &item,
|
||||||
btns.push_back(btn);
|
btns.push_back(btn);
|
||||||
if (btns.size() > 1)
|
if (btns.size() > 1)
|
||||||
sizer->GetItem(sizer->GetItemCount() - 1)->SetMinSize({0, 0});
|
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);
|
sizer->AddStretchSpacer(1);
|
||||||
relayout();
|
relayout();
|
||||||
return btns.size() - 1;
|
return btns.size() - 1;
|
||||||
|
@ -224,7 +226,6 @@ void TabCtrl::relayout()
|
||||||
if (item < btns.size())
|
if (item < btns.size())
|
||||||
offset += btns[item]->GetMinSize().x + TAB_BUTTON_SPACE * 2;
|
offset += btns[item]->GetMinSize().x + TAB_BUTTON_SPACE * 2;
|
||||||
int width = GetSize().x;
|
int width = GetSize().x;
|
||||||
auto sizer = GetSizer();
|
|
||||||
for (int i = 0; i < btns.size(); ++i) {
|
for (int i = 0; i < btns.size(); ++i) {
|
||||||
auto size = btns[i]->GetMinSize().x + TAB_BUTTON_SPACE * 2;
|
auto size = btns[i]->GetMinSize().x + TAB_BUTTON_SPACE * 2;
|
||||||
if (i < sel && offset > width) {
|
if (i < sel && offset > width) {
|
||||||
|
@ -251,7 +252,7 @@ void TabCtrl::relayout()
|
||||||
// Keep spacing 2 ~ 10 TAB_BUTTON_SPACE
|
// Keep spacing 2 ~ 10 TAB_BUTTON_SPACE
|
||||||
int b = GetSize().x - offset - 10 - (item + 1 - first) * TAB_BUTTON_SPACE * 8;
|
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->GetItem(item * 2 + 2)->SetMinSize({b > 0 ? b : 0, 0});
|
||||||
sizer->Layout();
|
Layout();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabCtrl::buttonClicked(wxCommandEvent &event)
|
void TabCtrl::buttonClicked(wxCommandEvent &event)
|
||||||
|
|
Loading…
Reference in New Issue