2008-03-08 13:52:38 +00:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: gauge.h
|
2008-03-10 15:24:38 +00:00
|
|
|
// Purpose: interface of wxGauge
|
2008-03-08 13:52:38 +00:00
|
|
|
// Author: wxWidgets team
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Licence: wxWindows license
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
/**
|
|
|
|
@class wxGauge
|
|
|
|
@wxheader{gauge.h}
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
A gauge is a horizontal or vertical bar which shows a quantity (often time).
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
wxGauge supports two working modes: determinate and indeterminate progress.
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
The first is the usual working mode (see wxGauge::SetValue
|
|
|
|
and wxGauge::SetRange) while the second can be used when
|
|
|
|
the program is doing some processing but you don't know how much progress is
|
|
|
|
being done.
|
|
|
|
In this case, you can periodically call the wxGauge::Pulse
|
|
|
|
function to make the progress bar switch to indeterminate mode (graphically
|
|
|
|
it's usually a set of blocks which move or bounce in the bar control).
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
wxGauge supports dynamic switch between these two work modes.
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
There are no user commands for the gauge.
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
@beginStyleTable
|
|
|
|
@style{wxGA_HORIZONTAL}:
|
|
|
|
Creates a horizontal gauge.
|
|
|
|
@style{wxGA_VERTICAL}:
|
|
|
|
Creates a vertical gauge.
|
|
|
|
@style{wxGA_SMOOTH}:
|
|
|
|
Creates smooth progress bar with one pixel wide update step (not
|
|
|
|
supported by all platforms).
|
|
|
|
@endStyleTable
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
@library{wxcore}
|
|
|
|
@category{ctrl}
|
|
|
|
@appearance{gauge.png}
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-10 15:24:38 +00:00
|
|
|
@see wxSlider, wxScrollBar
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
class wxGauge : public wxControl
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
//@{
|
|
|
|
/**
|
|
|
|
Constructor, creating and showing a gauge.
|
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param parent
|
2008-03-09 12:33:59 +00:00
|
|
|
Window parent.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
Window identifier.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param range
|
2008-03-09 12:33:59 +00:00
|
|
|
Integer range (maximum value) of the gauge. It is ignored when the gauge is
|
2008-03-08 13:52:38 +00:00
|
|
|
used in indeterminate mode.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param pos
|
2008-03-09 12:33:59 +00:00
|
|
|
Window position.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param size
|
2008-03-09 12:33:59 +00:00
|
|
|
Window size.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param style
|
2008-03-09 12:33:59 +00:00
|
|
|
Gauge style. See wxGauge.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param name
|
2008-03-09 12:33:59 +00:00
|
|
|
Window name.
|
2008-03-08 13:52:38 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Create()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
wxGauge();
|
2008-03-08 14:43:31 +00:00
|
|
|
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 = "gauge");
|
2008-03-08 13:52:38 +00:00
|
|
|
//@}
|
|
|
|
|
|
|
|
/**
|
|
|
|
Destructor, destroying the gauge.
|
|
|
|
*/
|
|
|
|
~wxGauge();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Creates the gauge for two-step construction. See wxGauge()
|
|
|
|
for further details.
|
|
|
|
*/
|
|
|
|
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 = "gauge");
|
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the width of the 3D bezel face.
|
|
|
|
|
|
|
|
@remarks This method is not implemented (returns 0) for most platforms.
|
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see SetBezelFace()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
int GetBezelFace() const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the maximum position of the gauge.
|
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see SetRange()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
int GetRange() const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the 3D shadow margin width.
|
|
|
|
|
|
|
|
@remarks This method is not implemented (returns 0) for most platforms.
|
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see SetShadowWidth()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
int GetShadowWidth() const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the current position of the gauge.
|
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see SetValue()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
int GetValue() const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
2008-03-08 14:43:31 +00:00
|
|
|
Returns @true if the gauge is vertical (has @c wxGA_VERTICAL style) and
|
2008-03-08 13:52:38 +00:00
|
|
|
@false otherwise.
|
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
bool IsVertical() const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Switch the gauge to indeterminate mode (if required) and makes the gauge move
|
|
|
|
a bit to indicate the user that some progress has been made.
|
|
|
|
Note that after calling this function the value returned by GetValue()
|
|
|
|
is undefined and thus you need to explicitely call SetValue() if you
|
|
|
|
want to restore the determinate mode.
|
|
|
|
*/
|
|
|
|
void Pulse();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the 3D bezel face width.
|
|
|
|
|
|
|
|
@remarks This method is not implemented (doesn't do anything) for most
|
2008-03-09 12:33:59 +00:00
|
|
|
platforms.
|
2008-03-08 13:52:38 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see GetBezelFace()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
void SetBezelFace(int width);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the range (maximum value) of the gauge.
|
|
|
|
This function makes the gauge switch to determinate mode, if it's not already.
|
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see GetRange()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
void SetRange(int range);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the 3D shadow width.
|
|
|
|
|
|
|
|
@remarks This method is not implemented (doesn't do anything) for most
|
2008-03-09 12:33:59 +00:00
|
|
|
platforms.
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
void SetShadowWidth(int width);
|
|
|
|
|
|
|
|
/**
|
2008-03-09 12:33:59 +00:00
|
|
|
Sets the position of the gauge. The @a pos must be between 0 and the gauge
|
2008-03-08 13:52:38 +00:00
|
|
|
range as returned by GetRange(), inclusive.
|
|
|
|
This function makes the gauge switch to determinate mode, if it was in
|
|
|
|
indeterminate mode before.
|
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param pos
|
2008-03-09 12:33:59 +00:00
|
|
|
Position for the gauge level.
|
2008-03-08 13:52:38 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see GetValue()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
void SetValue(int pos);
|
|
|
|
};
|
2008-03-10 15:24:38 +00:00
|
|
|
|