X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3a12cb0a94ad8d6f0bfeb05af77977f2644b650a..01c54165d1182cc74d8e5d43cdb1985902af0b2f:/src/gtk/gauge.cpp?ds=sidebyside diff --git a/src/gtk/gauge.cpp b/src/gtk/gauge.cpp index 45f1d7b869..dcff39dc23 100644 --- a/src/gtk/gauge.cpp +++ b/src/gtk/gauge.cpp @@ -7,10 +7,6 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "gauge.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -55,10 +51,8 @@ bool wxGauge::Create( wxWindow *parent, m_parent->DoAddChild( this ); - PostCreation(); + PostCreation(size); SetBestSize(size); - - Show( TRUE ); return TRUE; } @@ -68,13 +62,19 @@ void wxGauge::DoSetGauge() wxASSERT_MSG( 0 <= m_gaugePos && m_gaugePos <= m_rangeMax, _T("invalid gauge position in DoSetGauge()") ); - gtk_progress_bar_update( GTK_PROGRESS_BAR(m_widget), - m_rangeMax ? ((float)m_gaugePos)/m_rangeMax : 0.); + gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (m_widget), + m_rangeMax ? ((float)m_gaugePos)/m_rangeMax : 0.); } wxSize wxGauge::DoGetBestSize() const { - return wxSize(100, 28); + wxSize best; + if (HasFlag(wxGA_VERTICAL)) + best = wxSize(28, 100); + else + best = wxSize(100, 28); + CacheBestSize(best); + return best; } void wxGauge::SetRange( int range ) @@ -105,10 +105,21 @@ int wxGauge::GetValue() const return m_gaugePos; } -void wxGauge::ApplyWidgetStyle() +wxVisualAttributes wxGauge::GetDefaultAttributes() const +{ + // Visible gauge colours use a different colour state + return GetDefaultAttributesFromGTKWidget(m_widget, + UseGTKStyleBase(), + GTK_STATE_ACTIVE); + +} + +// static +wxVisualAttributes +wxGauge::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant)) { - SetWidgetStyle(); - gtk_widget_set_style( m_widget, m_widgetStyle ); + return GetDefaultAttributesFromGTKWidget(gtk_progress_bar_new, + false, GTK_STATE_ACTIVE); } #endif // wxUSE_GAUGE