Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuSanka <yusanka@gmail.com>2019-09-17 14:41:44 +0300
committerYuSanka <yusanka@gmail.com>2019-09-17 14:41:44 +0300
commit93aa5ac6ce0649d696a315177dee9158ea00df8a (patch)
tree8550362b409ab69e32ba63de6e35a9f7ef7e049b /src/slic3r/GUI/GUI_ObjectLayers.cpp
parentc38e537adcc0cbbbb4ac63f8acbf54d0cfe6cdd7 (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.cpp41
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