1 ///////////////////////////////////////////////////////////////////////////// 
   4 // Author:      Robert Roebling 
   6 // Copyright:   (c) 1998 Robert Roebling 
   7 // Licence:     wxWindows licence 
   8 ///////////////////////////////////////////////////////////////////////////// 
  10 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) 
  11 #pragma implementation "gauge.h" 
  14 // For compilers that support precompilation, includes "wx.h". 
  15 #include "wx/wxprec.h" 
  23 //----------------------------------------------------------------------------- 
  25 //----------------------------------------------------------------------------- 
  27 IMPLEMENT_DYNAMIC_CLASS(wxGauge
, wxControl
) 
  29 bool wxGauge::Create( wxWindow 
*parent
, 
  35                       const wxValidator
& validator
, 
  36                       const wxString
& name 
) 
  40     if (!PreCreation( parent
, pos
, size 
) || 
  41         !CreateBase( parent
, id
, pos
, size
, style
, validator
, name 
)) 
  43         wxFAIL_MSG( wxT("wxGauge creation failed") ); 
  49     m_widget 
= gtk_progress_bar_new(); 
  50     if ( style 
& wxGA_VERTICAL 
) 
  52         gtk_progress_bar_set_orientation( GTK_PROGRESS_BAR(m_widget
), 
  53                                           GTK_PROGRESS_BOTTOM_TO_TOP 
); 
  56     m_parent
->DoAddChild( this ); 
  65 void wxGauge::DoSetGauge() 
  67     wxASSERT_MSG( 0 <= m_gaugePos 
&& m_gaugePos 
<= m_rangeMax
, 
  68                   _T("invalid gauge position in DoSetGauge()") ); 
  70     gtk_progress_bar_update( GTK_PROGRESS_BAR(m_widget
), 
  71                              m_rangeMax 
? ((float)m_gaugePos
)/m_rangeMax 
: 0.); 
  74 void wxGauge::SetRange( int range 
) 
  77     if (m_gaugePos 
> m_rangeMax
) 
  78         m_gaugePos 
= m_rangeMax
; 
  83 void wxGauge::SetValue( int pos 
) 
  85     wxCHECK_RET( pos 
<= m_rangeMax
, _T("invalid value in wxGauge::SetValue()") ); 
  92 int wxGauge::GetRange() const 
  97 int wxGauge::GetValue() const 
 102 void wxGauge::ApplyWidgetStyle() 
 105     gtk_widget_set_style( m_widget
, m_widgetStyle 
); 
 108 #endif // wxUSE_GAUGE