]> git.saurik.com Git - wxWidgets.git/blame - interface/wx/gauge.h
Doc and comment cleanup, fixes, tweaks
[wxWidgets.git] / interface / wx / gauge.h
CommitLineData
23324ae1
FM
1/////////////////////////////////////////////////////////////////////////////
2// Name: gauge.h
e54c96f1 3// Purpose: interface of wxGauge
23324ae1
FM
4// Author: wxWidgets team
5// RCS-ID: $Id$
6// Licence: wxWindows license
7/////////////////////////////////////////////////////////////////////////////
8
9/**
10 @class wxGauge
7c913512 11
3d2cf884
BP
12 A gauge is a horizontal or vertical bar which shows a quantity (often
13 time).
7c913512 14
23324ae1 15 wxGauge supports two working modes: determinate and indeterminate progress.
7c913512 16
3d2cf884
BP
17 The first is the usual working mode (see SetValue() and SetRange()) while
18 the second can be used when the program is doing some processing but you
19 don't know how much progress is being done. In this case, you can
20 periodically call the Pulse() function to make the progress bar switch to
21 indeterminate mode (graphically it's usually a set of blocks which move or
22 bounce in the bar control).
7c913512 23
23324ae1 24 wxGauge supports dynamic switch between these two work modes.
7c913512 25
23324ae1 26 There are no user commands for the gauge.
7c913512 27
23324ae1 28 @beginStyleTable
8c6791e4 29 @style{wxGA_HORIZONTAL}
23324ae1 30 Creates a horizontal gauge.
8c6791e4 31 @style{wxGA_VERTICAL}
23324ae1 32 Creates a vertical gauge.
8c6791e4 33 @style{wxGA_SMOOTH}
23324ae1
FM
34 Creates smooth progress bar with one pixel wide update step (not
35 supported by all platforms).
36 @endStyleTable
7c913512 37
23324ae1
FM
38 @library{wxcore}
39 @category{ctrl}
3d2cf884 40 <!-- @appearance{gauge.png} -->
7c913512 41
e54c96f1 42 @see wxSlider, wxScrollBar
23324ae1
FM
43*/
44class wxGauge : public wxControl
45{
46public:
3d2cf884
BP
47 /**
48 Default constructor.
49 */
50 wxGauge();
23324ae1
FM
51 /**
52 Constructor, creating and showing a gauge.
3c4f71cc 53
7c913512 54 @param parent
4cc4bfaf 55 Window parent.
7c913512 56 @param id
4cc4bfaf 57 Window identifier.
7c913512 58 @param range
3d2cf884
BP
59 Integer range (maximum value) of the gauge. It is ignored when the
60 gauge is used in indeterminate mode.
7c913512 61 @param pos
4cc4bfaf 62 Window position.
7c913512 63 @param size
4cc4bfaf 64 Window size.
7c913512 65 @param style
3d2cf884 66 Gauge style.
7c913512 67 @param name
4cc4bfaf 68 Window name.
3c4f71cc 69
4cc4bfaf 70 @see Create()
23324ae1 71 */
7c913512
FM
72 wxGauge(wxWindow* parent, wxWindowID id, int range,
73 const wxPoint& pos = wxDefaultPosition,
74 const wxSize& size = wxDefaultSize,
75 long style = wxGA_HORIZONTAL,
76 const wxValidator& validator = wxDefaultValidator,
77 const wxString& name = "gauge");
23324ae1
FM
78
79 /**
80 Destructor, destroying the gauge.
81 */
adaaa686 82 virtual ~wxGauge();
23324ae1
FM
83
84 /**
3d2cf884
BP
85 Creates the gauge for two-step construction. See wxGauge() for further
86 details.
23324ae1
FM
87 */
88 bool Create(wxWindow* parent, wxWindowID id, int range,
89 const wxPoint& pos = wxDefaultPosition,
90 const wxSize& size = wxDefaultSize,
91 long style = wxGA_HORIZONTAL,
92 const wxValidator& validator = wxDefaultValidator,
93 const wxString& name = "gauge");
94
95 /**
96 Returns the width of the 3D bezel face.
3c4f71cc 97
23324ae1 98 @remarks This method is not implemented (returns 0) for most platforms.
3c4f71cc 99
4cc4bfaf 100 @see SetBezelFace()
23324ae1 101 */
328f5751 102 int GetBezelFace() const;
23324ae1
FM
103
104 /**
105 Returns the maximum position of the gauge.
3c4f71cc 106
4cc4bfaf 107 @see SetRange()
23324ae1 108 */
328f5751 109 int GetRange() const;
23324ae1
FM
110
111 /**
112 Returns the 3D shadow margin width.
3c4f71cc 113
23324ae1 114 @remarks This method is not implemented (returns 0) for most platforms.
3c4f71cc 115
4cc4bfaf 116 @see SetShadowWidth()
23324ae1 117 */
328f5751 118 int GetShadowWidth() const;
23324ae1
FM
119
120 /**
121 Returns the current position of the gauge.
3c4f71cc 122
4cc4bfaf 123 @see SetValue()
23324ae1 124 */
328f5751 125 int GetValue() const;
23324ae1
FM
126
127 /**
7c913512 128 Returns @true if the gauge is vertical (has @c wxGA_VERTICAL style) and
23324ae1
FM
129 @false otherwise.
130 */
328f5751 131 bool IsVertical() const;
23324ae1
FM
132
133 /**
3d2cf884
BP
134 Switch the gauge to indeterminate mode (if required) and makes the
135 gauge move a bit to indicate the user that some progress has been made.
136
137 @note After calling this function the value returned by GetValue() is
138 undefined and thus you need to explicitely call SetValue() if you
139 want to restore the determinate mode.
23324ae1 140 */
adaaa686 141 virtual void Pulse();
23324ae1
FM
142
143 /**
144 Sets the 3D bezel face width.
3c4f71cc 145
23324ae1 146 @remarks This method is not implemented (doesn't do anything) for most
4cc4bfaf 147 platforms.
3c4f71cc 148
4cc4bfaf 149 @see GetBezelFace()
23324ae1
FM
150 */
151 void SetBezelFace(int width);
152
153 /**
3d2cf884
BP
154 Sets the range (maximum value) of the gauge. This function makes the
155 gauge switch to determinate mode, if it's not already.
3c4f71cc 156
4cc4bfaf 157 @see GetRange()
23324ae1
FM
158 */
159 void SetRange(int range);
160
161 /**
162 Sets the 3D shadow width.
3c4f71cc 163
23324ae1 164 @remarks This method is not implemented (doesn't do anything) for most
4cc4bfaf 165 platforms.
23324ae1
FM
166 */
167 void SetShadowWidth(int width);
168
169 /**
3d2cf884
BP
170 Sets the position of the gauge. The @a pos must be between 0 and the
171 gauge range as returned by GetRange(), inclusive.
172
23324ae1
FM
173 This function makes the gauge switch to determinate mode, if it was in
174 indeterminate mode before.
3c4f71cc 175
7c913512 176 @param pos
4cc4bfaf 177 Position for the gauge level.
3c4f71cc 178
4cc4bfaf 179 @see GetValue()
23324ae1
FM
180 */
181 void SetValue(int pos);
182};
e54c96f1 183