From 7c7c7173890b3a8e853fbde07f27fe59253f831c Mon Sep 17 00:00:00 2001 From: iwbnwif Date: Wed, 12 Jun 2019 22:11:33 +0100 Subject: [PATCH] No longer return fixed values from wxGauge::GetBestSize() in wxGTK Under wxGTK, wxGauge was returning fixed values for height and width. This meant that the gauge would not center correctly in a sizer, particularly under GTK+ 3 where the default gauge height is just a few pixels. Following this change, wxGauge renders correctly on GTK+ 3 and matches the reference widget display in the gtk3-widget-factory app. Note, this change will also result in a slimmer widget on GTK+ 2, but the gauge height can be forced using wxGauge::SetMinSize() on the older toolkit. The gauge presentation is totally theme dependent under GTK+ 3. For example, the user can have thicker gauges by setting the following in their ~/.config/gtk-3.0/gtk.css file: progress, trough { min-height: 20px; } Closes https://github.com/wxWidgets/wxWidgets/pull/1353 --- include/wx/gtk/gauge.h | 2 -- src/gtk/gauge.cpp | 10 ---------- 2 files changed, 12 deletions(-) diff --git a/include/wx/gtk/gauge.h b/include/wx/gtk/gauge.h index 2e018566c5..7e138e7ed2 100644 --- a/include/wx/gtk/gauge.h +++ b/include/wx/gtk/gauge.h @@ -65,8 +65,6 @@ protected: // set the gauge value to the value of m_gaugePos void DoSetGauge(); - virtual wxSize DoGetBestSize() const wxOVERRIDE; - private: void Init() { m_rangeMax = m_gaugePos = 0; } diff --git a/src/gtk/gauge.cpp b/src/gtk/gauge.cpp index e6d600a74f..52c8690ff0 100644 --- a/src/gtk/gauge.cpp +++ b/src/gtk/gauge.cpp @@ -70,16 +70,6 @@ void wxGauge::DoSetGauge() m_rangeMax ? ((double)m_gaugePos)/m_rangeMax : 0.0); } -wxSize wxGauge::DoGetBestSize() const -{ - wxSize best; - if (HasFlag(wxGA_VERTICAL)) - best = wxSize(28, 100); - else - best = wxSize(100, 28); - return best; -} - void wxGauge::SetRange( int range ) { m_rangeMax = range;