From 06bfd04527513dc8a1f455d4c0c92478d52a7366 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 15 Feb 2012 15:39:37 +0000 Subject: [PATCH] Explicitly document that hidden windows get wxEVT_IDLE events. This wasn't always the case and could be unexpected so document this behaviour clearly, also explain the rationale for it. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70598 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- interface/wx/event.h | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/interface/wx/event.h b/interface/wx/event.h index 62489467f5..3bcdf8f45f 100644 --- a/interface/wx/event.h +++ b/interface/wx/event.h @@ -3472,11 +3472,19 @@ enum wxIdleMode (and especially the first one) increase the system load and so should be avoided if possible. - By default, idle events are sent to all windows (and also wxApp, as usual). - If this is causing a significant overhead in your application, you can call - wxIdleEvent::SetMode with the value wxIDLE_PROCESS_SPECIFIED, and set the - wxWS_EX_PROCESS_IDLE extra window style for every window which should receive - idle events. + By default, idle events are sent to all windows, including even the hidden + ones because they may be shown if some condition is met from their @c + wxEVT_IDLE (or related @c wxEVT_UPDATE_UI) handler. The children of hidden + windows do not receive idle events however as they can't change their state + in any way noticeable by the user. Finally, the global wxApp object also + receives these events, as usual, so it can be used for any global idle time + processing. + + If sending idle events to all windows is causing a significant overhead in + your application, you can call wxIdleEvent::SetMode with the value + wxIDLE_PROCESS_SPECIFIED, and set the wxWS_EX_PROCESS_IDLE extra window + style for every window which should receive idle events, all the other ones + will not receive them in this case. @beginEventTable{wxIdleEvent} @event{EVT_IDLE(func)} -- 2.45.2