X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3a12cb0a94ad8d6f0bfeb05af77977f2644b650a..7198c3368055d88249a338eb33b21f051f674806:/src/gtk1/gauge.cpp?ds=sidebyside diff --git a/src/gtk1/gauge.cpp b/src/gtk1/gauge.cpp index 45f1d7b869..e8710caec0 100644 --- a/src/gtk1/gauge.cpp +++ b/src/gtk1/gauge.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: gauge.cpp +// Name: src/gtk1/gauge.cpp // Purpose: // Author: Robert Roebling // Id: $Id$ @@ -7,25 +7,19 @@ // 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" -#include "wx/gauge.h" - #if wxUSE_GAUGE +#include "wx/gauge.h" + #include //----------------------------------------------------------------------------- // wxGauge //----------------------------------------------------------------------------- -IMPLEMENT_DYNAMIC_CLASS(wxGauge, wxControl) - bool wxGauge::Create( wxWindow *parent, wxWindowID id, int range, @@ -35,13 +29,13 @@ bool wxGauge::Create( wxWindow *parent, const wxValidator& validator, const wxString& name ) { - m_needParent = TRUE; + m_needParent = true; if (!PreCreation( parent, pos, size ) || !CreateBase( parent, id, pos, size, style, validator, name )) { wxFAIL_MSG( wxT("wxGauge creation failed") ); - return FALSE; + return false; } m_rangeMax = range; @@ -55,18 +49,16 @@ bool wxGauge::Create( wxWindow *parent, m_parent->DoAddChild( this ); - PostCreation(); - SetBestSize(size); - - Show( TRUE ); + PostCreation(size); + SetInitialSize(size); - return TRUE; + return true; } void wxGauge::DoSetGauge() { wxASSERT_MSG( 0 <= m_gaugePos && m_gaugePos <= m_rangeMax, - _T("invalid gauge position in DoSetGauge()") ); + wxT("invalid gauge position in DoSetGauge()") ); gtk_progress_bar_update( GTK_PROGRESS_BAR(m_widget), m_rangeMax ? ((float)m_gaugePos)/m_rangeMax : 0.); @@ -74,7 +66,13 @@ void wxGauge::DoSetGauge() 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 ) @@ -88,7 +86,7 @@ void wxGauge::SetRange( int range ) void wxGauge::SetValue( int pos ) { - wxCHECK_RET( pos <= m_rangeMax, _T("invalid value in wxGauge::SetValue()") ); + wxCHECK_RET( pos <= m_rangeMax, wxT("invalid value in wxGauge::SetValue()") ); m_gaugePos = pos; @@ -105,11 +103,21 @@ int wxGauge::GetValue() const return m_gaugePos; } -void wxGauge::ApplyWidgetStyle() +wxVisualAttributes wxGauge::GetDefaultAttributes() const { - SetWidgetStyle(); - gtk_widget_set_style( m_widget, m_widgetStyle ); + // Visible gauge colours use a different colour state + return GetDefaultAttributesFromGTKWidget(m_widget, + UseGTKStyleBase(), + GTK_STATE_ACTIVE); + } -#endif // wxUSE_GAUGE +// static +wxVisualAttributes +wxGauge::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant)) +{ + return GetDefaultAttributesFromGTKWidget(gtk_progress_bar_new, + false, GTK_STATE_ACTIVE); +} +#endif // wxUSE_GAUGE