]> git.saurik.com Git - wxWidgets.git/blob - docs/latex/wx/busyinfo.tex
First step in background erase optimization
[wxWidgets.git] / docs / latex / wx / busyinfo.tex
1 \section{\class{wxBusyInfo}}\label{wxbusyinfo}
2
3 This class makes it easy to tell your user that the program is temporarily busy.
4 Just create a wxBusyInfo object on the stack, and within the current scope,
5 a message window will be shown.
6
7 For example:
8
9 \begin{verbatim}
10 wxBusyInfo wait("Please wait, working...");
11
12 for (int i = 0; i < 100000; i++)
13 {
14 DoACalculation();
15 }
16 \end{verbatim}
17
18 It works by creating a window in the constructor,
19 and deleting it in the destructor.
20
21 You may also want to call wxTheApp->Yield() to refresh the window
22 periodically (in case it had been obscured by other windows, for
23 example) like this:
24
25 \begin{verbatim}
26 wxWindowDisabler disableAll;
27
28 wxBusyInfo wait("Please wait, working...");
29
30 for (int i = 0; i < 100000; i++)
31 {
32 DoACalculation();
33
34 if ( !(i % 1000) )
35 wxTheApp->Yield();
36 }
37 \end{verbatim}
38
39 but take care to not cause undesirable reentrancies when doing it (see
40 \helpref{wxApp::Yield()}{wxappyield} for more details). The simplest way to do
41 it is to use \helpref{wxWindowDisabler}{wxwindowdisabler} class as illustrated
42 in the above example.
43
44 \wxheading{Derived from}
45
46 None
47
48 \wxheading{Include files}
49
50 <wx/busyinfo.h>
51
52 \latexignore{\rtfignore{\wxheading{Members}}}
53
54 \membersection{wxBusyInfo::wxBusyInfo}
55
56 \func{}{wxBusyInfo}{\param{const wxString\&}{ msg}, \param{wxParent }{*parent = NULL}}
57
58 Constructs a busy info window as child of {\it parent} and displays {\it msg}
59 in it.
60
61 {\bf NB:} If {\it parent} is not {\tt NULL} you must ensure that it is not
62 closed while the busy info is shown.
63
64 \membersection{wxBusyInfo::\destruct{wxBusyInfo}}
65
66 \func{}{\destruct{wxBusyInfo}}{\void}
67
68 Hides and closes the window containing the information text.
69