| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: busyinfo.h
- // Purpose: interface of wxBusyInfo
- // Author: wxWidgets team
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- /**
- @class wxBusyInfo
- This class makes it easy to tell your user that the program is temporarily busy.
- Just create a wxBusyInfo object on the stack, and within the current scope,
- a message window will be shown.
- For example:
- @code
- wxBusyInfo wait("Please wait, working...");
- for (int i = 0; i < 100000; i++)
- {
- DoACalculation();
- }
- @endcode
- 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:
- @code
- wxWindowDisabler disableAll;
- wxBusyInfo wait("Please wait, working...");
- for (int i = 0; i < 100000; i++)
- {
- DoACalculation();
- if ( !(i % 1000) )
- wxTheApp->Yield();
- }
- @endcode
- but take care to not cause undesirable reentrancies when doing it (see
- wxApp::Yield for more details). The simplest way to do it is to use
- wxWindowDisabler class as illustrated in the above example.
- Note that a wxBusyInfo is always built with the @c wxSTAY_ON_TOP window style
- (see wxFrame window styles for more info).
- @library{wxcore}
- @category{cmndlg}
- */
- class wxBusyInfo
- {
- public:
- /**
- Constructs a busy info window as child of @a parent and displays @e msg in it.
- @note If @a parent is not @NULL you must ensure that it is not
- closed while the busy info is shown.
- */
- wxBusyInfo(const wxString& msg, wxWindow* parent = NULL);
- /**
- Hides and closes the window containing the information text.
- */
- virtual ~wxBusyInfo();
- };
|