]> git.saurik.com Git - wxWidgets.git/blob - interface/wx/busyinfo.h
supporting alignment in single line controls, see #14452
[wxWidgets.git] / interface / wx / busyinfo.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: busyinfo.h
3 // Purpose: interface of wxBusyInfo
4 // Author: wxWidgets team
5 // RCS-ID: $Id$
6 // Licence: wxWindows licence
7 /////////////////////////////////////////////////////////////////////////////
8
9 /**
10 @class wxBusyInfo
11
12 This class makes it easy to tell your user that the program is temporarily busy.
13 Just create a wxBusyInfo object on the stack, and within the current scope,
14 a message window will be shown.
15
16 For example:
17
18 @code
19 wxBusyInfo wait("Please wait, working...");
20
21 for (int i = 0; i < 100000; i++)
22 {
23 DoACalculation();
24 }
25 @endcode
26
27 It works by creating a window in the constructor, and deleting it
28 in the destructor.
29
30 You may also want to call wxTheApp->Yield() to refresh the window
31 periodically (in case it had been obscured by other windows, for
32 example) like this:
33
34 @code
35 wxWindowDisabler disableAll;
36 wxBusyInfo wait("Please wait, working...");
37
38 for (int i = 0; i < 100000; i++)
39 {
40 DoACalculation();
41
42 if ( !(i % 1000) )
43 wxTheApp->Yield();
44 }
45 @endcode
46
47 but take care to not cause undesirable reentrancies when doing it (see
48 wxApp::Yield for more details). The simplest way to do it is to use
49 wxWindowDisabler class as illustrated in the above example.
50
51 Note that a wxBusyInfo is always built with the @c wxSTAY_ON_TOP window style
52 (see wxFrame window styles for more info).
53
54 @library{wxcore}
55 @category{cmndlg}
56 */
57 class wxBusyInfo
58 {
59 public:
60 /**
61 Constructs a busy info window as child of @a parent and displays @e msg in it.
62
63 @note If @a parent is not @NULL you must ensure that it is not
64 closed while the busy info is shown.
65 */
66 wxBusyInfo(const wxString& msg, wxWindow* parent = NULL);
67
68 /**
69 Hides and closes the window containing the information text.
70 */
71 virtual ~wxBusyInfo();
72 };
73