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
This commit is contained in:
Vadim Zeitlin
2012-02-15 15:39:37 +00:00
parent 5807245682
commit 06bfd04527

View File

@@ -3472,11 +3472,19 @@ enum wxIdleMode
(and especially the first one) increase the system load and so should be avoided (and especially the first one) increase the system load and so should be avoided
if possible. if possible.
By default, idle events are sent to all windows (and also wxApp, as usual). By default, idle events are sent to all windows, including even the hidden
If this is causing a significant overhead in your application, you can call ones because they may be shown if some condition is met from their @c
wxIdleEvent::SetMode with the value wxIDLE_PROCESS_SPECIFIED, and set the wxEVT_IDLE (or related @c wxEVT_UPDATE_UI) handler. The children of hidden
wxWS_EX_PROCESS_IDLE extra window style for every window which should receive windows do not receive idle events however as they can't change their state
idle events. 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} @beginEventTable{wxIdleEvent}
@event{EVT_IDLE(func)} @event{EVT_IDLE(func)}