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-06-18 19:02:40 +0300
committerYuSanka <yusanka@gmail.com>2019-06-18 19:02:40 +0300
commit415877d79e7edf26868e71afdbc3277948dec765 (patch)
treee2c976ffa2fc8ccc83d58764d5a8ea0a400dcace /src/slic3r/GUI/GUI_ObjectManipulation.cpp
parentce222517075c7da14af59f056fc8890b61e0987d (diff)
Experiments with msw_rescale fixing
Diffstat (limited to 'src/slic3r/GUI/GUI_ObjectManipulation.cpp')
-rw-r--r--src/slic3r/GUI/GUI_ObjectManipulation.cpp33
1 files changed, 24 insertions, 9 deletions
diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.cpp b/src/slic3r/GUI/GUI_ObjectManipulation.cpp
index 5bf25f3fc..925ba65bc 100644
--- a/src/slic3r/GUI/GUI_ObjectManipulation.cpp
+++ b/src/slic3r/GUI/GUI_ObjectManipulation.cpp
@@ -130,8 +130,8 @@ ObjectManipulation::ObjectManipulation(wxWindow* parent) :
auto manifold_warning_icon = [this](wxWindow* parent) {
m_fix_throught_netfab_bitmap = new wxStaticBitmap(parent, wxID_ANY, wxNullBitmap);
- auto sizer = new wxBoxSizer(wxHORIZONTAL);
- sizer->Add(m_fix_throught_netfab_bitmap);
+// auto sizer = new wxBoxSizer(wxHORIZONTAL);
+// sizer->Add(m_fix_throught_netfab_bitmap);
if (is_windows10())
m_fix_throught_netfab_bitmap->Bind(wxEVT_CONTEXT_MENU, [this](wxCommandEvent &e)
@@ -144,17 +144,19 @@ ObjectManipulation::ObjectManipulation(wxWindow* parent) :
update_warning_icon_state(wxGetApp().obj_list()->get_mesh_errors_list());
});
- return sizer;
+// return sizer;
+ return m_fix_throught_netfab_bitmap;
};
- line.append_widget(manifold_warning_icon);
+ // line.append_widget(manifold_warning_icon);
+ line.near_label_widget = manifold_warning_icon;
def.label = "";
def.gui_type = "legend";
def.tooltip = L("Object name");
#ifdef __APPLE__
- def.width = 19;
+ def.width = 20;
#else
- def.width = 21;
+ def.width = 22;
#endif
def.set_default_value(new ConfigOptionString{ " " });
line.append_option(Option(def, "object_name"));
@@ -233,10 +235,19 @@ ObjectManipulation::ObjectManipulation(wxWindow* parent) :
// call back for a rescale of button "Set uniform scale"
m_og->rescale_near_label_widget = [this](wxWindow* win) {
+ // rescale lock icon
auto *ctrl = dynamic_cast<LockButton*>(win);
- if (ctrl == nullptr)
+ if (ctrl != nullptr) {
+ ctrl->msw_rescale();
return;
- ctrl->msw_rescale();
+ }
+
+ if (win == m_fix_throught_netfab_bitmap)
+ return;
+
+ // rescale "place" of the empty icon (to correct layout of the "Size" and "Scale")
+ if (dynamic_cast<wxStaticBitmap*>(win) != nullptr)
+ win->SetMinSize(create_scaled_bitmap(m_parent, "one_layer_lock_on.png").GetSize());
};
}
@@ -431,6 +442,7 @@ void ObjectManipulation::emulate_kill_focus()
void ObjectManipulation::update_warning_icon_state(const wxString& tooltip)
{
m_fix_throught_netfab_bitmap->SetBitmap(tooltip.IsEmpty() ? wxNullBitmap : m_manifold_warning_bmp.bmp());
+ m_fix_throught_netfab_bitmap->SetMinSize(tooltip.IsEmpty() ? wxSize(0,0) : m_manifold_warning_bmp.bmp().GetSize());
m_fix_throught_netfab_bitmap->SetToolTip(tooltip);
}
@@ -664,7 +676,10 @@ void ObjectManipulation::msw_rescale()
{
msw_rescale_word_local_combo(m_word_local_combo);
m_manifold_warning_bmp.msw_rescale();
- m_fix_throught_netfab_bitmap->SetBitmap(m_manifold_warning_bmp.bmp());
+
+ const wxString& tooltip = m_fix_throught_netfab_bitmap->GetToolTipText();
+ m_fix_throught_netfab_bitmap->SetBitmap(tooltip.IsEmpty() ? wxNullBitmap : m_manifold_warning_bmp.bmp());
+ m_fix_throught_netfab_bitmap->SetMinSize(tooltip.IsEmpty() ? wxSize(0, 0) : m_manifold_warning_bmp.bmp().GetSize());
get_og()->msw_rescale();
}