Commit Graph

131 Commits

Author SHA1 Message Date
Vadim Zeitlin
657a8a3598 first round of debug/release merge: introduce wxDEBUG_LEVEL, for now defined as 1 if __WXDEBUG__ is defined, i.e. no real changes; don't use __WXDEBUG__ in the headers to keep debug and release builds ABI-compatible; add functions to customize or disable asserts handling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-21 23:36:37 +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
Francesco Montorsi
d181e877b0 use a common m_isInsideYield flag instead of static booleans in all ports; add a IsYielding() test which can help to fix unwanted re-entrancies
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-29 15:03:39 +00:00
Stefan Neis
f212e222e7 Ensure that wxApp::Yield is always processing pending event by creating a
temporary event loop if needed.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53606 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-16 12:50:26 +00:00
Paul Cornett
11a0827d14 non-pch build fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50441 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-03 02:15:43 +00:00
Václav Slavík
937013e0fd 1. added wxEvtHandler::SafelyProcessEvent() and wxWindow::HandleWindowEvent() to correctly handle exceptions in even handlers in wxGTK
2. use HandleWindowEvent() everywhere as more obvious and convenient shortcut for GetEventHandler()->ProcessEvent(); also for consistency with wxGTK where it's required

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-29 17:00:58 +00:00
Vadim Zeitlin
899544330f fix a few hundreds of harmless unused parameters warnings and a couple of real bugs discovered thanks to them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49659 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-05 22:29:16 +00:00
Paul Cornett
0728199b91 process pending wx events before sending idle events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-08 05:31:32 +00:00
Vadim Zeitlin
2ddff00c92 don't define wxEventLoop class differently in GUI and base, this breaks the
ODR and hence results in many problems in practice; instead use wxEventLoopBase
whenever possible and #define wxEventLoop differently in console applications


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46158 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-22 02:30:01 +00:00
Vadim Zeitlin
c2ca375c56 preparation for allowing to use wxTimer in wxBase (heavily modified patch 1113088):
1. Changed wxTimer to use wxTimerImpl
2. Added Unix-specific generic timer implementation
3. Added wxAppTraits::CreateTimerImpl()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45544 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-20 01:29:16 +00:00
Vadim Zeitlin
ad02525dad don't check whether the window is shown and enabled in AcceptsFocus() itself
as it makes overriding it in derived classes problematic; provide a separate
non virtual CanAcceptFocus() method checking whether the window accepts focus
and if it can accept it now and use it instead of AcceptsFocus(); documented
AcceptsFocus() and AcceptsFocusFromKeyboard()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-25 22:36:24 +00:00
Julian Smart
97f8976204 Don't process char event if wxTranslateKeyEvent returned false.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42814 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-31 08:45:33 +00:00
Vadim Zeitlin
b886fae648 Main change is that we now close X11 display on program exit: as this couldn't
be done in wxApp dtor (too early), a special module had to be created for it
and module dependencies added for the other modules which have to be cleaned
up while the display is still open.

