X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bbcdf8bc7ca806d8278c7cb6d09d5590378b67d8..49a63afbad7646668df343d29edd88458bc7e0a9:/include/wx/msw/gauge.h?ds=sidebyside diff --git a/include/wx/msw/gauge.h b/include/wx/msw/gauge.h index 0751cada22..4ddbd3bd0e 100644 --- a/include/wx/msw/gauge.h +++ b/include/wx/msw/gauge.h @@ -1,30 +1,78 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: gauge.h -// Purpose: wxGauge header, includes gauge class headers as appropriate +// Name: wx/msw/gauge.h +// Purpose: wxGauge implementation for MSW // Author: Julian Smart // Modified by: // Created: 01/02/97 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifndef _WX_GAUGE_H_ -#define _WX_GAUGE_H_ - -#ifdef __GNUG__ -#pragma interface "gauge.h" -#endif - -#ifdef __WIN95__ -#include "wx/msw/gauge95.h" -#define wxGauge wxGauge95 -#define classwxGauge classwxGauge95 -#else -#include "wx/msw/gaugemsw.h" -#define wxGauge wxGaugeMSW -#define classwxGauge classwxGaugeMSW -#endif - -#endif - // _WX_GAUGE_H_ +#ifndef _WX_MSW_GAUGE_H_ +#define _WX_MSW_GAUGE_H_ + +#if wxUSE_GAUGE + +extern WXDLLIMPEXP_DATA_CORE(const char) wxGaugeNameStr[]; + +// Group box +class WXDLLIMPEXP_CORE wxGauge : public wxGaugeBase +{ +public: + wxGauge() { } + + wxGauge(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) + { + (void)Create(parent, id, range, pos, size, style, validator, name); + } + + 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 gauge range/value + virtual void SetRange(int range); + virtual void SetValue(int pos); + + // overridden base class virtuals + virtual bool SetForegroundColour(const wxColour& col); + virtual bool SetBackgroundColour(const wxColour& col); + + virtual void Pulse(); + + WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const; + + // returns true if the platform should explicitly apply a theme border + virtual bool CanApplyThemeBorder() const { return false; } + +protected: + virtual wxSize DoGetBestSize() const; + +private: + // returns true if the control is currently in indeterminate (a.k.a. + // "marquee") mode + bool IsInIndeterminateMode() const; + + // switch to/from indeterminate mode + void SetIndeterminateMode(); + void SetDeterminateMode(); + + DECLARE_DYNAMIC_CLASS_NO_COPY(wxGauge) +}; + +#endif // wxUSE_GAUGE + +#endif // _WX_MSW_GAUGE_H_