mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-19 11:23:42 +00:00
init
This commit is contained in:
@@ -475,7 +475,9 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_
|
|||||||
update_edge_panels();
|
update_edge_panels();
|
||||||
#endif
|
#endif
|
||||||
wxQueueEvent(wxGetApp().plater(), new SimpleEvent(EVT_NOTICE_CHILDE_SIZE_CHANGED));
|
wxQueueEvent(wxGetApp().plater(), new SimpleEvent(EVT_NOTICE_CHILDE_SIZE_CHANGED));
|
||||||
});
|
|
||||||
|
fit_tab_labels(); // ORCA on resize
|
||||||
|
});
|
||||||
|
|
||||||
//BBS
|
//BBS
|
||||||
Bind(EVT_SELECT_TAB, [this](wxCommandEvent&evt) {
|
Bind(EVT_SELECT_TAB, [this](wxCommandEvent&evt) {
|
||||||
@@ -1345,8 +1347,10 @@ void MainFrame::init_tabpanel() {
|
|||||||
void MainFrame::show_device(bool bBBLPrinter) {
|
void MainFrame::show_device(bool bBBLPrinter) {
|
||||||
auto idx = -1;
|
auto idx = -1;
|
||||||
if (bBBLPrinter) {
|
if (bBBLPrinter) {
|
||||||
if (m_tabpanel->FindPage(m_monitor) != wxNOT_FOUND)
|
if (m_tabpanel->FindPage(m_monitor) != wxNOT_FOUND) {
|
||||||
|
fit_tab_labels(); // ORCA on printer change - same button layout
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
// Remove printer view
|
// Remove printer view
|
||||||
if ((idx = m_tabpanel->FindPage(m_printer_view)) != wxNOT_FOUND) {
|
if ((idx = m_tabpanel->FindPage(m_printer_view)) != wxNOT_FOUND) {
|
||||||
m_printer_view->Show(false);
|
m_printer_view->Show(false);
|
||||||
@@ -1386,9 +1390,10 @@ void MainFrame::show_device(bool bBBLPrinter) {
|
|||||||
#endif // _MSW_DARK_MODE
|
#endif // _MSW_DARK_MODE
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (m_tabpanel->FindPage(m_printer_view) != wxNOT_FOUND)
|
if (m_tabpanel->FindPage(m_printer_view) != wxNOT_FOUND) {
|
||||||
|
fit_tab_labels(); // ORCA on printer change - same button layout
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
if ((idx = m_tabpanel->FindPage(m_calibration)) != wxNOT_FOUND) {
|
if ((idx = m_tabpanel->FindPage(m_calibration)) != wxNOT_FOUND) {
|
||||||
m_calibration->Show(false);
|
m_calibration->Show(false);
|
||||||
m_tabpanel->RemovePage(idx);
|
m_tabpanel->RemovePage(idx);
|
||||||
@@ -1414,6 +1419,33 @@ void MainFrame::show_device(bool bBBLPrinter) {
|
|||||||
m_tabpanel->InsertPage(tpMonitor, m_printer_view, _L("Device"), std::string("tab_monitor_active"),
|
m_tabpanel->InsertPage(tpMonitor, m_printer_view, _L("Device"), std::string("tab_monitor_active"),
|
||||||
std::string("tab_monitor_active"));
|
std::string("tab_monitor_active"));
|
||||||
}
|
}
|
||||||
|
fit_tab_labels(); // ORCA on printer change
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainFrame::fit_tab_labels()
|
||||||
|
{
|
||||||
|
if (!m_tabpanel || !m_slice_option_btn) // ignore layout change while slice/print buttons not visible
|
||||||
|
return;
|
||||||
|
|
||||||
|
auto* ctrl = m_tabpanel->GetBtnsListCtrl();
|
||||||
|
auto* sizer = ctrl->GetBtnsSizer();
|
||||||
|
int count = sizer->GetItemCount();
|
||||||
|
|
||||||
|
// Restore all
|
||||||
|
for (size_t i = 1; i < count; ++i)
|
||||||
|
ctrl->SetCompact(i, false);
|
||||||
|
m_tabpanel->Refresh();
|
||||||
|
Layout();
|
||||||
|
|
||||||
|
// Compact (last to first)
|
||||||
|
for (size_t i = count - 1; i >= 1; --i) {
|
||||||
|
int right = ScreenToClient(m_slice_option_btn->ClientToScreen({})).x;
|
||||||
|
int left = sizer->GetSize().GetWidth();
|
||||||
|
if (right - left - FromDIP(15) > 0) return;
|
||||||
|
ctrl->SetCompact(i, true);
|
||||||
|
m_tabpanel->Refresh();
|
||||||
|
Layout();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MainFrame::preview_only_hint()
|
bool MainFrame::preview_only_hint()
|
||||||
@@ -1790,7 +1822,7 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||||||
update_side_button_style();
|
update_side_button_style();
|
||||||
m_slice_option_btn->Enable();
|
m_slice_option_btn->Enable();
|
||||||
m_print_option_btn->Enable();
|
m_print_option_btn->Enable();
|
||||||
sizer->Add(FromDIP(15), 0, 0, 0, 0);
|
//sizer->Add(FromDIP(15), 0, 0, 0, 0);
|
||||||
sizer->Add(slice_panel);
|
sizer->Add(slice_panel);
|
||||||
sizer->Add(FromDIP(15), 0, 0, 0, 0);
|
sizer->Add(FromDIP(15), 0, 0, 0, 0);
|
||||||
sizer->Add(print_panel);
|
sizer->Add(print_panel);
|
||||||
@@ -1915,6 +1947,7 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||||||
m_slice_enable = get_enable_slice_status();
|
m_slice_enable = get_enable_slice_status();
|
||||||
m_slice_btn->Enable(m_slice_enable);
|
m_slice_btn->Enable(m_slice_enable);
|
||||||
this->Layout();
|
this->Layout();
|
||||||
|
fit_tab_labels(); // ORCA on label change
|
||||||
if(m_slice_option_pop_up)
|
if(m_slice_option_pop_up)
|
||||||
m_slice_option_pop_up->Dismiss();
|
m_slice_option_pop_up->Dismiss();
|
||||||
});
|
});
|
||||||
@@ -1925,6 +1958,7 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||||||
m_slice_enable = get_enable_slice_status();
|
m_slice_enable = get_enable_slice_status();
|
||||||
m_slice_btn->Enable(m_slice_enable);
|
m_slice_btn->Enable(m_slice_enable);
|
||||||
this->Layout();
|
this->Layout();
|
||||||
|
fit_tab_labels(); // ORCA on label change
|
||||||
if(m_slice_option_pop_up)
|
if(m_slice_option_pop_up)
|
||||||
m_slice_option_pop_up->Dismiss();
|
m_slice_option_pop_up->Dismiss();
|
||||||
});
|
});
|
||||||
@@ -1949,6 +1983,7 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||||||
m_print_enable = get_enable_print_status();
|
m_print_enable = get_enable_print_status();
|
||||||
m_print_btn->Enable(m_print_enable);
|
m_print_btn->Enable(m_print_enable);
|
||||||
this->Layout();
|
this->Layout();
|
||||||
|
fit_tab_labels(); // ORCA on label change
|
||||||
p->Dismiss();
|
p->Dismiss();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -1961,6 +1996,7 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||||||
m_print_enable = get_enable_print_status();
|
m_print_enable = get_enable_print_status();
|
||||||
m_print_btn->Enable(m_print_enable);
|
m_print_btn->Enable(m_print_enable);
|
||||||
this->Layout();
|
this->Layout();
|
||||||
|
fit_tab_labels(); // ORCA on label change
|
||||||
p->Dismiss();
|
p->Dismiss();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -1987,6 +2023,7 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||||||
m_print_enable = get_enable_print_status();
|
m_print_enable = get_enable_print_status();
|
||||||
m_print_btn->Enable(m_print_enable);
|
m_print_btn->Enable(m_print_enable);
|
||||||
this->Layout();
|
this->Layout();
|
||||||
|
fit_tab_labels(); // ORCA on label change
|
||||||
p->Dismiss();
|
p->Dismiss();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -1998,6 +2035,7 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||||||
m_print_enable = get_enable_print_status();
|
m_print_enable = get_enable_print_status();
|
||||||
m_print_btn->Enable(m_print_enable);
|
m_print_btn->Enable(m_print_enable);
|
||||||
this->Layout();
|
this->Layout();
|
||||||
|
fit_tab_labels(); // ORCA on label change
|
||||||
p->Dismiss();
|
p->Dismiss();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -2007,6 +2045,7 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||||||
m_print_enable = get_enable_print_status();
|
m_print_enable = get_enable_print_status();
|
||||||
m_print_btn->Enable(m_print_enable);
|
m_print_btn->Enable(m_print_enable);
|
||||||
this->Layout();
|
this->Layout();
|
||||||
|
fit_tab_labels(); // ORCA on label change
|
||||||
p->Dismiss();
|
p->Dismiss();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -2018,6 +2057,7 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||||||
m_print_enable = get_enable_print_status();
|
m_print_enable = get_enable_print_status();
|
||||||
m_print_btn->Enable(m_print_enable);
|
m_print_btn->Enable(m_print_enable);
|
||||||
this->Layout();
|
this->Layout();
|
||||||
|
fit_tab_labels(); // ORCA on label change
|
||||||
p->Dismiss();
|
p->Dismiss();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -2027,6 +2067,7 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||||||
m_print_enable = get_enable_print_status();
|
m_print_enable = get_enable_print_status();
|
||||||
m_print_btn->Enable(m_print_enable);
|
m_print_btn->Enable(m_print_enable);
|
||||||
this->Layout();
|
this->Layout();
|
||||||
|
fit_tab_labels(); // ORCA on label change
|
||||||
p->Dismiss();
|
p->Dismiss();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -2036,6 +2077,7 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||||||
m_print_enable = get_enable_print_status();
|
m_print_enable = get_enable_print_status();
|
||||||
m_print_btn->Enable(m_print_enable);
|
m_print_btn->Enable(m_print_enable);
|
||||||
this->Layout();
|
this->Layout();
|
||||||
|
fit_tab_labels(); // ORCA on label change
|
||||||
p->Dismiss();
|
p->Dismiss();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -2074,6 +2116,7 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||||||
m_print_enable = get_enable_print_status();
|
m_print_enable = get_enable_print_status();
|
||||||
m_print_btn->Enable(m_print_enable);
|
m_print_btn->Enable(m_print_enable);
|
||||||
this->Layout();
|
this->Layout();
|
||||||
|
fit_tab_labels(); // ORCA on label change
|
||||||
p->Dismiss();
|
p->Dismiss();
|
||||||
});
|
});
|
||||||
p->append_button(print_multi_machine_btn);
|
p->append_button(print_multi_machine_btn);
|
||||||
@@ -2088,6 +2131,7 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||||||
m_print_enable = get_enable_print_status();
|
m_print_enable = get_enable_print_status();
|
||||||
m_print_btn->Enable(m_print_enable);
|
m_print_btn->Enable(m_print_enable);
|
||||||
this->Layout();
|
this->Layout();
|
||||||
|
fit_tab_labels(); // ORCA on label change
|
||||||
p->Dismiss();
|
p->Dismiss();
|
||||||
});
|
});
|
||||||
p->append_button(export_gcode_btn);
|
p->append_button(export_gcode_btn);
|
||||||
@@ -2400,6 +2444,8 @@ void MainFrame::on_dpi_changed(const wxRect& suggested_rect)
|
|||||||
this->SetSize(sz);
|
this->SetSize(sz);
|
||||||
|
|
||||||
this->Maximize(is_maximized);
|
this->Maximize(is_maximized);
|
||||||
|
|
||||||
|
fit_tab_labels(); // ORCA
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainFrame::on_sys_color_changed()
|
void MainFrame::on_sys_color_changed()
|
||||||
|
|||||||
@@ -359,6 +359,7 @@ public:
|
|||||||
|
|
||||||
//SoftFever
|
//SoftFever
|
||||||
void show_device(bool bBBLPrinter);
|
void show_device(bool bBBLPrinter);
|
||||||
|
void fit_tab_labels(); // ORCA
|
||||||
|
|
||||||
PA_Calibration_Dlg* m_pa_calib_dlg{ nullptr };
|
PA_Calibration_Dlg* m_pa_calib_dlg{ nullptr };
|
||||||
Temp_Calibration_Dlg* m_temp_calib_dlg{ nullptr };
|
Temp_Calibration_Dlg* m_temp_calib_dlg{ nullptr };
|
||||||
|
|||||||
@@ -202,6 +202,7 @@ bool ButtonsListCtrl::InsertPage(size_t n, const wxString &text, bool bSelect /*
|
|||||||
});
|
});
|
||||||
Slic3r::GUI::wxGetApp().UpdateDarkUI(btn);
|
Slic3r::GUI::wxGetApp().UpdateDarkUI(btn);
|
||||||
m_pageButtons.insert(m_pageButtons.begin() + n, btn);
|
m_pageButtons.insert(m_pageButtons.begin() + n, btn);
|
||||||
|
m_pageLabels.insert(m_pageLabels.begin() + n, text); // ORCA
|
||||||
m_buttons_sizer->Insert(n, new wxSizerItem(btn));
|
m_buttons_sizer->Insert(n, new wxSizerItem(btn));
|
||||||
m_buttons_sizer->SetCols(m_buttons_sizer->GetCols() + 1);
|
m_buttons_sizer->SetCols(m_buttons_sizer->GetCols() + 1);
|
||||||
m_sizer->Layout();
|
m_sizer->Layout();
|
||||||
@@ -212,6 +213,7 @@ void ButtonsListCtrl::RemovePage(size_t n)
|
|||||||
{
|
{
|
||||||
Button* btn = m_pageButtons[n];
|
Button* btn = m_pageButtons[n];
|
||||||
m_pageButtons.erase(m_pageButtons.begin() + n);
|
m_pageButtons.erase(m_pageButtons.begin() + n);
|
||||||
|
m_pageLabels.erase(m_pageLabels.begin() + n); // ORCA
|
||||||
m_buttons_sizer->Remove(n);
|
m_buttons_sizer->Remove(n);
|
||||||
#if __WXOSX__
|
#if __WXOSX__
|
||||||
RemoveChild(btn);
|
RemoveChild(btn);
|
||||||
@@ -238,6 +240,17 @@ void ButtonsListCtrl::SetPageText(size_t n, const wxString& strText)
|
|||||||
{
|
{
|
||||||
Button* btn = m_pageButtons[n];
|
Button* btn = m_pageButtons[n];
|
||||||
btn->SetLabel(strText);
|
btn->SetLabel(strText);
|
||||||
|
if(!strText.empty()) // ORCA
|
||||||
|
m_pageLabels[n] = strText;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ORCA
|
||||||
|
void ButtonsListCtrl::SetCompact(size_t n, bool compact)
|
||||||
|
{
|
||||||
|
int em = em_unit(this);
|
||||||
|
Button* btn = m_pageButtons[n];
|
||||||
|
btn->SetMinSize({(compact ? 40 : 136) * em / 10, 36 * em / 10});
|
||||||
|
btn->SetLabel(compact ? "" : (" " + m_pageLabels[n]));
|
||||||
}
|
}
|
||||||
|
|
||||||
wxString ButtonsListCtrl::GetPageText(size_t n) const
|
wxString ButtonsListCtrl::GetPageText(size_t n) const
|
||||||
|
|||||||
@@ -28,7 +28,9 @@ public:
|
|||||||
void RemovePage(size_t n);
|
void RemovePage(size_t n);
|
||||||
bool SetPageImage(size_t n, const std::string& bmp_name) const;
|
bool SetPageImage(size_t n, const std::string& bmp_name) const;
|
||||||
void SetPageText(size_t n, const wxString& strText);
|
void SetPageText(size_t n, const wxString& strText);
|
||||||
|
void SetCompact(size_t n, bool compact); // ORCA
|
||||||
wxString GetPageText(size_t n) const;
|
wxString GetPageText(size_t n) const;
|
||||||
|
wxFlexGridSizer* GetBtnsSizer(){return m_buttons_sizer;}; // ORCA
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxFlexGridSizer* m_buttons_sizer;
|
wxFlexGridSizer* m_buttons_sizer;
|
||||||
@@ -39,6 +41,7 @@ private:
|
|||||||
int m_btn_margin;
|
int m_btn_margin;
|
||||||
int m_line_margin;
|
int m_line_margin;
|
||||||
//ModeSizer* m_mode_sizer {nullptr};
|
//ModeSizer* m_mode_sizer {nullptr};
|
||||||
|
std::vector<wxString> m_pageLabels; // ORCA
|
||||||
};
|
};
|
||||||
|
|
||||||
class Notebook: public wxBookCtrlBase
|
class Notebook: public wxBookCtrlBase
|
||||||
|
|||||||
Reference in New Issue
Block a user