]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/gauge.h
Dramatically optimise inserting many items in wxGenericListCtrl.
[wxWidgets.git] / include / wx / msw / gauge.h
CommitLineData
780d37ac 1/////////////////////////////////////////////////////////////////////////////
936f6353
VZ
2// Name: wx/msw/gauge.h
3// Purpose: wxGauge implementation for MSW
780d37ac
JS
4// Author: Julian Smart
5// Modified by:
6// Created: 01/02/97
7// RCS-ID: $Id$
bbcdf8bc 8// Copyright: (c) Julian Smart
65571936 9// Licence: wxWindows licence
780d37ac
JS
10/////////////////////////////////////////////////////////////////////////////
11
936f6353
VZ
12#ifndef _WX_MSW_GAUGE_H_
13#define _WX_MSW_GAUGE_H_
780d37ac 14
f4998a1c 15#if wxUSE_GAUGE
780d37ac 16
53a2db12 17extern WXDLLIMPEXP_DATA_CORE(const char) wxGaugeNameStr[];
780d37ac
JS
18
19// Group box
53a2db12 20class WXDLLIMPEXP_CORE wxGauge : public wxGaugeBase
780d37ac 21{
bfc6fde4 22public:
936f6353
VZ
23 wxGauge() { }
24
25 wxGauge(wxWindow *parent,
26 wxWindowID id,
27 int range,
28 const wxPoint& pos = wxDefaultPosition,
29 const wxSize& size = wxDefaultSize,
30 long style = wxGA_HORIZONTAL,
31 const wxValidator& validator = wxDefaultValidator,
32 const wxString& name = wxGaugeNameStr)
bfc6fde4 33 {
da0f19f8 34 (void)Create(parent, id, range, pos, size, style, validator, name);
bfc6fde4
VZ
35 }
36
da0f19f8
VZ
37 bool Create(wxWindow *parent,
38 wxWindowID id,
39 int range,
40 const wxPoint& pos = wxDefaultPosition,
41 const wxSize& size = wxDefaultSize,
42 long style = wxGA_HORIZONTAL,
43 const wxValidator& validator = wxDefaultValidator,
44 const wxString& name = wxGaugeNameStr);
bfc6fde4 45
da0f19f8
VZ
46 // set gauge range/value
47 virtual void SetRange(int range);
48 virtual void SetValue(int pos);
bfc6fde4 49
4c51a665 50 // overridden base class virtuals
da0f19f8
VZ
51 virtual bool SetForegroundColour(const wxColour& col);
52 virtual bool SetBackgroundColour(const wxColour& col);
780d37ac 53
aaaa6070 54 virtual void Pulse();
6f02a879 55
1c3693e8
PC
56 WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
57
a047aff2
JS
58 // returns true if the platform should explicitly apply a theme border
59 virtual bool CanApplyThemeBorder() const { return false; }
60
6f02a879 61protected:
da0f19f8 62 virtual wxSize DoGetBestSize() const;
fc7a2a60 63
aaaa6070
VZ
64private:
65 // returns true if the control is currently in indeterminate (a.k.a.
66 // "marquee") mode
67 bool IsInIndeterminateMode() const;
68
69 // switch to/from indeterminate mode
70 void SetIndeterminateMode();
71 void SetDeterminateMode();
72
936f6353 73 DECLARE_DYNAMIC_CLASS_NO_COPY(wxGauge)
780d37ac
JS
74};
75
1e6feb95
VZ
76#endif // wxUSE_GAUGE
77
936f6353 78#endif // _WX_MSW_GAUGE_H_