X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9d2c19f1367399be8d3220fa1c0fcdcb0ff6b6ae..726cc8697cd44a41b43257f05ca8cdd42b71a711:/src/gtk/gauge.cpp diff --git a/src/gtk/gauge.cpp b/src/gtk/gauge.cpp index 25beb33bbe..b867c30fa8 100644 --- a/src/gtk/gauge.cpp +++ b/src/gtk/gauge.cpp @@ -20,8 +20,6 @@ // wxGauge //----------------------------------------------------------------------------- -IMPLEMENT_DYNAMIC_CLASS(wxGauge, wxControl) - bool wxGauge::Create( wxWindow *parent, wxWindowID id, int range, @@ -31,8 +29,6 @@ bool wxGauge::Create( wxWindow *parent, const wxValidator& validator, const wxString& name ) { - m_needParent = true; - if (!PreCreation( parent, pos, size ) || !CreateBase( parent, id, pos, size, style, validator, name )) { @@ -43,16 +39,20 @@ bool wxGauge::Create( wxWindow *parent, m_rangeMax = range; m_widget = gtk_progress_bar_new(); + g_object_ref(m_widget); if ( style & wxGA_VERTICAL ) { gtk_progress_bar_set_orientation( GTK_PROGRESS_BAR(m_widget), GTK_PROGRESS_BOTTOM_TO_TOP ); } + // when using the gauge in indeterminate mode, we need this: + gtk_progress_bar_set_pulse_step(GTK_PROGRESS_BAR (m_widget), 0.05); + m_parent->DoAddChild( this ); PostCreation(size); - SetBestSize(size); + SetInitialSize(size); return true; } @@ -60,7 +60,7 @@ bool wxGauge::Create( wxWindow *parent, 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_set_fraction (GTK_PROGRESS_BAR (m_widget), m_rangeMax ? ((double)m_gaugePos)/m_rangeMax : 0.0); @@ -88,7 +88,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,6 +105,11 @@ int wxGauge::GetValue() const return m_gaugePos; } +void wxGauge::Pulse() +{ + gtk_progress_bar_pulse(GTK_PROGRESS_BAR (m_widget)); +} + wxVisualAttributes wxGauge::GetDefaultAttributes() const { // Visible gauge colours use a different colour state