+#ifndef _WX_GAUGE_H_BASE_
+#define _WX_GAUGE_H_BASE_
+
+#if defined(__GNUG__) && !defined(__APPLE__)
+ #pragma interface "gaugebase.h"
+#endif
+
+#include "wx/defs.h"
+
+#if wxUSE_GAUGE
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const wxChar*) wxGaugeNameStr;
+
+// ----------------------------------------------------------------------------
+// wxGauge: a progress bar
+// ----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxGaugeBase : public wxControl
+{
+public:
+ wxGaugeBase() { }
+ virtual ~wxGaugeBase();
+
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ int range,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxGA_HORIZONTAL,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxGaugeNameStr);
+
+ // set/get the control range
+ virtual void SetRange(int range);
+ virtual int GetRange() const;
+
+ // position
+ virtual void SetValue(int pos);
+ virtual int GetValue() const;
+
+ // appearance params (not implemented for most ports)
+
+ virtual void SetShadowWidth(int w);
+ virtual int GetShadowWidth() const;
+
+ virtual void SetBezelFace(int w);
+ virtual int GetBezelFace() const;
+
+ // overriden base class virtuals
+ virtual bool AcceptsFocus() const { return FALSE; }
+
+protected:
+ // the max position
+ int m_rangeMax;
+
+ // the current position
+ int m_gaugePos;
+
+ DECLARE_NO_COPY_CLASS(wxGaugeBase)
+};
+
+#if defined(__WXUNIVERSAL__)
+ #include "wx/univ/gauge.h"
+#elif defined(__WXMSW__)
+ #ifdef __WIN95__
+ #include "wx/msw/gauge95.h"
+ #define wxGauge wxGauge95
+ #define sm_classwxGauge sm_classwxGauge95
+ #else // !__WIN95__
+ // Gauge no longer supported on 16-bit Windows
+ #endif