mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-16 11:17:51 -06:00
FIX:fixed send printjob page can not show full page size
Change-Id: I1d9120c4eabf69e9510f9f64d378eab3adf6b7a9
This commit is contained in:
parent
0fa82b5e18
commit
a5774c1902
2 changed files with 67 additions and 16 deletions
|
@ -799,7 +799,13 @@ SelectMachineDialog::SelectMachineDialog(Plater *plater)
|
||||||
m_line_top = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1, 1), wxTAB_TRAVERSAL);
|
m_line_top = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1, 1), wxTAB_TRAVERSAL);
|
||||||
m_line_top->SetBackgroundColour(wxColour(166, 169, 170));
|
m_line_top->SetBackgroundColour(wxColour(166, 169, 170));
|
||||||
|
|
||||||
m_panel_image = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
|
m_scrollable_view = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize);
|
||||||
|
m_sizer_scrollable_view = new wxBoxSizer(wxVERTICAL);
|
||||||
|
|
||||||
|
m_scrollable_region = new wxPanel(m_scrollable_view, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
|
||||||
|
m_sizer_scrollable_region = new wxBoxSizer(wxVERTICAL);
|
||||||
|
|
||||||
|
m_panel_image = new wxPanel(m_scrollable_region, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
|
||||||
m_panel_image->SetBackgroundColour(m_colour_def_color);
|
m_panel_image->SetBackgroundColour(m_colour_def_color);
|
||||||
|
|
||||||
sizer_thumbnail = new wxBoxSizer(wxVERTICAL);
|
sizer_thumbnail = new wxBoxSizer(wxVERTICAL);
|
||||||
|
@ -815,16 +821,16 @@ SelectMachineDialog::SelectMachineDialog(Plater *plater)
|
||||||
wxBoxSizer *m_sizer_basic_weight = new wxBoxSizer(wxHORIZONTAL);
|
wxBoxSizer *m_sizer_basic_weight = new wxBoxSizer(wxHORIZONTAL);
|
||||||
wxBoxSizer *m_sizer_basic_time = new wxBoxSizer(wxHORIZONTAL);
|
wxBoxSizer *m_sizer_basic_time = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
|
||||||
auto timeimg = new wxStaticBitmap(this, wxID_ANY, create_scaled_bitmap("print-time", this, 18), wxDefaultPosition, wxSize(FromDIP(18), FromDIP(18)), 0);
|
auto timeimg = new wxStaticBitmap(m_scrollable_region, wxID_ANY, create_scaled_bitmap("print-time", this, 18), wxDefaultPosition, wxSize(FromDIP(18), FromDIP(18)), 0);
|
||||||
m_sizer_basic_weight->Add(timeimg, 1, wxEXPAND | wxALL, FromDIP(5));
|
m_sizer_basic_weight->Add(timeimg, 1, wxEXPAND | wxALL, FromDIP(5));
|
||||||
m_stext_time = new wxStaticText(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT);
|
m_stext_time = new wxStaticText(m_scrollable_region, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT);
|
||||||
m_sizer_basic_weight->Add(m_stext_time, 0, wxALL, FromDIP(5));
|
m_sizer_basic_weight->Add(m_stext_time, 0, wxALL, FromDIP(5));
|
||||||
m_sizer_basic->Add(m_sizer_basic_weight, 0, wxALIGN_CENTER, 0);
|
m_sizer_basic->Add(m_sizer_basic_weight, 0, wxALIGN_CENTER, 0);
|
||||||
m_sizer_basic->Add(0, 0, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(30));
|
m_sizer_basic->Add(0, 0, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(30));
|
||||||
|
|
||||||
auto weightimg = new wxStaticBitmap(this, wxID_ANY, create_scaled_bitmap("print-weight", this, 18), wxDefaultPosition, wxSize(FromDIP(18), FromDIP(18)), 0);
|
auto weightimg = new wxStaticBitmap(m_scrollable_region, wxID_ANY, create_scaled_bitmap("print-weight", this, 18), wxDefaultPosition, wxSize(FromDIP(18), FromDIP(18)), 0);
|
||||||
m_sizer_basic_time->Add(weightimg, 1, wxEXPAND | wxALL, FromDIP(5));
|
m_sizer_basic_time->Add(weightimg, 1, wxEXPAND | wxALL, FromDIP(5));
|
||||||
m_stext_weight = new wxStaticText(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);
|
m_stext_weight = new wxStaticText(m_scrollable_region, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);
|
||||||
m_sizer_basic_time->Add(m_stext_weight, 0, wxALL, FromDIP(5));
|
m_sizer_basic_time->Add(m_stext_weight, 0, wxALL, FromDIP(5));
|
||||||
m_sizer_basic->Add(m_sizer_basic_time, 0, wxALIGN_CENTER, 0);
|
m_sizer_basic->Add(m_sizer_basic_time, 0, wxALIGN_CENTER, 0);
|
||||||
|
|
||||||
|
@ -947,12 +953,22 @@ SelectMachineDialog::SelectMachineDialog(Plater *plater)
|
||||||
Bind(EVT_PRINT_JOB_CANCEL, &SelectMachineDialog::on_print_job_cancel, this);
|
Bind(EVT_PRINT_JOB_CANCEL, &SelectMachineDialog::on_print_job_cancel, this);
|
||||||
Bind(EVT_SET_FINISH_MAPPING, &SelectMachineDialog::on_set_finish_mapping, this);
|
Bind(EVT_SET_FINISH_MAPPING, &SelectMachineDialog::on_set_finish_mapping, this);
|
||||||
|
|
||||||
|
|
||||||
|
m_sizer_scrollable_region->Add(m_panel_image, 0, wxALIGN_CENTER_HORIZONTAL, 0);
|
||||||
|
m_sizer_scrollable_region->Add(0, 0, 0, wxTOP, FromDIP(10));
|
||||||
|
m_sizer_scrollable_region->Add(m_sizer_basic, 0, wxALIGN_CENTER_HORIZONTAL, 0);
|
||||||
|
m_sizer_scrollable_region->Add(m_sizer_material, 0, wxALIGN_CENTER_HORIZONTAL);
|
||||||
|
|
||||||
|
m_scrollable_region->SetSizer(m_sizer_scrollable_region);
|
||||||
|
m_scrollable_region->Layout();
|
||||||
|
|
||||||
|
m_scrollable_view->SetSizer(m_sizer_scrollable_view);
|
||||||
|
m_scrollable_view->Layout();
|
||||||
|
m_sizer_scrollable_view->Add(m_scrollable_region, 0, wxEXPAND, 0);
|
||||||
|
|
||||||
m_sizer_main->Add(m_line_top, 0, wxEXPAND, 0);
|
m_sizer_main->Add(m_line_top, 0, wxEXPAND, 0);
|
||||||
m_sizer_main->Add(0, 0, 0, wxTOP, FromDIP(22));
|
m_sizer_main->Add(0, 0, 0, wxTOP, FromDIP(22));
|
||||||
m_sizer_main->Add(m_panel_image, 0, wxALIGN_CENTER_HORIZONTAL, 0);
|
m_sizer_main->Add(m_scrollable_view, 0, wxALIGN_CENTER_HORIZONTAL, 0);
|
||||||
m_sizer_main->Add(0, 0, 0, wxTOP, FromDIP(10));
|
|
||||||
m_sizer_main->Add(m_sizer_basic, 0, wxALIGN_CENTER_HORIZONTAL, 0);
|
|
||||||
m_sizer_main->Add(m_sizer_material, 0, wxALIGN_CENTER_HORIZONTAL);
|
|
||||||
m_sizer_main->Add(0, 0, 0, wxEXPAND | wxTOP, FromDIP(8));
|
m_sizer_main->Add(0, 0, 0, wxEXPAND | wxTOP, FromDIP(8));
|
||||||
m_sizer_main->Add(m_statictext_ams_msg, 0, wxALIGN_CENTER_HORIZONTAL, 0);
|
m_sizer_main->Add(m_statictext_ams_msg, 0, wxALIGN_CENTER_HORIZONTAL, 0);
|
||||||
m_sizer_main->Add(0, 0, 0, wxEXPAND | wxTOP, FromDIP(8));
|
m_sizer_main->Add(0, 0, 0, wxEXPAND | wxTOP, FromDIP(8));
|
||||||
|
@ -2073,7 +2089,7 @@ void SelectMachineDialog::set_default()
|
||||||
auto colour_rgb = wxColour((int) rgb[0], (int) rgb[1], (int) rgb[2]);
|
auto colour_rgb = wxColour((int) rgb[0], (int) rgb[1], (int) rgb[2]);
|
||||||
if (extruder >= materials.size() || extruder < 0 || extruder >= display_materials.size())
|
if (extruder >= materials.size() || extruder < 0 || extruder >= display_materials.size())
|
||||||
continue;
|
continue;
|
||||||
MaterialItem *item = new MaterialItem(this, colour_rgb, _L(display_materials[extruder]));
|
MaterialItem *item = new MaterialItem(m_scrollable_region, colour_rgb, _L(display_materials[extruder]));
|
||||||
m_sizer_material->Add(item, 0, wxALL, FromDIP(4));
|
m_sizer_material->Add(item, 0, wxALL, FromDIP(4));
|
||||||
|
|
||||||
item->Bind(wxEVT_LEFT_UP, [this, item, materials, extruder](wxMouseEvent &e) {
|
item->Bind(wxEVT_LEFT_UP, [this, item, materials, extruder](wxMouseEvent &e) {
|
||||||
|
@ -2133,14 +2149,43 @@ void SelectMachineDialog::set_default()
|
||||||
|
|
||||||
if (extruders.size() <= 4) {
|
if (extruders.size() <= 4) {
|
||||||
m_sizer_material->SetCols(extruders.size());
|
m_sizer_material->SetCols(extruders.size());
|
||||||
Layout();
|
|
||||||
Fit();
|
|
||||||
} else {
|
} else {
|
||||||
m_sizer_material->SetCols(4);
|
m_sizer_material->SetCols(4);
|
||||||
Layout();
|
|
||||||
Fit();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_scrollable_region->Layout();
|
||||||
|
m_scrollable_region->Fit();
|
||||||
|
|
||||||
|
//m_scrollable_view->Layout();
|
||||||
|
//m_scrollable_view->Fit();
|
||||||
|
|
||||||
|
m_scrollable_view->SetSize(m_scrollable_region->GetSize());
|
||||||
|
m_scrollable_view->SetMinSize(m_scrollable_region->GetSize());
|
||||||
|
m_scrollable_view->SetMaxSize(m_scrollable_region->GetSize());
|
||||||
|
|
||||||
|
Layout();
|
||||||
|
Fit();
|
||||||
|
|
||||||
|
|
||||||
|
wxSize screenSize = wxGetDisplaySize();
|
||||||
|
auto dialogSize = this->GetSize();
|
||||||
|
|
||||||
|
#ifdef __WINDOWS__
|
||||||
|
if (screenSize.y < dialogSize.y) {
|
||||||
|
m_need_adaptation_screen = true;
|
||||||
|
m_scrollable_view->SetScrollRate(0, 5);
|
||||||
|
m_scrollable_view->SetSize(wxSize(-1, FromDIP(220)));
|
||||||
|
m_scrollable_view->SetMinSize(wxSize(-1, FromDIP(220)));
|
||||||
|
m_scrollable_view->SetMaxSize(wxSize(-1, FromDIP(220)));
|
||||||
|
} else {
|
||||||
|
/* m_scrollable_view->SetSize(m_scrollable_region->GetSize());
|
||||||
|
m_scrollable_view->SetMinSize(m_scrollable_region->GetSize());
|
||||||
|
m_scrollable_view->SetMaxSize(m_scrollable_region->GetSize());*/
|
||||||
|
m_scrollable_view->SetScrollRate(0, 0);
|
||||||
|
}
|
||||||
|
#endif // __WXOSX_MAC__
|
||||||
|
|
||||||
|
|
||||||
reset_ams_material();
|
reset_ams_material();
|
||||||
|
|
||||||
// basic info
|
// basic info
|
||||||
|
@ -2175,10 +2220,9 @@ bool SelectMachineDialog::Show(bool show)
|
||||||
m_refresh_timer->Stop();
|
m_refresh_timer->Stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (show) { CenterOnParent(); }
|
|
||||||
|
|
||||||
Layout();
|
Layout();
|
||||||
Fit();
|
Fit();
|
||||||
|
if (show) { CenterOnParent(); }
|
||||||
return DPIDialog::Show(show);
|
return DPIDialog::Show(show);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -306,6 +306,13 @@ protected:
|
||||||
wxBoxSizer * m_sizer_main;
|
wxBoxSizer * m_sizer_main;
|
||||||
wxBoxSizer * m_sizer_bottom;
|
wxBoxSizer * m_sizer_bottom;
|
||||||
|
|
||||||
|
bool m_need_adaptation_screen {false};
|
||||||
|
wxScrolledWindow * m_scrollable_view;
|
||||||
|
wxBoxSizer * m_sizer_scrollable_view;
|
||||||
|
|
||||||
|
wxPanel* m_scrollable_region;
|
||||||
|
wxBoxSizer* m_sizer_scrollable_region;
|
||||||
|
|
||||||
wxWindow *select_bed{nullptr};
|
wxWindow *select_bed{nullptr};
|
||||||
wxWindow *select_flow{nullptr};
|
wxWindow *select_flow{nullptr};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue