]> git.saurik.com Git - wxWidgets.git/blame - include/wx/cursor.h
Committing in .
[wxWidgets.git] / include / wx / cursor.h
CommitLineData
34138703
JS
1#ifndef _WX_CURSOR_H_BASE_
2#define _WX_CURSOR_H_BASE_
c801d85f 3
2049ba38 4#if defined(__WXMSW__)
c801d85f 5#include "wx/msw/cursor.h"
2049ba38 6#elif defined(__WXMOTIF__)
34138703 7#include "wx/motif/cursor.h"
2049ba38 8#elif defined(__WXGTK__)
c801d85f 9#include "wx/gtk/cursor.h"
1e6feb95
VZ
10#elif defined(__WXMGL__)
11#include "wx/mgl/cursor.h"
34138703
JS
12#elif defined(__WXMAC__)
13#include "wx/mac/cursor.h"
1777b9bb
DW
14#elif defined(__WXPM__)
15#include "wx/os2/cursor.h"
34138703
JS
16#elif defined(__WXSTUBS__)
17#include "wx/stubs/cursor.h"
c801d85f
KB
18#endif
19
eebe4016 20#include "wx/utils.h"
83141d3a 21
eebe4016
KB
22/* This is a small class which can be used by all ports
23 to temporarily suspend the busy cursor. Useful in modal
24 dialogs.
f6bcfd97
BP
25
26 Actually that is not (any longer) quite true.. currently it is
27 only used in wxGTK Dialog::ShowModal() and now uses static
28 wxBusyCursor methods that are only implemented for wxGTK so far.
29 The BusyCursor handling code should probably be implemented in
30 common code somewhere instead of the separate implementations we
31 currently have. Also the name BusyCursorSuspender is a little
32 misleading since it doesn't actually suspend the BusyCursor, just
33 masks one that is already showing.
34 If another call to wxBeginBusyCursor is made while this is active
35 the Busy Cursor will again be shown. But at least now it doesn't
36 interfere with the state of wxIsBusy() -- RL
37
eebe4016
KB
38*/
39class wxBusyCursorSuspender
40{
41public:
f6bcfd97
BP
42 wxBusyCursorSuspender()
43 {
44 if( wxIsBusy() )
45 {
46 wxSetCursor( wxBusyCursor::GetStoredCursor() );
f6bcfd97
BP
47 }
48 }
49 ~wxBusyCursorSuspender()
50 {
51 if( wxIsBusy() )
52 {
53 wxSetCursor( wxBusyCursor::GetBusyCursor() );
f6bcfd97
BP
54 }
55 }
eebe4016 56};
c801d85f 57#endif
34138703 58 // _WX_CURSOR_H_BASE_