]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/gauge.tex
added copy constr
[wxWidgets.git] / docs / latex / wx / gauge.tex
index b3c01d474538c87ba1b5a6a8b5cb6f841d49a452..ddef4738dbb67246005526a1c808ad640cad4509 100644 (file)
@@ -1,6 +1,19 @@
 \section{\class{wxGauge}}\label{wxgauge}
 
 A gauge is a horizontal or vertical bar which shows a quantity (often time).
 \section{\class{wxGauge}}\label{wxgauge}
 
 A gauge is a horizontal or vertical bar which shows a quantity (often time).
+
+wxGauge supports two working modes: determinate and indeterminate progress.
+
+The first is the usual working mode (see \helpref{SetValue}{wxgaugesetvalue}
+and \helpref{SetRange}{wxgaugesetrange}) 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 \helpref{Pulse}{wxgaugepulse}
+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).
+
+wxGauge supports dynamic switch between these two work modes.
+
 There are no user commands for the gauge.
 
 \wxheading{Derived from}
 There are no user commands for the gauge.
 
 \wxheading{Derived from}
@@ -14,14 +27,18 @@ There are no user commands for the gauge.
 
 <wx/gauge.h>
 
 
 <wx/gauge.h>
 
+\wxheading{Library}
+
+\helpref{wxCore}{librarieslist}
+
 \wxheading{Window styles}
 
 \twocolwidtha{5cm}
 \begin{twocollist}\itemsep=0pt
 \twocolitem{\windowstyle{wxGA\_HORIZONTAL}}{Creates a horizontal gauge.}
 \twocolitem{\windowstyle{wxGA\_VERTICAL}}{Creates a vertical gauge.}
 \wxheading{Window styles}
 
 \twocolwidtha{5cm}
 \begin{twocollist}\itemsep=0pt
 \twocolitem{\windowstyle{wxGA\_HORIZONTAL}}{Creates a horizontal gauge.}
 \twocolitem{\windowstyle{wxGA\_VERTICAL}}{Creates a vertical gauge.}
