]> git.saurik.com Git - wxWidgets.git/commitdiff
Explicitly document that hidden windows get wxEVT_IDLE events.
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 15 Feb 2012 15:39:37 +0000 (15:39 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 15 Feb 2012 15:39:37 +0000 (15:39 +0000)
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

index 62489467f569e5ce804f3f2a1f5a0c0c041e6506..3bcdf8f45f54199d230b8e61a77705c150e7a844 100644 (file)
@@ -3472,11 +3472,19 @@ enum wxIdleMode
     (and especially the first one) increase the system load and so should be avoided
     if possible.
 
     (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)}
 
     @beginEventTable{wxIdleEvent}
     @event{EVT_IDLE(func)}