For example:
\begin{verbatim}
- wxBusyInfo wait("Please wait, working...");
+ wxBusyInfo wait("Please wait, working...");
- for (int i = 0; i < 100000; i++)
- DoACalculation();
+ for (int i = 0; i < 100000; i++)
+ {
+ DoACalculation();
+ }
\end{verbatim}
It works by creating a window in the constructor,
and deleting it in the destructor.
+You may also want to call wxTheApp->Yield() to refresh the window
+periodically (in case it had been obscured by other windows, for
+example) like this:
+
+\begin{verbatim}
+ wxWindowDisabler disableAll;
+
+ wxBusyInfo wait("Please wait, working...");
+
+ for (int i = 0; i < 100000; i++)
+ {
+ DoACalculation();
+
+ if ( !(i % 1000) )
+ wxTheApp->Yield();
+ }
+\end{verbatim}
+
+but take care to not cause undesirable reentrancies when doing it (see
+\helpref{wxApp::Yield()}{wxappyield} for more details). The simplest way to do
+it is to use \helpref{wxWindowDisabler}{wxwindowdisabler} class as illustrated
+in the above example.
+
\wxheading{Derived from}
None
\membersection{wxBusyInfo::wxBusyInfo}
-\func{}{wxBusyInfo}{\param{const wxString\&}{ msg}}
+\func{}{wxBusyInfo}{\param{const wxString\&}{ msg}, \param{wxParent }{*parent = NULL}}
+
+Constructs a busy info window as child of {\it parent} and displays {\it msg}
+in it.
+
+{\bf NB:} If {\it parent} is not {\tt NULL} you must ensure that it is not
+closed while the busy info is shown.
+
+\membersection{wxBusyInfo::\destruct{wxBusyInfo}}
+
+\func{}{\destruct{wxBusyInfo}}{\void}
-Constructs a busy info object, displays {\it msg}.
+Hides and closes the window containing the information text.