diff options
author | Morten Engvoldsen <morten.engvoldsen@nokia.com> | 2009-11-10 21:02:21 (GMT) |
---|---|---|
committer | Morten Engvoldsen <morten.engvoldsen@nokia.com> | 2009-11-10 21:02:21 (GMT) |
commit | 543cceb53795a1af8a3515a18025998f24ff4ca0 (patch) | |
tree | 3807e122a60e19f6f2118e9a902c32ae65224b6a /src/gui/kernel/qevent.cpp | |
parent | be8746da74abb213d25fa8aa51a296d193bd9be0 (diff) | |
download | Qt-543cceb53795a1af8a3515a18025998f24ff4ca0.zip Qt-543cceb53795a1af8a3515a18025998f24ff4ca0.tar.gz Qt-543cceb53795a1af8a3515a18025998f24ff4ca0.tar.bz2 |
Documentation: Adding comments to QHoverEvent class
Explaining the difference between hover events and enter/leave/move events
Task-number: QT-1116
Reviewed-by: Bjørn Erik Nilsen
Diffstat (limited to 'src/gui/kernel/qevent.cpp')
-rw-r--r-- | src/gui/kernel/qevent.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index ff97405..c4a25e1 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -399,6 +399,40 @@ QMouseEventEx::~QMouseEventEx() The function pos() gives the current cursor position, while oldPos() gives the old mouse position. + + There are a few similarities between the events QEvent::HoverEnter + and QEvent::HoverLeave, and the events QEvent::Enter and QEvent::Leave. + However, they are slightly different because we do an update() in the event + handler of HoverEnter and HoverLeave. + + QEvent::HoverMove is also slightly different from QEvent::MouseMove. Let us + consider a top-level window A containing a child B which in turn contains a + child C (all with mouse tracking enabled): + + \image hoverEvents.png + + Now, if you move the cursor from the top to the bottom in the middle of A, + you will get the following QEvent::MouseMove events: + + \list 1 + \o A::MouseMove + \o B::MouseMove + \o C::MouseMove + \endlist + + You will get the same events for QEvent::HoverMove, except that the event + always propagates to the top-level regardless whether the event is accepted + or not. It will only stop propagating with the Qt::WA_NoMousePropagation + attribute. + + In this case the events will occur in the following way: + + \list 1 + \o A::HoverMove + \o A::HoverMove, B::HoverMove + \o A::HoverMove, B::HoverMove, C::HoverMove + \endlist + */ /*! |