Commit Graph

70 Commits

Author SHA1 Message Date
Vadim Zeitlin
5e61689dbf Fix regression with MDI children accelerators
Since the changes of 8034e35391 (see #16870)
accelerators, including the standard ones such as Ctrl-F4 under MSW, didn't
work any longer inside the MDI children.

Fix this by extending IsTopNavigationDomain() to allow for checking whether
the given window should stop propagation of all keyboard events, as wxTLW
does, or only TAB navigation ones as wxMDIChildFrame and wxAuiFloatingFrame
do.
2016-02-28 01:24:20 +01:00
Kinaou Herve
8034e35391 Use IsTopNavigationDomain() in accelerator handling code in all ports
This is more correct than IsTopLevel() as accelerators shouldn't traverse the
"navigation domain" boundaries, by definition, and, even more importantly in
practice, some TLWs shouldn't stop the accelerators propagation, see the next
commit.

See #16870.
2016-01-30 18:40:07 +01:00
Tobias Taschner
8282c1be0f Remove Windows CE support
Windows CE doesn't seem to be supported by Microsoft any longer. Last CE
release was in early 2013 and the PocketPC and Smartphone targets supported by
wxWidgets are long gone.

The build files where already removed in an earlier cleanup this commit
removes all files, every #ifdef and all documentation regarding the Windows CE
support.

Closes https://github.com/wxWidgets/wxWidgets/pull/81
2015-09-23 00:52:30 +02:00
Vadim Zeitlin
6c40531fb7 Make main thread wake up code more efficient and less error-prone in wxMSW.
Use a kernel event object to signal the thread wake up instead of sending
WM_NULL to one of its windows. This is simpler as we don't need to look for
any windows and doesn't suffer from the problem of overflowing the Windows
message queue if we do it too many times as signalling an already signalled
event simply doesn't do anything.

Closes #9053.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78041 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-19 12:57:08 +00:00
Vadim Zeitlin
f740cc3881 Refactor YieldFor() to avoid code duplication among the ports.
Don't repeat the same code in all the ports, move it to the common base class
and add a new virtual DoYieldFor() for the really port-specific code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-02 18:58:00 +00:00
Vadim Zeitlin
632c106cd5 Don't dispatch pending events from selective YieldFor().
Pending events list can contain events from all kinds and dispatching them
from YieldFor() called to dispatch the events of some particular kind only
(e.g. to redraw the window) is unexpected and wrong, e.g. it breaks some uses
of wxProgressDialog, see #15799.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-02 18:27:51 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
e27f554012 Use the same console event loop in wxBase and wxCore in wxMSW.
Refactor the console event loop code into separate files to untangle it from
the GUI version and ensure that it doesn't depend on the GUI at all. It can
now be defined in the base library and simply reused by the core one.

This also makes the console event loop usable for other ports under Windows,
e.g. wxGTK.

Closes #14426.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72008 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-10 23:52:00 +00:00
Vadim Zeitlin
4934653e18 Dispatch unknown messages immediately in wxMSW YieldFor().
Failure to do this can have catastrophic consequences, e.g. embedded ActiveX
IE controls may stop working -- even after resuming the normal message
dispatching.

Closes #14027.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70690 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-25 23:49:45 +00:00
Dimitri Schoolwerth
80fdcdb90e No changes, synchronised source names that appear commented at the top of files with the actual path to the files.
Fixed commented names (path, filename, and extension) of files in include/ and src/. Prepended the names in src/ with "src/" everywhere, while starting those in include/wx/ with "wx/".

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 00:14:35 +00:00
Vadim Zeitlin
526954c596 Globally use "wxWindows licence" consistently.
Use "wxWindows licence" and not "wxWidgets licence" (the latter doesn't
exist) and consistently spell "licence" using British spelling.

See #12165.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-13 13:29:13 +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
b293b4d364 don't assume that we use timer proc with WM_TIMER as we don't any more (since r60296) (closes #10764 for trunk)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-09 23:10:20 +00:00
Francesco Montorsi
dd07a4ce28 on wxWinCE don't use some message constants since they're not defined there (closes #10759)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-02 13:09:08 +00:00
Francesco Montorsi
9d2e29d274 in case the user mask doesn't contain wxEVT_CATEGORY_UI, don't block forever on the never-ending WM_PAINTs messages sent by the system; but don't even break out of the loop immediately after getting the first WM_PAINT: this break repainting. (closes #10590)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59642 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-20 11:57:05 +00:00
Francesco Montorsi
be8ddd37e3 remove unneeded wxCHECK_MSG: GetNextMessage() can get the msg even if the event loop is not running; the check breaks the:
while ( loop->Pending() )
    loop->Dispatch();
snippet in console apps since wxConsoleEventLoop::Dispatch calls GetNextMessage() (see also the TimerEventTestCase cppunit).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-20 01:20:44 +00:00
Francesco Montorsi
834fcdd949 ProcessPendingEvents() is now in wxApp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59286 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-02 21:14:01 +00:00
Paul Cornett
1e04d2bf54 fix evtloop.h header dependency
implementation headers go first to catch this kind of problem, don't move them to fix a build error

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58951 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-16 17:19:17 +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
Francesco Montorsi
d48b06bd90 check in the 'selective yield' patch (see ticket #10320):
- implements YieldFor() with event filtering for wxMSW and wxGTK,
  adds TODO markers in other ports;
- replaces wxYield() in GTK's clipboard code with a wxTheApp->YieldFor() call, thus fixing possible reentrancies 
(and modifies clipboard sample to test synchronous IsSupported calls)
- replaces wxYieldIfNeeded() calls in wxProgressDialog with wxTheApp->YieldFor() calls, so that it processes only 
UI/user-input events, thus fixing the race condition visible in the "thread" sample
- documents the new functions


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58654 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-04 17:42:28 +00:00
Vadim Zeitlin
664e13143e renamed wx/ptr_shrd.h to wx/sharedptr.h; split wx/ptr_scpd.h in wx/scopedptr.h and wx/scopedarray.h; extracted common parts into new wx/checkeddelete.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-03 12:01:46 +00:00
Vadim Zeitlin
14eb37a05e call ProcessPendingEvents() from wxAppConsoleBase::ProcessIdle() too, not only from wxAppBase::ProcessIdle(); do not call it from wxConsoleEventLoop::Dispatch() as this results in unwanted reentrancies in the socket code when using it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57799 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-02 22:18:10 +00:00
Vadim Zeitlin
ac16633fdc don't assert if MsgWaitForMultipleObjects() returns WAIT_OBJECT_0 but there are no messages in the queue -- this does happen
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57660 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-30 12:09:06 +00:00
Vadim Zeitlin
9af42efda6 added wxEventLoop::DispatchTimeout()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-26 22:28:34 +00:00
Vadim Zeitlin
2804f77d88 more socket cleanup to allow using wxSocket from both wxBase and wxCore (replaces patch 1756260)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-19 16:45:08 +00:00
Paul Cornett
204abcd474 remove unneccessary header dependencies on wx/thread.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-03 02:55:14 +00:00
Vadim Zeitlin
985acf8734 reverted wxSocket changes of rev 48723 as they broke linking under non-Unix systems
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48734 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-17 00:22:05 +00:00
Vadim Zeitlin
22b6de6a70 more fixes for using wxSocket in console applications (patch 1756260)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-16 14:29:42 +00:00
Vadim Zeitlin
61478ea03f added wxUSE_CONSOLE_EVENTLOOP around wxConsoleEventLoop
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-15 19:33:16 +00:00
Vadim Zeitlin
81df6af392 undid unnecessary renaming of src/msw/evtloop.cpp to evtloopmsw.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46101 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-18 14:58:11 +00:00
Vadim Zeitlin
f638866768 call MSWProcessMessage() for the window itself, although a comment said that this was done it, in fact, wasn't (since rev 1.11 when this was changed, apparently accidentally)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39912 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-30 22:59:01 +00:00
Vadim Zeitlin
c009bf3e9f relay mouse move events to the tooltips even when the window itself doesn't have a tooltip -- but its subwindow does
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-04 16:07:15 +00:00
Vadim Zeitlin
c8026dea6c improved wxMac event loop implementation and refactored the code to share it with wxMSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36847 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-12 23:06:26 +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
David Surovell
18f5234f0c removed unused local variable; converted tabs to spaces
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-12-19 03:51:34 +00:00
Kevin Ollivier
89c8318014 Allow wx parents a chance to handle events fired by non-wx children. (i.e. wxActiveX controls)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-12-19 01:39:54 +00:00
Vadim Zeitlin
259c43f679 more extra semicolons removed (patch 1303724)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-25 11:16:57 +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
Włodzimierz Skiba
b4626104e5 wxMSWUniv build fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34880 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-18 13:36:31 +00:00
Vadim Zeitlin
a7b7500c4f added SetCriticalWindow() and AllowProcessing(): this allows to freeze all events except those for the specified window
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34861 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-15 22:57:49 +00:00
Václav Slavík
96d38c7e0d rolled back exceptions handling patch, it relied on incorrect assumption about vtables
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-06-21 09:56:18 +00:00
Václav Slavík
924b84ab94 changed exceptions handling to work under wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-06-20 08:20:50 +00:00
Julian Smart
3103e8a97e Typo correction patch [ 1208110 ] Lots of typo corrections
Olly Betts


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-31 09:20:43 +00:00
Vadim Zeitlin
9af08eb826 use a linked list instead of array for saved messages to fix problems when Dispatch() is reentered (part of patch 1080770)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30950 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-12-12 11:47:57 +00:00
Julian Smart
22cfea03b8 Added IsTopLevel() check to last message loop in PreProcessMessage. This
stops e.g. ESC being processed by a parent modal dialog if not processed
by the child -> assert and lockup


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-17 13:42:14 +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
Vadim Zeitlin
d284c07534 call wxApp::OnExceptionInMainLoop() when an exception occurs (refactored the change 1.16->1.17)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26507 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-03-30 20:52:19 +00:00