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

  1. ///////////////////////////////////////////////////////////////////////////////
  2. // Name:        wx/evtloop.h
  3. // Purpose:     declares wxEventLoop class
  4. // Author:      Vadim Zeitlin
  5. // Modified by:
  6. // Created:     01.06.01
  7. // RCS-ID:      $Id: evtloop.h,v 1.5 2002/08/31 11:29:10 GD Exp $
  8. // Copyright:   (c) 2001 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
  9. // Licence:     wxWindows licence
  10. ///////////////////////////////////////////////////////////////////////////////
  11.  
  12. #ifndef _WX_EVTLOOP_H_
  13. #define _WX_EVTLOOP_H_
  14.  
  15. #if defined(__GNUG__) && !defined(__APPLE__)
  16.     #pragma interface "evtloop.h"
  17. #endif
  18.  
  19. // ----------------------------------------------------------------------------
  20. // wxEventLoop: a GUI event loop
  21. // ----------------------------------------------------------------------------
  22.  
  23. class WXDLLEXPORT wxEventLoop
  24. {
  25. public:
  26.     // ctor
  27.     wxEventLoop() { m_impl = NULL; }
  28.  
  29.     // dtor
  30.     virtual ~wxEventLoop();
  31.  
  32.     // start the event loop, return the exit code when it is finished
  33.     virtual int Run();
  34.  
  35.     // exit from the loop with the given exit code
  36.     virtual void Exit(int rc = 0);
  37.  
  38.     // return TRUE if any events are available
  39.     virtual bool Pending() const;
  40.  
  41.     // dispatch a single event, return FALSE if we should exit from the loop
  42.     virtual bool Dispatch();
  43.  
  44.     // is the event loop running now?
  45.     virtual bool IsRunning() const;
  46.     
  47.     // return currently active (running) event loop, may be NULL
  48.     static wxEventLoop *GetActive() { return ms_activeLoop; }
  49.  
  50.     // set currently active (running) event loop
  51.     static void SetActive(wxEventLoop* loop) { ms_activeLoop = loop; }
  52.  
  53. protected:
  54.     // the pointer to the port specific implementation class
  55.     class WXDLLEXPORT wxEventLoopImpl *m_impl;
  56.     // the pointer to currently active loop
  57.     static wxEventLoop *ms_activeLoop;
  58. };
  59.  
  60. #endif // _WX_EVTLOOP_H_
  61.