diff --git a/src/slic3r/GUI/Widgets/Button.cpp b/src/slic3r/GUI/Widgets/Button.cpp index f7c63f9b47..de4914acf8 100644 --- a/src/slic3r/GUI/Widgets/Button.cpp +++ b/src/slic3r/GUI/Widgets/Button.cpp @@ -105,6 +105,12 @@ void Button::SetMinSize(const wxSize& size) messureSize(); } +void Button::SetMaxSize(const wxSize& size) +{ + wxWindow::SetMaxSize(size); + messureSize(); +} + void Button::SetPaddingSize(const wxSize& size) { paddingSize = size; @@ -385,9 +391,15 @@ void Button::messureSize() if (minSize.GetHeight() > 0) size.SetHeight(minSize.GetHeight()); - if (auto w = GetMaxWidth(); w > 0 && size.GetWidth() > w) + if (auto w = GetMaxWidth(); w > 0 && size.GetWidth() > w) { size.SetWidth(GetMaxWidth()); + const wxString& tip_str = GetToolTipText(); + if (tip_str.IsEmpty()) { + SetToolTip(GetLabel()); + } + } + if (minSize.GetWidth() > size.GetWidth()) wxWindow::SetMinSize(minSize); else diff --git a/src/slic3r/GUI/Widgets/Button.hpp b/src/slic3r/GUI/Widgets/Button.hpp index a195b7eea2..1ff2beb5ee 100644 --- a/src/slic3r/GUI/Widgets/Button.hpp +++ b/src/slic3r/GUI/Widgets/Button.hpp @@ -61,6 +61,7 @@ public: void SetInactiveIcon(const wxString& icon); void SetMinSize(const wxSize& size) override; + void SetMaxSize(const wxSize& size) override; void SetPaddingSize(const wxSize& size);