X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a81258bee4e20d3fa9b3d2f6bf3bcd1200d1e5e0..a9249b2eb2a40d8c71f828669045c4ddaa8dc5ff:/src/gtk/gauge.cpp diff --git a/src/gtk/gauge.cpp b/src/gtk/gauge.cpp index bc6f74b995..917ab60307 100644 --- a/src/gtk/gauge.cpp +++ b/src/gtk/gauge.cpp @@ -4,7 +4,7 @@ // Author: Robert Roebling // Id: $Id$ // Copyright: (c) 1998 Robert Roebling -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ @@ -13,6 +13,11 @@ #include "wx/gauge.h" +#if wxUSE_GAUGE + +#include +#include + //----------------------------------------------------------------------------- // wxGauge //----------------------------------------------------------------------------- @@ -23,48 +28,63 @@ bool wxGauge::Create( wxWindow *parent, wxWindowID id, int range, const wxPoint& pos, const wxSize& size, long style, const wxValidator& validator, const wxString& name ) { - m_needParent = TRUE; - - PreCreation( parent, id, pos, size, style, name ); - - SetValidator( validator ); - - m_rangeMax = range; - m_gaugePos = 0; - m_useProgressBar = TRUE; - - m_widget = gtk_progress_bar_new(); - - PostCreation(); - - Show( TRUE ); - - return 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; + } + + m_rangeMax = range; + m_gaugePos = 0; + m_useProgressBar = TRUE; + + m_widget = gtk_progress_bar_new(); + if( style & wxGA_VERTICAL) + gtk_progress_bar_set_orientation( GTK_PROGRESS_BAR(m_widget) , GTK_PROGRESS_BOTTOM_TO_TOP ); + + m_parent->DoAddChild( this ); + + PostCreation(); + + Show( TRUE ); + + return TRUE; } void wxGauge::SetRange( int r ) { - m_rangeMax = r; - if (m_gaugePos > m_rangeMax) m_gaugePos = m_rangeMax; - - gtk_progress_bar_update( GTK_PROGRESS_BAR(m_widget), ((float)m_gaugePos)/m_rangeMax ); + m_rangeMax = r; + if (m_gaugePos > m_rangeMax) m_gaugePos = m_rangeMax; + + gtk_progress_bar_update( GTK_PROGRESS_BAR(m_widget), ((float)m_gaugePos)/m_rangeMax ); } void wxGauge::SetValue( int pos ) { - m_gaugePos = pos; - if (m_gaugePos > m_rangeMax) m_gaugePos = m_rangeMax; - - gtk_progress_bar_update( GTK_PROGRESS_BAR(m_widget), ((float)m_gaugePos)/m_rangeMax ); + m_gaugePos = pos; + if (m_gaugePos > m_rangeMax) m_gaugePos = m_rangeMax; + + gtk_progress_bar_update( GTK_PROGRESS_BAR(m_widget), ((float)m_gaugePos)/m_rangeMax ); } -int wxGauge::GetRange(void) const +int wxGauge::GetRange() const { - return m_rangeMax; + return m_rangeMax; } -int wxGauge::GetValue(void) const +int wxGauge::GetValue() const { - return m_gaugePos; + return m_gaugePos; } +void wxGauge::ApplyWidgetStyle() +{ + SetWidgetStyle(); + gtk_widget_set_style( m_widget, m_widgetStyle ); +} + +#endif // wxUSE_GAUGE +