]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/mouseevt.tex
wxDataViewCtrl DnD stubs, some reformating
[wxWidgets.git] / docs / latex / wx / mouseevt.tex
index f8ccc69ed63f036fb04dcae776f63db882f5636b..8a6cfb7898ab76150526850a61158cb0cf7d5e96 100644 (file)
@@ -5,9 +5,18 @@ they include mouse buttons press and release events and mouse move events.
 
 All mouse events involving the buttons use {\tt wxMOUSE\_BTN\_LEFT} for the
 left mouse button, {\tt wxMOUSE\_BTN\_MIDDLE} for the middle one and
-{\tt wxMOUSE\_BTN\_RIGHT} for the right one. Note that not all mice have a
-middle button so a portable application should avoid relying on the events from
-it.
+{\tt wxMOUSE\_BTN\_RIGHT} for the right one. And if the system supports more
+buttons, the \texttt{wxMOUSE\_BTN\_AUX1} and \texttt{wxMOUSE\_BTN\_AUX2} events
+can also be generated. Note that not all mice have even a middle button so a
+portable application should avoid relying on the events from it (but the right
+button click can be emulated using the left mouse button with the control key
+under Mac platforms with a single button mouse).
+
+For the \texttt{wxEVT\_ENTER\_WINDOW} and \texttt{wxEVT\_LEAVE\_WINDOW} events
+purposes, the mouse is considered to be inside the window if it is in the
+window client area and not inside one of its children. In other words, the
+parent window receives \texttt{wxEVT\_LEAVE\_WINDOW} event not only when the
+mouse leaves the window entirely but also when it enters one of its children.
 
 {\bf NB:} Note that under Windows CE mouse enter and leave events are not natively supported
 by the system but are generated by wxWidgets itself. This has several
@@ -31,12 +40,17 @@ well.
 
 \wxheading{Derived from}
 
-\helpref{wxEvent}{wxevent}
+\helpref{wxEvent}{wxevent}\\
+\helpref{wxObject}{wxobject}
 
 \wxheading{Include files}
 
 <wx/event.h>
 
+\wxheading{Library}
+
+\helpref{wxCore}{librarieslist}
+
 \wxheading{Event table macros}
 
 To process a mouse event, use these event handler macros to direct input to member
@@ -56,6 +70,12 @@ wouldn't get the focus.}
 \twocolitem{{\bf EVT\_RIGHT\_DOWN(func)}}{Process a wxEVT\_RIGHT\_DOWN event.}
 \twocolitem{{\bf EVT\_RIGHT\_UP(func)}}{Process a wxEVT\_RIGHT\_UP event.}
 \twocolitem{{\bf EVT\_RIGHT\_DCLICK(func)}}{Process a wxEVT\_RIGHT\_DCLICK event.}
+\twocolitem{{\bf EVT\_MOUSE\_AUX1\_DOWN(func)}}{Process a wxEVT\_MOUSE\_AUX1\_DOWN event.}
+\twocolitem{{\bf EVT\_MOUSE\_AUX1\_UP(func)}}{Process a wxEVT\_MOUSE\_AUX1\_UP event.}
+\twocolitem{{\bf EVT\_MOUSE\_AUX1\_DCLICK(func)}}{Process a wxEVT\_MOUSE\_AUX1\_DCLICK event.}
+\twocolitem{{\bf EVT\_MOUSE\_AUX2\_DOWN(func)}}{Process a wxEVT\_MOUSE\_AUX2\_DOWN event.}
+\twocolitem{{\bf EVT\_MOUSE\_AUX2\_UP(func)}}{Process a wxEVT\_MOUSE\_AUX2\_UP event.}
+\twocolitem{{\bf EVT\_MOUSE\_AUX2\_DCLICK(func)}}{Process a wxEVT\_MOUSE\_AUX2\_DCLICK event.}
 \twocolitem{{\bf EVT\_MOTION(func)}}{Process a wxEVT\_MOTION event.}
 \twocolitem{{\bf EVT\_ENTER\_WINDOW(func)}}{Process a wxEVT\_ENTER\_WINDOW event.}
 \twocolitem{{\bf EVT\_LEAVE\_WINDOW(func)}}{Process a wxEVT\_LEAVE\_WINDOW event.}
@@ -171,6 +191,12 @@ Constructor. Valid event types are:
 \item {\bf wxEVT\_RIGHT\_DOWN}
 \item {\bf wxEVT\_RIGHT\_UP}
 \item {\bf wxEVT\_RIGHT\_DCLICK}
