X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2bda0e173844e8e0f8acf4e8ad8b5c26e5c6fe5d..f41d5991df3be094fbedc5eb8fd51c87dc0a8aaa:/include/wx/msw/gauge.h diff --git a/include/wx/msw/gauge.h b/include/wx/msw/gauge.h index 070d25ca46..69682c7afb 100644 --- a/include/wx/msw/gauge.h +++ b/include/wx/msw/gauge.h @@ -1,81 +1,78 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: gauge.h -// Purpose: wxGauge class +// 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__ +#ifndef _WX_MSW_GAUGE_H_ +#define _WX_MSW_GAUGE_H_ -#ifdef __GNUG__ -#pragma interface "gauge.h" -#endif +#if wxUSE_GAUGE -#include "wx/control.h" - -WXDLLEXPORT_DATA(extern const char*) wxGaugeNameStr; +extern WXDLLIMPEXP_DATA_CORE(const char) wxGaugeNameStr[]; // Group box -class WXDLLEXPORT wxGauge: public wxControl +class WXDLLIMPEXP_CORE wxGauge : public wxGaugeBase { - DECLARE_DYNAMIC_CLASS(wxGauge) - public: - inline wxGauge(void) { m_rangeMax = 0; m_gaugePos = 0; m_useProgressBar = FALSE; } - - inline wxGauge(wxWindow *parent, const wxWindowID id, - const int range, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - const long style = wxGA_HORIZONTAL, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxGaugeNameStr) - { - Create(parent, id, range, pos, size, style, validator, name); - } - - bool Create(wxWindow *parent, const wxWindowID id, - const int range, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - const long style = wxGA_HORIZONTAL, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxGaugeNameStr); - - void SetShadowWidth(const int w); - void SetBezelFace(const int w); - void SetRange(const int r); - void SetValue(const int pos); - - int GetShadowWidth(void) const ; - int GetBezelFace(void) const ; - int GetRange(void) const ; - int GetValue(void) const ; - - void SetForegroundColour(const wxColour& col); - void SetBackgroundColour(const wxColour& col); - - // Backward compatibility -#if WXWIN_COMPATIBILITY - inline void SetButtonColour(const wxColour& col) { SetForegroundColour(col); } -#endif - - void SetSize(const int x, const int y, const int width, const int height, const int sizeFlags = wxSIZE_AUTO); - - // Are we a Win95 progress bar, or a normal gauge? - inline bool GetProgressBar(void) const { return m_useProgressBar; } - - virtual void Command(wxCommandEvent& WXUNUSED(event)) {} ; - - protected: - int m_rangeMax; - int m_gaugePos; - bool m_useProgressBar; +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 - // __GAUGEH__ +#endif // wxUSE_GAUGE + +#endif // _WX_MSW_GAUGE_H_