diff options
author | YuSanka <yusanka@gmail.com> | 2019-09-17 14:41:44 +0300 |
---|---|---|
committer | YuSanka <yusanka@gmail.com> | 2019-09-17 14:41:44 +0300 |
commit | 93aa5ac6ce0649d696a315177dee9158ea00df8a (patch) | |
tree | 8550362b409ab69e32ba63de6e35a9f7ef7e049b /src/slic3r/GUI/GUI_ObjectLayers.cpp | |
parent | c38e537adcc0cbbbb4ac63f8acbf54d0cfe6cdd7 (diff) |
Fixed re-scaling under MSW for Layers editing
+ Clean code in GUI_ObjectManipulation.cpp
Diffstat (limited to 'src/slic3r/GUI/GUI_ObjectLayers.cpp')
-rw-r--r-- | src/slic3r/GUI/GUI_ObjectLayers.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/slic3r/GUI/GUI_ObjectLayers.cpp b/src/slic3r/GUI/GUI_ObjectLayers.cpp index 822b137c3..9053cdd42 100644 --- a/src/slic3r/GUI/GUI_ObjectLayers.cpp +++ b/src/slic3r/GUI/GUI_ObjectLayers.cpp @@ -227,6 +227,42 @@ void ObjectLayers::msw_rescale() { m_bmp_delete.msw_rescale(); m_bmp_add.msw_rescale(); + + m_grid_sizer->SetHGap(wxGetApp().em_unit()); + + // rescale edit-boxes + const int cells_cnt = m_grid_sizer->GetCols() * m_grid_sizer->GetEffectiveRowsCount(); + for (int i = 0; i < cells_cnt; i++) + { + const wxSizerItem* item = m_grid_sizer->GetItem(i); + if (item->IsWindow()) + { + LayerRangeEditor* editor = dynamic_cast<LayerRangeEditor*>(item->GetWindow()); + if (editor != nullptr) + editor->msw_rescale(); + } + else if (item->IsSizer()) // case when we have editor with buttons + { + wxSizerItem* e_item = item->GetSizer()->GetItem(size_t(0)); // editor + if (e_item->IsWindow()) { + LayerRangeEditor* editor = dynamic_cast<LayerRangeEditor*>(e_item->GetWindow()); + if (editor != nullptr) + editor->msw_rescale(); + } + + const std::vector<size_t> btns = {2, 3}; // del_btn, add_btn + for (auto btn : btns) + { + wxSizerItem* b_item = item->GetSizer()->GetItem(btn); + if (b_item->IsWindow()) { + ScalableButton* button = dynamic_cast<ScalableButton*>(b_item->GetWindow()); + if (button != nullptr) + button->msw_rescale(); + } + } + } + } + m_grid_sizer->Layout(); } void ObjectLayers::reset_selection() @@ -342,5 +378,10 @@ coordf_t LayerRangeEditor::get_value() return layer_height; } +void LayerRangeEditor::msw_rescale() +{ + SetMinSize(wxSize(8 * wxGetApp().em_unit(), wxDefaultCoord)); +} + } //namespace GUI } //namespace Slic3r
\ No newline at end of file |