+\item {\bf wxEVT\_MOUSE\_AUX1\_DOWN}
+\item {\bf wxEVT\_MOUSE\_AUX1\_UP}
+\item {\bf wxEVT\_MOUSE\_AUX1\_DCLICK}
+\item {\bf wxEVT\_MOUSE\_AUX2\_DOWN}
+\item {\bf wxEVT\_MOUSE\_AUX2\_UP}
+\item {\bf wxEVT\_MOUSE\_AUX2\_DCLICK}
 \item {\bf wxEVT\_MOTION}
 \item {\bf wxEVT\_MOUSEWHEEL}
 \end{itemize}
@@ -183,6 +209,64 @@ Constructor. Valid event types are:
 Returns true if the Alt key was down at the time of the event.
 
 
+\membersection{wxMouseEvent::Aux1DClick}\label{wxmouseeventaux1dclick}
+
+\constfunc{bool}{Aux1DClick}{\void}
+
+Returns true if the event was a first extra button double click.
+
+
+\membersection{wxMouseEvent::Aux1Down}\label{wxmouseeventaux1down}
+
+\constfunc{bool}{Aux1Down}{\void}
+
+Returns true if the first extra button mouse button changed to down.
+
+
+\membersection{wxMouseEvent::Aux1IsDown}\label{wxmouseeventaux1isdown}
+
+\constfunc{bool}{Aux1IsDown}{\void}
+
+Returns true if the first extra button mouse button is currently down, independent
+of the current event type.
+
+
+\membersection{wxMouseEvent::Aux1Up}\label{wxmouseeventaux1up}
+
+\constfunc{bool}{Aux1Up}{\void}
+
+Returns true if the first extra button mouse button changed to up.
+
+
+\membersection{wxMouseEvent::Aux2DClick}\label{wxmouseeventaux2dclick}
+
+\constfunc{bool}{Aux2DClick}{\void}
+
+Returns true if the event was a second extra button double click.
+
+
+\membersection{wxMouseEvent::Aux2Down}\label{wxmouseeventaux2down}
+
+\constfunc{bool}{Aux2Down}{\void}
+
+Returns true if the second extra button mouse button changed to down.
+
+
+\membersection{wxMouseEvent::Aux2IsDown}\label{wxmouseeventaux2isdown}
+
+\constfunc{bool}{Aux2IsDown}{\void}
+
+Returns true if the second extra button mouse button is currently down, independent
+of the current event type.
+
+
+\membersection{wxMouseEvent::Aux2Up}\label{wxmouseeventaux2up}
+
+\constfunc{bool}{Aux2Up}{\void}
+
+Returns true if the second extra button mouse button changed to up.
+
+
 \membersection{wxMouseEvent::Button}\label{wxmouseeventbutton}
 
 \func{bool}{Button}{\param{int}{ button}}
@@ -194,6 +278,8 @@ values of {\it button} are:
 \twocolitem{{\tt wxMOUSE\_BTN\_LEFT}}{check if left button was pressed}
 \twocolitem{{\tt wxMOUSE\_BTN\_MIDDLE}}{check if middle button was pressed}
 \twocolitem{{\tt wxMOUSE\_BTN\_RIGHT}}{check if right button was pressed}
+\twocolitem{{\tt wxMOUSE\_BTN\_AUX1}}{check if the first extra button was pressed}
+\twocolitem{{\tt wxMOUSE\_BTN\_AUX2}}{check if the second extra button was pressed}
 \twocolitem{{\tt wxMOUSE\_BTN\_ANY}}{check if any button was pressed}
 \end{twocollist}
 
@@ -280,6 +366,20 @@ 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::GetClickCount}\label{wxmouseeventgetclickcount}
+
+\constfunc{int}{GetClickCount}{\void}
+
+Returns the number of mouse clicks for this event: $1$ for a simple click, $2$
+for a double-click, $3$ for a triple-click and so on.
+
+Currently this function is implemented only in wxMac and returns $-1$ for the
+other platforms (you can still distinguish simple clicks from double-clicks as
+they generate different kinds of events however).
+
+\newsince{2.9.0}
+
+
 \membersection{wxMouseEvent::GetPosition}\label{wxmouseeventgetposition}
 
 \constfunc{wxPoint}{GetPosition}{\void}
@@ -319,12 +419,11 @@ wheel action.  Defaults to three.
 \constfunc{int}{GetWheelRotation}{\void}
 
 Get wheel rotation, positive or negative indicates direction of
-rotation.  Current devices all send an event when rotation is equal to
-+/-WheelDelta, but this allows for finer resolution devices to be
-created in the future.  Because of this you shouldn't assume that one
-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.
+rotation.  Current devices all send an event when rotation is at least
++/-WheelDelta, but finer resolution devices can be created in the future.
+Because of this you shouldn't assume that one event is equal to 1 line, but you
+should be able to either do partial line scrolling or wait until several
+events accumulate before scrolling.
 
 
 \membersection{wxMouseEvent::GetWheelDelta}\label{wxmouseeventgetwheeldelta}