Merge SOC2009_FSWATCHER branch into trunk.

Merges everything from the branch with only some minor changes, mostly renamed
wxUSE_FSWATCHER_{INOTIFY,KQUEUE} to wxHAS_{INOTIFY,KQUEUE}.

Add wxFileSystemWatcher and related classes.

Also introduces wxEventLoopSource.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2009-10-22 11:35:43 +00:00
parent 40152925d5
commit 6b8ef0b35d
75 changed files with 69755 additions and 60720 deletions

View File

@@ -17,9 +17,17 @@
typedef union _GdkEvent GdkEvent;
class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopBase
#if wxUSE_EVENTLOOP_SOURCE
// maps event loop sources to gtk source ids
WX_DECLARE_HASH_MAP(wxUnixEventLoopSource*, int, wxPointerHash, wxPointerEqual,
wxEventLoopSourceIdMap);
#endif
class WXDLLIMPEXP_BASE wxGUIEventLoop : public wxEventLoopBase
{
public:
typedef wxUnixEventLoopSource Source;
wxGUIEventLoop();
virtual int Run();
@@ -33,7 +41,29 @@ public:
void StoreGdkEventForLaterProcessing(GdkEvent* ev)
{ m_arrGdkEvents.Add(ev); }
#if wxUSE_EVENTLOOP_SOURCE
virtual wxUnixEventLoopSource* CreateSource() const
{
return new wxUnixEventLoopSource();
}
virtual wxUnixEventLoopSource* CreateSource(int res,
wxEventLoopSourceHandler* handler,
int flags) const
{
return new wxUnixEventLoopSource(res, handler, flags);
}
#endif
protected:
#if wxUSE_EVENTLOOP_SOURCE
// adding/removing sources
virtual bool DoAddSource(wxAbstractEventLoopSource* source);
virtual bool DoRemoveSource(wxAbstractEventLoopSource* source);
// map of event loop sources gtk ids
wxEventLoopSourceIdMap m_sourceIdMap;
#endif
// the exit code of this event loop
int m_exitcode;