X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/da87a1ca42a81c7b7b69cb013eb52d09cd5c1b70..db6150d59a04dd19dcff0c639f3b7df6d80d5f1b:/include/wx/msw/gauge.h diff --git a/include/wx/msw/gauge.h b/include/wx/msw/gauge.h index e4df50bc8a..69682c7afb 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 and Markus Holzem -// Licence: wxWindows license +// Copyright: (c) Julian Smart +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifndef __GAUGEH__ -#define __GAUGEH__ - -#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 - // __GAUGEH__ +#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); + + // overriden 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_