From 6f63704ff4db9da6976547a1378d7e85b966eea7 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 16 Oct 2003 07:55:25 +0000 Subject: [PATCH] wxMouseEvent::Moving() shouldn't return true when we're really dragging the mouse git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24183 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/changes.txt | 1 + docs/latex/wx/mouseevt.tex | 53 +++++++++++++++++++++++++++++++++++--- include/wx/event.h | 8 +++--- 3 files changed, 56 insertions(+), 6 deletions(-) diff --git a/docs/changes.txt b/docs/changes.txt index 35ded0dfc0..9035aa91a0 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -28,6 +28,7 @@ INCOMPATIBLE CHANGES SINCE 2.4.x new colours - wxWindow::Clear() is now called ClearBackground() - pointer returned by wxFont::GetNativeFontInfo() must not be deleted now +- wxMouseEvent::Moving() doesn't return true if mouse is being dragged DEPRECATED METHODS SINCE 2.4.x diff --git a/docs/latex/wx/mouseevt.tex b/docs/latex/wx/mouseevt.tex index 75cb7c3c76..e7078931bd 100644 --- a/docs/latex/wx/mouseevt.tex +++ b/docs/latex/wx/mouseevt.tex @@ -62,72 +62,84 @@ functions that take a wxMouseEvent argument. \latexignore{\rtfignore{\wxheading{Members}}} + \membersection{wxMouseEvent::m\_altDown} \member{bool}{m\_altDown} true if the Alt key is pressed down. + \membersection{wxMouseEvent::m\_controlDown} \member{bool}{m\_controlDown} true if control key is pressed down. + \membersection{wxMouseEvent::m\_leftDown} \member{bool}{m\_leftDown} true if the left mouse button is currently pressed down. + \membersection{wxMouseEvent::m\_middleDown} \member{bool}{m\_middleDown} true if the middle mouse button is currently pressed down. + \membersection{wxMouseEvent::m\_rightDown} \member{bool}{m\_rightDown} true if the right mouse button is currently pressed down. + \membersection{wxMouseEvent::m\_metaDown} \member{bool}{m\_metaDown} true if the Meta key is pressed down. + \membersection{wxMouseEvent::m\_shiftDown} \member{bool}{m\_shiftDown} true if shift is pressed down. + \membersection{wxMouseEvent::m\_x} \member{long}{m\_x} X-coordinate of the event. + \membersection{wxMouseEvent::m\_y} \member{long}{m\_y} Y-coordinate of the event. + \membersection{wxMouseEvent::m\_wheelRotation} \member{int}{m\_wheelRotation} The distance the mouse wheel is rotated. + \membersection{wxMouseEvent::m\_wheelDelta} \member{int}{m\_wheelDelta} The wheel delta, normally $120$. + \membersection{wxMouseEvent::m\_linesPerAction} \member{int}{m\_linesPerAction} @@ -136,6 +148,7 @@ The configured number of lines (or whatever) to be scrolled per wheel action. + \membersection{wxMouseEvent::wxMouseEvent} \func{}{wxMouseEvent}{\param{WXTYPE}{ mouseEventType = 0}, \param{int}{ id = 0}} @@ -159,12 +172,14 @@ Constructor. Valid event types are: \item {\bf wxEVT\_MOUSEWHEEL} \end{itemize} + \membersection{wxMouseEvent::AltDown} \func{bool}{AltDown}{\void} Returns true if the Alt key was down at the time of the event. + \membersection{wxMouseEvent::Button}\label{wxmouseeventbutton} \func{bool}{Button}{\param{int}{ button}} @@ -179,6 +194,7 @@ values of {\it button} are: \twocolitem{{\tt wxMOUSE\_BTN\_ANY}}{check if any button was pressed} \end{twocollist} + \membersection{wxMouseEvent::ButtonDClick} \func{bool}{ButtonDClick}{\param{int}{ but = wxMOUSE\_BTN\_ANY}} @@ -188,6 +204,7 @@ double click event. Otherwise the argument specifies which double click event was generated (see \helpref{Button}{wxmouseeventbutton} for the possible values). + \membersection{wxMouseEvent::ButtonDown} \func{bool}{ButtonDown}{\param{int}{ but = -1}} @@ -198,6 +215,7 @@ was generated (see \helpref{Button}{wxmouseeventbutton} for the possible values). + \membersection{wxMouseEvent::ButtonUp} \func{bool}{ButtonUp}{\param{int}{ but = -1}} @@ -208,12 +226,14 @@ was generated (see \helpref{Button}{wxmouseeventbutton} for the possible values). + \membersection{wxMouseEvent::ControlDown} \func{bool}{ControlDown}{\void} Returns true if the control key was down at the time of the event. + \membersection{wxMouseEvent::Dragging}\label{wxmouseeventdragging} \func{bool}{Dragging}{\void} @@ -224,6 +244,7 @@ Returns true if this was a dragging event (motion while a button is depressed). \helpref{Moving}{wxmouseeventmoving} + \membersection{wxMouseEvent::Entering}\label{wxmouseevententering} \func{bool}{Entering}{\void} @@ -232,6 +253,7 @@ Returns true if the mouse was entering the window. See also \helpref{wxMouseEvent::Leaving}{wxmouseeventleaving}. + \membersection{wxMouseEvent::GetButton}\label{wxmouseeventgetbutton} \constfunc{int}{GetButton}{\void} @@ -242,6 +264,7 @@ Otherwise {\tt wxMOUSE\_BTN\_LEFT} is returned for the left button down, up and double click events, {\tt wxMOUSE\_BTN\_MIDDLE} and {\tt wxMOUSE\_BTN\_RIGHT} for the same events for the middle and the right buttons respectively. + \membersection{wxMouseEvent::GetPosition}\label{wxmouseeventgetposition} \constfunc{wxPoint}{GetPosition}{\void} @@ -254,6 +277,7 @@ Sets *x and *y to the position at which the event occurred. Returns the physical mouse position in pixels. + \membersection{wxMouseEvent::GetLogicalPosition}\label{wxmouseeventgetlogicalposition} \constfunc{wxPoint}{GetLogicalPosition}{\param{const wxDC\&}{ dc}} @@ -262,6 +286,7 @@ Returns the logical mouse position in pixels (i.e. translated according to the translation set for the DC, which usually indicates that the window has been scrolled). + \membersection{wxMouseEvent::GetLinesPerAction}\label{wxmouseeventgetlinesperaction} \constfunc{int}{GetLinesPerAction}{\void} @@ -269,6 +294,7 @@ translation set for the DC, which usually indicates that the window has been scr Returns the configured number of lines (or whatever) to be scrolled per wheel action. Defaults to three. + \membersection{wxMouseEvent::GetWheelRotation}\label{wxmouseeventgetwheelrotation} \constfunc{int}{GetWheelRotation}{\void} @@ -281,6 +307,7 @@ event is equal to 1 line or whatever, but you should be able to either do partial line scrolling or wait until +/-WheelDelta rotation values have been accumulated before scrolling. + \membersection{wxMouseEvent::GetWheelDelta}\label{wxmouseeventgetwheeldelta} \constfunc{int}{GetWheelDelta}{\void} @@ -289,18 +316,21 @@ Get wheel delta, normally $120$. This is the threshold for action to be taken, and one such action (for example, scrolling one increment) should occur for each delta. + \membersection{wxMouseEvent::GetX}\label{wxmouseeventgetx} \constfunc{long}{GetX}{\void} Returns X coordinate of the physical mouse event position. + \membersection{wxMouseEvent::GetY}\label{wxmouseeventgety} \func{long}{GetY}{\void} Returns Y coordinate of the physical mouse event position. + \membersection{wxMouseEvent::IsButton} \constfunc{bool}{IsButton}{\void} @@ -308,6 +338,7 @@ Returns Y coordinate of the physical mouse event position. Returns true if the event was a mouse button event (not necessarily a button down event - that may be tested using {\it ButtonDown}). + \membersection{wxMouseEvent::IsPageScroll} \constfunc{bool}{IsPageScroll}{\void} @@ -315,6 +346,7 @@ that may be tested using {\it ButtonDown}). Returns true if the system has been setup to do page scrolling with the mouse wheel instead of line scrolling. + \membersection{wxMouseEvent::Leaving}\label{wxmouseeventleaving} \constfunc{bool}{Leaving}{\void} @@ -323,18 +355,21 @@ Returns true if the mouse was leaving the window. See also \helpref{wxMouseEvent::Entering}{wxmouseevententering}. + \membersection{wxMouseEvent::LeftDClick} \constfunc{bool}{LeftDClick}{\void} Returns true if the event was a left double click. + \membersection{wxMouseEvent::LeftDown}\label{wxmouseeventleftdown} \constfunc{bool}{LeftDown}{\void} Returns true if the left mouse button changed to down. + \membersection{wxMouseEvent::LeftIsDown}\label{wxmouseeventleftisdown} \constfunc{bool}{LeftIsDown}{\void} @@ -350,30 +385,35 @@ before the event happened. This event is usually used in the mouse event handlers which process "move mouse" messages to determine whether the user is (still) dragging the mouse. + \membersection{wxMouseEvent::LeftUp} \constfunc{bool}{LeftUp}{\void} Returns true if the left mouse button changed to up. + \membersection{wxMouseEvent::MetaDown} \constfunc{bool}{MetaDown}{\void} Returns true if the Meta key was down at the time of the event. + \membersection{wxMouseEvent::MiddleDClick} \constfunc{bool}{MiddleDClick}{\void} Returns true if the event was a middle double click. + \membersection{wxMouseEvent::MiddleDown} \constfunc{bool}{MiddleDown}{\void} Returns true if the middle mouse button changed to down. + \membersection{wxMouseEvent::MiddleIsDown}\label{wxmouseeventmiddleisdown} \constfunc{bool}{MiddleIsDown}{\void} @@ -381,19 +421,22 @@ Returns true if the middle mouse button changed to down. Returns true if the middle mouse button is currently down, independent of the current event type. + \membersection{wxMouseEvent::MiddleUp} \constfunc{bool}{MiddleUp}{\void} Returns true if the middle mouse button changed to up. + \membersection{wxMouseEvent::Moving}\label{wxmouseeventmoving} \constfunc{bool}{Moving}{\void} -Returns true if this was a motion event (whether some buttons are currently -pressed or not, use \helpref{Dragging}{wxmouseeventdragging} if you need to -distinguish between these situations). +Returns true if this was a motion event and no mouse buttons were pressed. +If any mouse button is held pressed, then this method returns \false and +\helpref{Dragging}{wxmouseeventdragging} returns \true. + \membersection{wxMouseEvent::RightDClick} @@ -401,12 +444,14 @@ distinguish between these situations). Returns true if the event was a right double click. + \membersection{wxMouseEvent::RightDown} \constfunc{bool}{RightDown}{\void} Returns true if the right mouse button changed to down. + \membersection{wxMouseEvent::RightIsDown}\label{wxmouseeventrightisdown} \constfunc{bool}{RightIsDown}{\void} @@ -414,12 +459,14 @@ Returns true if the right mouse button changed to down. Returns true if the right mouse button is currently down, independent of the current event type. + \membersection{wxMouseEvent::RightUp} \constfunc{bool}{RightUp}{\void} Returns true if the right mouse button changed to up. + \membersection{wxMouseEvent::ShiftDown} \constfunc{bool}{ShiftDown}{\void} diff --git a/include/wx/event.h b/include/wx/event.h index 267ccbd8d0..c5277ee39a 100644 --- a/include/wx/event.h +++ b/include/wx/event.h @@ -722,12 +722,14 @@ public: // True if a button is down and the mouse is moving bool Dragging() const { - return ((m_eventType == wxEVT_MOTION) && - (LeftIsDown() || MiddleIsDown() || RightIsDown())); + return (m_eventType == wxEVT_MOTION) && ButtonDown(wxMOUSE_BTN_ANY); } // True if the mouse is moving, and no button is down - bool Moving() const { return (m_eventType == wxEVT_MOTION); } + bool Moving() const + { + return (m_eventType == wxEVT_MOTION) && !ButtonDown(wxMOUSE_BTN_ANY); + } // True if the mouse is just entering the window bool Entering() const { return (m_eventType == wxEVT_ENTER_WINDOW); } -- 2.45.2