// we are going via the base class in case there is
// some change behind the values by it
wxGaugeBase::SetRange( r ) ;
- if ( m_peer && m_peer->Ok() )
+ if ( m_peer && m_peer->Ok() ){
+ // switch back to determinate mode if not there already
+ if ( m_peer->GetData<Boolean>( kControlNoPart, kControlProgressBarIndeterminateTag ) != false )
+ {
+ m_peer->SetData<Boolean>( kControlNoPart, kControlProgressBarIndeterminateTag, (Boolean)false );
+ }
+
m_peer->SetMaximum( GetRange() ) ;
+ }
}
void wxGauge::SetValue(int pos)
if ( m_peer && m_peer->Ok() )
{
+ // switch back to determinate mode if not there already
+ if ( m_peer->GetData<Boolean>( kControlNoPart, kControlProgressBarIndeterminateTag ) != false )
+ {
+ m_peer->SetData<Boolean>( kControlNoPart, kControlProgressBarIndeterminateTag, (Boolean)false );
+ }
+
m_peer->SetValue( GetValue() ) ;
// turn off animation in the unnecessary situations as this is consuming a lot of CPU otherwise
return m_gaugePos ;
}
+void wxGauge::Pulse()
+{
+ if ( m_peer && m_peer->Ok() )
+ {
+ if ( m_peer->GetData<Boolean>( kControlNoPart, kControlProgressBarIndeterminateTag ) != true )
+ {
+ m_peer->SetData<Boolean>( kControlNoPart, kControlProgressBarIndeterminateTag, true);
+ }
+
+ if ( m_peer->GetData<Boolean>( kControlEntireControl, kControlProgressBarAnimatingTag ) != true )
+ {
+ m_peer->SetData<Boolean>( kControlEntireControl, kControlProgressBarAnimatingTag, true ) ;
+ }
+ }
+}
+
#endif // wxUSE_GAUGE