mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-08-15 14:45:52 +08:00
#223 reduce bottom preview labels size for tiny screens
This commit is contained in:
parent
a0ff5c3fec
commit
397d56fc42
@ -198,11 +198,26 @@ Preview::Preview(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum ScreenWidth {
|
||||||
|
large,
|
||||||
|
medium,
|
||||||
|
tiny
|
||||||
|
};
|
||||||
|
|
||||||
bool Preview::init(wxWindow* parent, Bed3D& bed, Camera& camera, GLToolbar& view_toolbar, Model* model)
|
bool Preview::init(wxWindow* parent, Bed3D& bed, Camera& camera, GLToolbar& view_toolbar, Model* model)
|
||||||
{
|
{
|
||||||
if (!Create(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 /* disable wxTAB_TRAVERSAL */))
|
if (!Create(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 /* disable wxTAB_TRAVERSAL */))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
//get display size to see if we have to compress the labels
|
||||||
|
wxDisplay display(wxDisplay::GetFromWindow(parent));
|
||||||
|
wxRect screen = display.GetClientArea();
|
||||||
|
ScreenWidth width_screen = ScreenWidth::large;
|
||||||
|
if (screen.width < 1900)
|
||||||
|
width_screen = ScreenWidth::medium;
|
||||||
|
if (screen.width < 1600)
|
||||||
|
width_screen = ScreenWidth::tiny;
|
||||||
|
|
||||||
m_canvas_widget = GLCanvas3DManager::create_wxglcanvas(this);
|
m_canvas_widget = GLCanvas3DManager::create_wxglcanvas(this);
|
||||||
_3DScene::add_canvas(m_canvas_widget, bed, camera, view_toolbar);
|
_3DScene::add_canvas(m_canvas_widget, bed, camera, view_toolbar);
|
||||||
m_canvas = _3DScene::get_canvas(this->m_canvas_widget);
|
m_canvas = _3DScene::get_canvas(this->m_canvas_widget);
|
||||||
@ -219,21 +234,21 @@ bool Preview::init(wxWindow* parent, Bed3D& bed, Camera& camera, GLToolbar& view
|
|||||||
m_label_view_type = new wxStaticText(this, wxID_ANY, _(L("View")));
|
m_label_view_type = new wxStaticText(this, wxID_ANY, _(L("View")));
|
||||||
|
|
||||||
m_choice_view_type = new wxChoice(this, wxID_ANY);
|
m_choice_view_type = new wxChoice(this, wxID_ANY);
|
||||||
m_choice_view_type->Append(_(L("Feature type")));
|
m_choice_view_type->Append(_(L(width_screen == tiny ? "Feature": "Feature type")));
|
||||||
m_choice_view_type->Append(_(L("Height")));
|
m_choice_view_type->Append(_(L("Height")));
|
||||||
m_choice_view_type->Append(_(L("Width")));
|
m_choice_view_type->Append(_(L("Width")));
|
||||||
m_choice_view_type->Append(_(L("Speed")));
|
m_choice_view_type->Append(_(L("Speed")));
|
||||||
m_choice_view_type->Append(_(L("Fan speed")));
|
m_choice_view_type->Append(_(L(width_screen == tiny ? "Fan" : "Fan speed")));
|
||||||
m_choice_view_type->Append(_(L("Volumetric flow rate")));
|
m_choice_view_type->Append(_(L(width_screen == tiny ? "Vol. flow" :"Volumetric flow rate")));
|
||||||
m_choice_view_type->Append(_(L("Tool")));
|
m_choice_view_type->Append(_(L("Tool")));
|
||||||
m_choice_view_type->Append(_(L("Filament")));
|
m_choice_view_type->Append(_(L("Filament")));
|
||||||
m_choice_view_type->Append(_(L("Color Print")));
|
m_choice_view_type->Append(_(L(width_screen == tiny ? "Color":"Color Print")));
|
||||||
m_choice_view_type->SetSelection(0);
|
m_choice_view_type->SetSelection(0);
|
||||||
|
|
||||||
m_label_show_features = new wxStaticText(this, wxID_ANY, _(L("Show")));
|
m_label_show_features = new wxStaticText(this, wxID_ANY, _(L("Show")));
|
||||||
|
|
||||||
m_combochecklist_features = new wxComboCtrl();
|
m_combochecklist_features = new wxComboCtrl();
|
||||||
m_combochecklist_features->Create(this, wxID_ANY, _(L("Extrusion type")), wxDefaultPosition, wxSize(35 * wxGetApp().em_unit(), -1), wxCB_READONLY);
|
m_combochecklist_features->Create(this, wxID_ANY, _(L("Extrusion type")), wxDefaultPosition,
|
||||||
|
wxSize((width_screen == large ? 35: (width_screen == medium ?20:15)) * wxGetApp().em_unit(), -1), wxCB_READONLY);
|
||||||
std::string feature_text = GUI::into_u8(_(L("Feature types")));
|
std::string feature_text = GUI::into_u8(_(L("Feature types")));
|
||||||
std::string feature_items = GUI::into_u8(
|
std::string feature_items = GUI::into_u8(
|
||||||
_(L("Perimeter")) + "|" +
|
_(L("Perimeter")) + "|" +
|
||||||
@ -246,15 +261,15 @@ bool Preview::init(wxWindow* parent, Bed3D& bed, Camera& camera, GLToolbar& view
|
|||||||
_(L("Gap fill")) + "|" +
|
_(L("Gap fill")) + "|" +
|
||||||
_(L("Skirt")) + "|" +
|
_(L("Skirt")) + "|" +
|
||||||
_(L("Support material")) + "|" +
|
_(L("Support material")) + "|" +
|
||||||
_(L("Support material interface")) + "|" +
|
_(L(width_screen == large? "Support material interface": "Sup. mat. interface")) + "|" +
|
||||||
_(L("Wipe tower")) + "|" +
|
_(L("Wipe tower")) + "|" +
|
||||||
_(L("Custom"))
|
_(L("Custom"))
|
||||||
);
|
);
|
||||||
Slic3r::GUI::create_combochecklist(m_combochecklist_features, feature_text, feature_items, true);
|
Slic3r::GUI::create_combochecklist(m_combochecklist_features, feature_text, feature_items, true);
|
||||||
|
|
||||||
m_checkbox_travel = new wxCheckBox(this, wxID_ANY, _(L("Travel")));
|
m_checkbox_travel = new wxCheckBox(this, wxID_ANY, _(L("Travel")));
|
||||||
m_checkbox_retractions = new wxCheckBox(this, wxID_ANY, _(L("Retractions")));
|
m_checkbox_retractions = new wxCheckBox(this, wxID_ANY, _(L(width_screen == tiny ? "Retr." : "Retractions")));
|
||||||
m_checkbox_unretractions = new wxCheckBox(this, wxID_ANY, _(L("Unretractions")));
|
m_checkbox_unretractions = new wxCheckBox(this, wxID_ANY, _(L(width_screen == tiny ? "Unre." : "Unretractions")));
|
||||||
m_checkbox_shells = new wxCheckBox(this, wxID_ANY, _(L("Shells")));
|
m_checkbox_shells = new wxCheckBox(this, wxID_ANY, _(L("Shells")));
|
||||||
m_checkbox_legend = new wxCheckBox(this, wxID_ANY, _(L("Legend")));
|
m_checkbox_legend = new wxCheckBox(this, wxID_ANY, _(L("Legend")));
|
||||||
m_checkbox_legend->SetValue(true);
|
m_checkbox_legend->SetValue(true);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user