home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2240.zip / wxWindows-2.4.0 / include / wx / cursor.h < prev    next >
C/C++ Source or Header  |  2002-02-05  |  2KB  |  61 lines

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