Also a few minor formatting changes and removed a couple of unused variables
from wxApp.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42119 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-19 14:39:53 +00:00
Włodzimierz Skiba
02761f6cd4 Include wx/module.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-08-31 19:31:43 +00:00
Václav Slavík
d8cebdca39 compilation fix for !wxUSE_LOG
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-08-01 05:46:26 +00:00
Włodzimierz Skiba
dd05139a80 Include wx/gdicmn.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-19 20:18:46 +00:00
Włodzimierz Skiba
5b56bffb33 Include wx/memory.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-08 12:51:01 +00:00
Paul Cornett
e7445ff8ee move some data definitions to more appropriate places
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-26 16:12:31 +00:00
Włodzimierz Skiba
c0badb709a Include wx/timer.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-23 11:04:37 +00:00
Włodzimierz Skiba
fdf565feca Include wx/dialog.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39273 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-22 20:54:04 +00:00
Włodzimierz Skiba
923d28da0e Include wx/icon.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39261 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-21 21:45:44 +00:00
Włodzimierz Skiba
76b49cf49b Include wx/frame.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39045 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-05 08:10:55 +00:00
Włodzimierz Skiba
de6185e212 Include wx/utils.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38972 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-02 10:39:23 +00:00
Włodzimierz Skiba
e4db172a3b Include wx/log.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38920 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-26 08:21:31 +00:00
Włodzimierz Skiba
88a7a4e10e Include wx/intl.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-25 14:38:19 +00:00
Włodzimierz Skiba
32d4c30a13 Include wx/hash.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-21 10:33:01 +00:00
Vadim Zeitlin
aedeab233f X11 callbacks must be extern C
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-25 03:01:55 +00:00
Julian Smart
3ee937aad0 Hidden variable warning fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-24 12:27:45 +00:00
Włodzimierz Skiba
4bcc364758 Source cleaning.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38336 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-24 08:44:55 +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
Mattia Barbon
4ae1af0588 Check for Pango XFT presence (for wxX11).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30907 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-12-08 22:13:37 +00:00
Vadim Zeitlin
3cd2f0bdee IsTopLevel() may return true not only for wxTLW: this fixes crash when opening a menu
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28507 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-07-25 23:34:37 +00:00
Vadim Zeitlin
b8033a5ddc replace wxHashTable with a type safe hash map of Window to wxWindow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-07-25 23:09:33 +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
Jouk Jansen
a371f70393 Committing in .
wxX11 for OpenVMS (phase 3)
   -minimal.exe for OpenVMS now builds and displays a window but crashes when
    trying to use the menus.

 Modified Files:
 	wxWidgets/descrip.mms wxWidgets/include/wx/vms_x_fix.h
 	wxWidgets/lib/VMS_X11_UNIV.OPT
 	wxWidgets/samples/minimal/descrip.mms
 	wxWidgets/src/univ/descrip.mms wxWidgets/src/x11/app.cpp
 	wxWidgets/src/x11/descrip.mms wxWidgets/src/x11/font.cpp
 	wxWidgets/src/x11/gsockx11.cpp wxWidgets/src/x11/utilsx.cpp
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26273 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-03-19 15:48:03 +00:00
Mattia Barbon
f6afb56a2d Applied patches #892580 and #892582 from Christian Sturmlechner.
Fix of variable declaration in wxApp::Yield().


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-02-08 07:54:26 +00:00
Vadim Zeitlin
a182a91391 removed a printf()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24273 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-10-23 11:28:36 +00:00
Vadim Zeitlin
dd435a79ed removed wxApp::Initialized() (replaced with a dummy version in wxApp itself); wxApp in wxGTK now uses wxEvtLoop too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23965 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-09-27 13:47:46 +00:00
Mattia Barbon
5b3b52ef31 wxX11 compilation fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-09-16 21:16:03 +00:00
Vadim Zeitlin
bcd3832a82 use wxEventLoop in wxApp under wxMSW; factored out common code from wxX11/wxMotif/wxMGL to wxAppBase; changed wxApp::Dispatch() return type
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23610 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-09-15 19:53:18 +00:00
Václav Slavík
54385bdb3f Unicode compilation fixes for wxX11
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23038 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-20 08:39:47 +00:00
Václav Slavík
c6441a0d74 Unicode compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23037 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-20 08:13:08 +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
955a919785 Rationalised OnIdle
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-14 08:41:08 +00:00
Julian Smart
5109ae5d17 Improvements to OnIdle processing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21934 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-13 16:59:30 +00:00
Julian Smart
e39af974ef - Moved wxApp::SendIdleEvents and wxApp::ProcessIdle into common code.
- wxWindow::OnInternalIdle is now used in all ports, and ensures that
  user OnIdle events do not interfere with crucial internal processing.
- wxWindow::UpdateWindowUI is now a documented function that
  sends wxUpdateUIEvents, and can be overridden. It has a helper function
  DoUpdateWindowUI for taking appropriate wxUpdateUIEvent action.
- Added functions to wxUpdateUIEvent: Set/GetMode, Set/GetUpdateInterval,
  CanUpdate, to assist with optimising update event frequency.
- Added functions to wxIdleEvent: Set/GetMode, CanSend, to
  determine whether a window should receive idle events.
- Added wxWS_EX_PROCESS_IDLE, wxWS_EX_PROCESS_UI_UPDATES window
  styles for use with conservative idle and update event modes.
- wxMSW and wxGTK now send menu update events only when a menu is
  about to be used.
- Added WM_INITMENU processing instead of WM_ENTERMENULOOP, or
  accelerators don't always get called since menu items may still
  be disabled.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21789 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-09 10:15:21 +00:00
Julian Smart
0b30bb0bda Added wxFrameBase::OnMenuOpen, and wxUSE_IDLEMENUUPDATES in platform.h
Experimental wxUpdateUIEvent::SetUpdateInterval() function to limit
UI update frequency


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21746 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-07 16:21:44 +00:00
Vadim Zeitlin
5b0040077d fixed crash on startup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21550 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-01 12:30:39 +00:00