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
This commit is contained in:
@@ -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; }
|
||||
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user