-\twocolitem{\windowstyle{wxGA\_PROGRESSBAR}}{Under Windows 95, creates a horizontal progress bar.}
-\twocolitem{\windowstyle{wxGA\_SMOOTH}}{Under Windows 95, creates smooth progress bar with one pixel wide update step.}
+%\twocolitem{\windowstyle{wxGA\_PROGRESSBAR}}{Obsolete, doesn't do anything any more}
+\twocolitem{\windowstyle{wxGA\_SMOOTH}}{Creates smooth progress bar with one pixel wide update step (not supported by all platforms).}
 \end{twocollist}
 
 See also \helpref{window styles overview}{windowstyles}.
 \end{twocollist}
 
 See also \helpref{window styles overview}{windowstyles}.
@@ -36,7 +53,8 @@ wxGauge is read-only so generates no events.
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
-\membersection{wxGauge::wxGauge}\label{wxgaugeconstr}
+
+\membersection{wxGauge::wxGauge}\label{wxgaugector}
 
 \func{}{wxGauge}{\void}
 
 
 \func{}{wxGauge}{\void}
 
@@ -54,7 +72,7 @@ Constructor, creating and showing a gauge.
 
 \docparam{id}{Window identifier.}
 
 
 \docparam{id}{Window identifier.}
 
-\docparam{range}{Integer range (maximum value) of the gauge.}
+\docparam{range}{Integer range (maximum value) of the gauge. It is ignored when the gauge is used in indeterminate mode.}
 
 \docparam{pos}{Window position.}
 
 
 \docparam{pos}{Window position.}
 
@@ -64,30 +82,28 @@ Constructor, creating and showing a gauge.
 
 \docparam{name}{Window name.}
 
 
 \docparam{name}{Window name.}
 
-\wxheading{Remarks}
-
-Under Windows 95, there are two different styles of gauge: normal gauge, and progress bar (when
-the {\bf wxGA\_PROGRESSBAR} style is used). A progress bar is always horizontal.
-
 \wxheading{See also}
 
 \helpref{wxGauge::Create}{wxgaugecreate}
 
 \wxheading{See also}
 
 \helpref{wxGauge::Create}{wxgaugecreate}
 
-\membersection{wxGauge::\destruct{wxGauge}}
+
+\membersection{wxGauge::\destruct{wxGauge}}\label{wxgaugedtor}
 
 \func{}{\destruct{wxGauge}}{\void}
 
 Destructor, destroying the gauge.
 
 
 \func{}{\destruct{wxGauge}}{\void}
 
 Destructor, destroying the gauge.
 
+
 \membersection{wxGauge::Create}\label{wxgaugecreate}
 
 \func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id},\rtfsp
 \param{int}{ range}, \param{const wxPoint\& }{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
 \param{long}{ style = wxGA\_HORIZONTAL}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``gauge"}}
 
 \membersection{wxGauge::Create}\label{wxgaugecreate}
 
 \func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id},\rtfsp
 \param{int}{ range}, \param{const wxPoint\& }{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
 \param{long}{ style = wxGA\_HORIZONTAL}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``gauge"}}
 
-Creates the gauge for two-step construction. See \helpref{wxGauge::wxGauge}{wxgaugeconstr}\rtfsp
+Creates the gauge for two-step construction. See \helpref{wxGauge::wxGauge}{wxgaugector}\rtfsp
 for further details.
 
 for further details.
 
+
 \membersection{wxGauge::GetBezelFace}\label{wxgaugegetbezelface}
 
 \constfunc{int}{GetBezelFace}{\void}
 \membersection{wxGauge::GetBezelFace}\label{wxgaugegetbezelface}
 
 \constfunc{int}{GetBezelFace}{\void}
@@ -96,12 +112,13 @@ Returns the width of the 3D bezel face.
 
 \wxheading{Remarks}
 
 
 \wxheading{Remarks}
 
-Windows only, not for {\bf wxGA\_PROGRESSBAR}.
+This method is not implemented (returns $0$) for most platforms.
 
 \wxheading{See also}
 
 \helpref{wxGauge::SetBezelFace}{wxgaugesetbezelface}
 
 
 \wxheading{See also}
 
 \helpref{wxGauge::SetBezelFace}{wxgaugesetbezelface}
 
+
 \membersection{wxGauge::GetRange}\label{wxgaugegetrange}
 
 \constfunc{int}{GetRange}{\void}
 \membersection{wxGauge::GetRange}\label{wxgaugegetrange}
 
 \constfunc{int}{GetRange}{\void}
@@ -112,6 +129,7 @@ Returns the maximum position of the gauge.
 
 \helpref{wxGauge::SetRange}{wxgaugesetrange}
 
 
 \helpref{wxGauge::SetRange}{wxgaugesetrange}
 
+
 \membersection{wxGauge::GetShadowWidth}\label{wxgaugegetshadowwidth}
 
 \constfunc{int}{GetShadowWidth}{\void}
 \membersection{wxGauge::GetShadowWidth}\label{wxgaugegetshadowwidth}
 
 \constfunc{int}{GetShadowWidth}{\void}
@@ -120,12 +138,13 @@ Returns the 3D shadow margin width.
 
 \wxheading{Remarks}
 
 
 \wxheading{Remarks}
 
-Windows only, not for {\bf wxGA\_PROGRESSBAR}.
+This method is not implemented (returns $0$) for most platforms.
 
 \wxheading{See also}
 
 \helpref{wxGauge::SetShadowWidth}{wxgaugesetshadowwidth}
 
 
 \wxheading{See also}
 
 \helpref{wxGauge::SetShadowWidth}{wxgaugesetshadowwidth}
 
+
 \membersection{wxGauge::GetValue}\label{wxgaugegetvalue}
 
 \constfunc{int}{GetValue}{\void}
 \membersection{wxGauge::GetValue}\label{wxgaugegetvalue}
 
 \constfunc{int}{GetValue}{\void}
@@ -136,6 +155,15 @@ Returns the current position of the gauge.
 
 \helpref{wxGauge::SetValue}{wxgaugesetvalue}
 
 
 \helpref{wxGauge::SetValue}{wxgaugesetvalue}
 
+
+\membersection{wxGauge::IsVertical}\label{wxgaugeisvertical}
+
+\constfunc{bool}{IsVertical}{\void}
+
+Returns \true if the gauge is vertical (has \texttt{wxGA\_VERTICAL} style) and 
+\false otherwise.
+
+
 \membersection{wxGauge::SetBezelFace}\label{wxgaugesetbezelface}
 
 \func{void}{SetBezelFace}{\param{int }{width}}
 \membersection{wxGauge::SetBezelFace}\label{wxgaugesetbezelface}
 
 \func{void}{SetBezelFace}{\param{int }{width}}
@@ -144,22 +172,25 @@ Sets the 3D bezel face width.
 
 \wxheading{Remarks}
 
 
 \wxheading{Remarks}
 
-Windows only, not for {\bf wxGA\_PROGRESSBAR}.
+This method is not implemented (doesn't do anything) for most platforms.
 
 \wxheading{See also}
 
 \helpref{wxGauge::GetBezelFace}{wxgaugegetbezelface}
 
 
 \wxheading{See also}
 
 \helpref{wxGauge::GetBezelFace}{wxgaugegetbezelface}
 
+
 \membersection{wxGauge::SetRange}\label{wxgaugesetrange}
 
 \func{void}{SetRange}{\param{int }{range}}
 
 Sets the range (maximum value) of the gauge.
 \membersection{wxGauge::SetRange}\label{wxgaugesetrange}
 
 \func{void}{SetRange}{\param{int }{range}}
 
 Sets the range (maximum value) of the gauge.
+This function makes the gauge switch to determinate mode, if it's not already.
 
 \wxheading{See also}
 
 \helpref{wxGauge::GetRange}{wxgaugegetrange}
 
 
 \wxheading{See also}
 
 \helpref{wxGauge::GetRange}{wxgaugegetrange}
 
+
 \membersection{wxGauge::SetShadowWidth}\label{wxgaugesetshadowwidth}
 
 \func{void}{SetShadowWidth}{\param{int }{width}}
 \membersection{wxGauge::SetShadowWidth}\label{wxgaugesetshadowwidth}
 
 \func{void}{SetShadowWidth}{\param{int }{width}}
@@ -168,13 +199,18 @@ Sets the 3D shadow width.
 
 \wxheading{Remarks}
 
 
 \wxheading{Remarks}
 
-Windows only, not for {\bf wxGA\_PROGRESSBAR}.
+This method is not implemented (doesn't do anything) for most platforms.
+
 
 \membersection{wxGauge::SetValue}\label{wxgaugesetvalue}
 
 \func{void}{SetValue}{\param{int }{pos}}
 
 
 \membersection{wxGauge::SetValue}\label{wxgaugesetvalue}
 
 \func{void}{SetValue}{\param{int }{pos}}
 
-Sets the position of the gauge.
+Sets the position of the gauge. The \arg{pos} must be between $0$ and the gauge
+range as returned by \helpref{GetRange}{wxgaugegetrange}, inclusive.
+
+This function makes the gauge switch to determinate mode, if it was in
+indeterminate mode before.
 
 \wxheading{Parameters}
 
 
 \wxheading{Parameters}
 
@@ -185,3 +221,14 @@ Sets the position of the gauge.
 \helpref{wxGauge::GetValue}{wxgaugegetvalue}
 
 
 \helpref{wxGauge::GetValue}{wxgaugegetvalue}
 
 
+\membersection{wxGauge::Pulse}\label{wxgaugepulse}
+
+\func{void}{Pulse}{\void}
+
+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 \helpref{GetValue}{wxgaugegetvalue}
+is undefined and thus you need to explicitely call \helpref{SetValue}{wxgaugesetvalue} if you
+want to restore the determinate mode.
+