Mercurial > projects > dwt-win
comparison dwt/events/MouseEvent.d @ 0:5406a8f6526d
Add initial files
author | John Reimer <terminal.node@gmail.com |
---|---|
date | Sun, 20 Jan 2008 21:50:55 -0800 |
parents | |
children | bef1ed4ebc50 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:5406a8f6526d |
---|---|
1 /******************************************************************************* | |
2 * Copyright (c) 2000, 2007 IBM Corporation and others. | |
3 * All rights reserved. This program and the accompanying materials | |
4 * are made available under the terms of the Eclipse Public License v1.0 | |
5 * which accompanies this distribution, and is available at | |
6 * http://www.eclipse.org/legal/epl-v10.html | |
7 * | |
8 * Contributors: | |
9 * IBM Corporation - initial API and implementation | |
10 * Port to the D programming language: | |
11 * Frank Benoit <benoit@tionex.de> | |
12 *******************************************************************************/ | |
13 module dwt.events.MouseEvent; | |
14 | |
15 | |
16 import dwt.widgets.Event; | |
17 import dwt.events.TypedEvent; | |
18 | |
19 import tango.text.convert.Format; | |
20 | |
21 /** | |
22 * Instances of this class are sent whenever mouse | |
23 * related actions occur. This includes mouse buttons | |
24 * being pressed and released, the mouse pointer being | |
25 * moved and the mouse pointer crossing widget boundaries. | |
26 * <p> | |
27 * Note: The <code>button</code> field is an integer that | |
28 * represents the mouse button number. This is not the same | |
29 * as the <code>DWT</code> mask constants <code>BUTTONx</code>. | |
30 * </p> | |
31 * | |
32 * @see MouseListener | |
33 * @see MouseMoveListener | |
34 * @see MouseTrackListener | |
35 */ | |
36 | |
37 public class MouseEvent : TypedEvent { | |
38 | |
39 /** | |
40 * the button that was pressed or released; 1 for the | |
41 * first button, 2 for the second button, and 3 for the | |
42 * third button, etc. | |
43 */ | |
44 public int button; | |
45 | |
46 /** | |
47 * the state of the keyboard modifier keys at the time | |
48 * the event was generated | |
49 */ | |
50 public int stateMask; | |
51 | |
52 /** | |
53 * the widget-relative, x coordinate of the pointer | |
54 * at the time the mouse button was pressed or released | |
55 */ | |
56 public int x; | |
57 | |
58 /** | |
59 * the widget-relative, y coordinate of the pointer | |
60 * at the time the mouse button was pressed or released | |
61 */ | |
62 public int y; | |
63 | |
64 /** | |
65 * the number times the mouse has been clicked, as defined | |
66 * by the operating system; 1 for the first click, 2 for the | |
67 * second click and so on. | |
68 * | |
69 * @since 3.3 | |
70 */ | |
71 public int count; | |
72 | |
73 //static final long serialVersionUID = 3257288037011566898L; | |
74 | |
75 /** | |
76 * Constructs a new instance of this class based on the | |
77 * information in the given untyped event. | |
78 * | |
79 * @param e the untyped event containing the information | |
80 */ | |
81 public this(Event e) { | |
82 super(e); | |
83 this.x = e.x; | |
84 this.y = e.y; | |
85 this.button = e.button; | |
86 this.stateMask = e.stateMask; | |
87 this.count = e.count; | |
88 } | |
89 | |
90 /** | |
91 * Returns a string containing a concise, human-readable | |
92 * description of the receiver. | |
93 * | |
94 * @return a string representation of the event | |
95 */ | |
96 public char[] toString() { | |
97 return Format( "{} button={} stateMask={} x={} y={} count={}}", | |
98 super.toString[ 0 .. $-2 ], | |
99 button, stateMask, x, y, count ); | |
100 } | |
101 } |