Commit Graph

32 Commits

Author SHA1 Message Date
Vadim Zeitlin
5cd9986613 Refactor wxEventLoopSource-related code.
Currently wxEventLoopSource can't be created directly and can only be used to
monitor file descriptors so reduce the API to just wxEventLoop::AddSourceForFD()
and remove AddSource(), RemoveSource() and RemoveAllSources() which couldn't
be implemented for all ports. This makes the code much simpler without any
loss of functionality.

Make wxEventLoopSource responsible for removing itself from the event loop
when it is deleted. This allows to remove IsOk() and Invalidate() methods
making the code simpler and gets rid of various sets/maps which were used
before.

This also allows to support event loop sources in Carbon as well: wxOSX/Carbon
now compiles and works with wxUSE_FSWATCHER==1.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62475 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-22 11:36:35 +00:00
Vadim Zeitlin
6b8ef0b35d 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
2009-10-22 11:35:43 +00:00
Paul Cornett
f629f37a82 use proper signature for callback function
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62212 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-30 15:39:21 +00:00
Vadim Zeitlin
03647350fc No changes, just removed hard tabs and trailing white space.
This commit is huge but there are no non-white-space changes in it.

Some files containing third-party sources (src/msw/wince/time.cpp,
src/x11/pango*.cpp) were left unchanged.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-21 10:41:26 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Francesco Montorsi
3bb5029df2 guard with compile-time checks the new GDK_* event type symbols; explain why runtime checks are not necessary (closes #10603)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-17 20:56:00 +00:00
Francesco Montorsi
387e72bad6 implement the wxGTK selective yield with a different approach: rather than getting the events ourselves and fetching them to gtk_main_do_event(), install our own wxgtk_main_do_event() to filter them (closes #10320 -- see bug reported in comment 19)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-14 23:59:21 +00:00
Paul Cornett
bcf79477d1 non-pch build fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58952 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-16 17:22:02 +00:00
Francesco Montorsi
dde19c2180 second part of #10320: move wxApp event handling functions to wxEventLoopBase (in particular move Yield() functions); add backward compatible redirections to wxApp; update docs; remove global lists wxPendingEvents and wxPendingEventsLocker
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58911 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-15 14:25:08 +00:00
Vadim Zeitlin
564c7fc412 implement wxEventLoop::DispatchTimeout() for wxGTK (thanks Paul) and rewrote it to not use wxEventLoopImpl which it doesn't need
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57581 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 11:01:39 +00:00
Vadim Zeitlin
4b8af4ac87 return false from Dispatch() if gtk_main_quit() was called (patch 1864846)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-06 15:26:16 +00:00
Vadim Zeitlin
b46b1d59d6 implement event loop for console applications (heavily modified patch 1715735)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-14 23:43:39 +00:00
Paul Cornett
a1abca322f Reorganize idle system code.
Installing idle handler from GTK callbacks is no longer necessary.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45537 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-19 16:58:07 +00:00
Vadim Zeitlin
68a9527d51 destroy m_impl even if an exception is thrown from the main loop
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-23 13:24:55 +00:00
Paul Cornett
67461bd124 rename RemoveIdleSource to SuspendIdleCallback
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43879 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-12-09 17:46:20 +00:00
Vadim Zeitlin
16d17da6ca explicitly call OnExit() in the ports which don't use wxEventLoopManual
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43840 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-12-06 23:28:44 +00:00
Paul Cornett
8a378a9e16 add emission hook from RemoveIdleSource (was RemoveIdleTag); minor cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41082 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-09 04:53:02 +00:00
Włodzimierz Skiba
670f993563 Include wx/app.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-28 12:44:37 +00:00
Vadim Zeitlin
25e2f480a7 define wxEventLoopBase::ms_activeLoop in appcmn.cpp instead of doing it in all platform-dependent evtloop.cpp files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36845 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-12 18:57:28 +00:00
Vadim Zeitlin
77fb1a02aa share wxEventLoop::IsRunning() implementation between all ports; moved wxEventLoopActivator used by it in wx/evtloop.h instead of duplicating it in 3 different .cpp files (and not using it at all in 3 other ones)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-12 16:56:48 +00:00
Mart Raudsepp
8907154c1a Nuke #pragma implementation/interface's
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +00:00
Václav Slavík
c263eb0384 more wxPostEvent MT fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-12 21:44:26 +00:00
Václav Slavík
fe593cc504 (hopefully) fixed race condition in installing idle handler (calling wxPostEvent from non-main thread)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30266 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-04 20:04:59 +00:00
Robert Roebling
e1bf3ad3e8 Applied patch to reorder includes. Not the most
important patch in the world, but still.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30247 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-03 21:13:28 +00:00
Robin Dunn
9213ca5d47 Made wxGTK's wxEventLoop::IsRunning a little more consistent with
wxMSW's and uninstall the idle handled like wxYield does so Pending
can eventually return false.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29267 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-23 00:58:21 +00:00
Vadim Zeitlin
3754265e32 switched to wxEventLoopBase/wxEventLoop implementation (instead of m_impl based one) for wxMSW; minimal changes for the other ports
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-07-30 22:54:31 +00:00
Julian Smart
655719367a Use old licence name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 20:53:33 +00:00
Julian Smart
77ffb5937e Name and version changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 14:56:36 +00:00
Václav Slavík
14f355c2b5 added support for gcc precompiled headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-09 12:46:53 +00:00
Julian Smart
6c9a19aaba Removed erroneous copyright names and corrected licence spelling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 11:23:28 +00:00
Václav Slavík
b9f246f7d9 added wxEventLoop::GetActive()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11361 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-08-12 22:10:20 +00:00
Vadim Zeitlin
8000ae7f7c added untested implementation of wxEvtLoop for GTK+
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10936 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-07-10 12:27:10 +00:00