X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e6feb95a79834836e88143b15d9f424ebe79621..2ac9bfa9b0b8cc78d59f656996358f15fbe2dc26:/include/wx/gauge.h diff --git a/include/wx/gauge.h b/include/wx/gauge.h index 884f126b84..61dd3fa1f6 100644 --- a/include/wx/gauge.h +++ b/include/wx/gauge.h @@ -5,24 +5,43 @@ // Modified by: // Created: 20.02.01 // RCS-ID: $Id$ -// Copyright: (c) 1996-2001 wxWindows team +// Copyright: (c) 1996-2001 wxWidgets team // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// #ifndef _WX_GAUGE_H_BASE_ #define _WX_GAUGE_H_BASE_ -#ifdef __GNUG__ - #pragma implementation "gaugebase.h" -#endif - #include "wx/defs.h" #if wxUSE_GAUGE #include "wx/control.h" -WXDLLEXPORT_DATA(extern const wxChar*) wxGaugeNameStr; +// ---------------------------------------------------------------------------- +// wxGauge style flags +// ---------------------------------------------------------------------------- + +#define wxGA_HORIZONTAL wxHORIZONTAL +#define wxGA_VERTICAL wxVERTICAL + +// Win32 only, is default (and only) on some other platforms +#define wxGA_SMOOTH 0x0020 + +#if WXWIN_COMPATIBILITY_2_6 + // obsolete style + #define wxGA_PROGRESSBAR 0 +#endif // WXWIN_COMPATIBILITY_2_6 + +// GTK and Mac always have native implementation of the indeterminate mode +// wxMSW has native implementation only if comctl32.dll >= 6.00 +#if !defined(__WXGTK20__) && !defined(__WXMAC__) && !defined(__WXCOCOA__) + #define wxGAUGE_EMULATE_INDETERMINATE_MODE 1 +#else + #define wxGAUGE_EMULATE_INDETERMINATE_MODE 0 +#endif + +extern WXDLLEXPORT_DATA(const wxChar) wxGaugeNameStr[]; // ---------------------------------------------------------------------------- // wxGauge: a progress bar @@ -31,6 +50,9 @@ WXDLLEXPORT_DATA(extern const wxChar*) wxGaugeNameStr; class WXDLLEXPORT wxGaugeBase : public wxControl { public: + wxGaugeBase() { m_rangeMax = m_gaugePos = 0; } + virtual ~wxGaugeBase(); + bool Create(wxWindow *parent, wxWindowID id, int range, @@ -40,16 +62,22 @@ public: const wxValidator& validator = wxDefaultValidator, const wxString& name = wxGaugeNameStr); + // determinate mode API + // 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) + // indeterminate mode API + virtual void Pulse(); + // simple accessors + bool IsVertical() const { return HasFlag(wxGA_VERTICAL); } + + // appearance params (not implemented for most ports) virtual void SetShadowWidth(int w); virtual int GetShadowWidth() const; @@ -57,7 +85,7 @@ public: virtual int GetBezelFace() const; // overriden base class virtuals - virtual bool AcceptsFocus() const { return FALSE; } + virtual bool AcceptsFocus() const { return false; } protected: // the max position @@ -65,32 +93,31 @@ protected: // the current position int m_gaugePos; + +#if wxGAUGE_EMULATE_INDETERMINATE_MODE + int m_nDirection; // can be wxRIGHT or wxLEFT +#endif + + 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__ - #include "wx/msw/gaugemsw.h" - #define wxGauge wxGaugeMSW - #define sm_classwxGauge sm_classwxGaugeMSW - #endif + #include "wx/msw/gauge95.h" + #define wxGauge wxGauge95 #elif defined(__WXMOTIF__) #include "wx/motif/gauge.h" -#elif defined(__WXGTK__) +#elif defined(__WXGTK20__) #include "wx/gtk/gauge.h" -#elif defined(__WXQT__) - #include "wx/qt/gauge.h" +#elif defined(__WXGTK__) + #include "wx/gtk1/gauge.h" #elif defined(__WXMAC__) #include "wx/mac/gauge.h" +#elif defined(__WXCOCOA__) + #include "wx/cocoa/gauge.h" #elif defined(__WXPM__) #include "wx/os2/gauge.h" -#elif defined(__WXSTUBS__) - #include "wx/stubs/gauge.h" #endif #endif // wxUSE_GAUGE