]>
git.saurik.com Git - wxWidgets.git/blob - src/palmos/evtloop.cpp
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: src/palmos/evtloop.cpp
3 // Purpose: implements wxGUIEventLoop for Palm OS
4 // Author: William Osborne - minimal working wxPalmOS port
8 // Copyright: (c) William Osborne
9 // Licence: wxWindows licence
10 ///////////////////////////////////////////////////////////////////////////////
12 // ============================================================================
14 // ============================================================================
16 // ----------------------------------------------------------------------------
18 // ----------------------------------------------------------------------------
20 // For compilers that support precompilation, includes "wx.h".
21 #include "wx/wxprec.h"
28 #include "wx/window.h"
32 #include "wx/evtloop.h"
34 #include "wx/tooltip.h"
35 #include "wx/except.h"
38 #include "wx/thread.h"
40 // define the array of MSG strutures
41 WX_DECLARE_OBJARRAY(MSG
, wxMsgArray
);
43 #include "wx/arrimpl.cpp"
45 WX_DEFINE_OBJARRAY(wxMsgArray
);
46 #endif // wxUSE_THREADS
49 #include <SystemMgr.h>
53 // ============================================================================
54 // wxGUIEventLoop implementation
55 // ============================================================================
57 // ----------------------------------------------------------------------------
59 // ----------------------------------------------------------------------------
61 wxGUIEventLoop::wxGUIEventLoop()
67 // ----------------------------------------------------------------------------
68 // wxGUIEventLoop message processing
69 // ----------------------------------------------------------------------------
71 void wxGUIEventLoop::ProcessMessage(WXMSG
*msg
)
75 bool wxGUIEventLoop::PreProcessMessage(WXMSG
*msg
)
80 // ----------------------------------------------------------------------------
81 // wxGUIEventLoop running and exiting
82 // ----------------------------------------------------------------------------
84 bool wxGUIEventLoop::IsRunning() const
89 int wxGUIEventLoop::Run()
94 wxEventLoopActivator
activate(this);
97 wxTheApp
&& wxTheApp
->ProcessIdle();
99 EvtGetEvent(&event
, evtWaitForever
);
101 if (SysHandleEvent(&event
))
104 if (MenuHandleEvent(0, &event
, &error
))
107 FrmDispatchEvent(&event
);
109 } while (event
.eType
!= appStopEvent
);
114 void wxGUIEventLoop::Exit(int rc
)
119 AppStop
.eType
=appStopEvent
;
120 EvtAddEventToQueue(&AppStop
);
123 // ----------------------------------------------------------------------------
124 // wxGUIEventLoop message processing dispatching
125 // ----------------------------------------------------------------------------
127 bool wxGUIEventLoop::Pending() const
132 bool wxGUIEventLoop::Dispatch()
137 int wxGUIEventLoop::DispatchTimeout(unsigned long timeout
)
142 void wxGUIEventLoop::WakeUp()
147 bool wxGUIEventLoop::YieldFor(long eventsToProcess
)