01: /*******************************************************************************
02: * Copyright (c) 2000, 2007 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: *******************************************************************************/package org.eclipse.swt.events;
11:
12: import org.eclipse.swt.widgets.Event;
13:
14: /**
15: * Instances of this class are sent whenever mouse
16: * related actions occur. This includes mouse buttons
17: * being pressed and released, the mouse pointer being
18: * moved and the mouse pointer crossing widget boundaries.
19: * <p>
20: * Note: The <code>button</code> field is an integer that
21: * represents the mouse button number. This is not the same
22: * as the <code>SWT</code> mask constants <code>BUTTONx</code>.
23: * </p>
24: *
25: * @see MouseListener
26: * @see MouseMoveListener
27: * @see MouseTrackListener
28: */
29:
30: public class MouseEvent extends TypedEvent {
31:
32: /**
33: * the button that was pressed or released; 1 for the
34: * first button, 2 for the second button, and 3 for the
35: * third button, etc.
36: */
37: public int button;
38:
39: /**
40: * the state of the keyboard modifier keys at the time
41: * the event was generated
42: */
43: public int stateMask;
44:
45: /**
46: * the widget-relative, x coordinate of the pointer
47: * at the time the mouse button was pressed or released
48: */
49: public int x;
50:
51: /**
52: * the widget-relative, y coordinate of the pointer
53: * at the time the mouse button was pressed or released
54: */
55: public int y;
56:
57: /**
58: * the number times the mouse has been clicked, as defined
59: * by the operating system; 1 for the first click, 2 for the
60: * second click and so on.
61: *
62: * @since 3.3
63: */
64: public int count;
65:
66: static final long serialVersionUID = 3257288037011566898L;
67:
68: /**
69: * Constructs a new instance of this class based on the
70: * information in the given untyped event.
71: *
72: * @param e the untyped event containing the information
73: */
74: public MouseEvent(Event e) {
75: super (e);
76: this .x = e.x;
77: this .y = e.y;
78: this .button = e.button;
79: this .stateMask = e.stateMask;
80: this .count = e.count;
81: }
82:
83: /**
84: * Returns a string containing a concise, human-readable
85: * description of the receiver.
86: *
87: * @return a string representation of the event
88: */
89: public String toString() {
90: String string = super .toString();
91: return string.substring(0, string.length() - 1) // remove trailing '}'
92: + " button=" + button + " stateMask="
93: + stateMask
94: + " x=" + x + " y=" + y + " count=" + count + "}";
95: }
96: }
|