]> git.saurik.com Git - wxWidgets.git/blame - wxPython/src/_evtloop.i
Respect the REUSEADDR flag to allow rebinding; bind to local port prior to connecting...
[wxWidgets.git] / wxPython / src / _evtloop.i
CommitLineData
96d49f0e
RD
1/////////////////////////////////////////////////////////////////////////////
2// Name: _evtloop.i
3// Purpose: SWIG interface for wxEventLoop
4//
5// Author: Robin Dunn
6//
7// Created: 18-Sept-2004
8// RCS-ID: $Id$
9// Copyright: (c) 2004 by Total Control Software
10// Licence: wxWindows license
11/////////////////////////////////////////////////////////////////////////////
12
13// Not a %module
14
15
16//---------------------------------------------------------------------------
17// TODO: wxPyEventLoop that virtualizes all the methods...
18
19//---------------------------------------------------------------------------
20%newgroup
21
22%{
dfdaab04 23#if 0 // #ifdef __WXMAC__
edda5768
RD
24
25// A dummy class that raises an exception if used...
26class wxEventLoop
27{
28public:
29 wxEventLoop() { wxPyRaiseNotImplemented(); }
30 int Run() { return 0; }
31 void Exit(int rc = 0) {}
32 bool Pending() const { return false; }
33 bool Dispatch() { return false; }
34 bool IsRunning() const { return false; }
35 static wxEventLoop *GetActive() { wxPyRaiseNotImplemented(); return NULL; }
36 static void SetActive(wxEventLoop* loop) { wxPyRaiseNotImplemented(); }
37};
38
39#else
40
96d49f0e 41#include <wx/evtloop.h>
edda5768
RD
42
43#endif
96d49f0e
RD
44%}
45
46class wxEventLoop
47{
48public:
49 wxEventLoop();
50 virtual ~wxEventLoop();
51
52 // start the event loop, return the exit code when it is finished
53 virtual int Run();
54
55 // exit from the loop with the given exit code
56 virtual void Exit(int rc = 0);
57
58 // return true if any events are available
59 virtual bool Pending() const;
60
61 // dispatch a single event, return false if we should exit from the loop
62 virtual bool Dispatch();
63
64 // is the event loop running now?
65 virtual bool IsRunning() const;
66
67 // return currently active (running) event loop, may be NULL
68 static wxEventLoop *GetActive();
69
70 // set currently active (running) event loop
71 static void SetActive(wxEventLoop* loop);
72};
73
74
dfdaab04
RD
75
76// This object sets the wxEventLoop given to the ctor as the currently active
77// one and unsets it in its dtor, this is especially useful in presence of
78// exceptions but is more tidy even when we don't use them
79class wxEventLoopActivator
80{
81public:
82 wxEventLoopActivator(wxEventLoop *evtLoop);
83 ~wxEventLoopActivator();
84};
85
86
87
96d49f0e 88//---------------------------------------------------------------------------