JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / j2s / java / awt / event / MouseEvent.js
1 Clazz.declarePackage ("java.awt.event");\r
2 Clazz.load (["java.awt.event.InputEvent"], "java.awt.event.MouseEvent", ["java.lang.IllegalArgumentException", "$.StringBuilder", "java.awt.Point", "$.Toolkit"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.x = 0;\r
5 this.y = 0;\r
6 this.xAbs = 0;\r
7 this.yAbs = 0;\r
8 this.clickCount = 0;\r
9 this.button = 0;\r
10 this.popupTrigger = false;\r
11 Clazz.instantialize (this, arguments);\r
12 }, java.awt.event, "MouseEvent", java.awt.event.InputEvent);\r
13 Clazz.defineMethod (c$, "getLocationOnScreen", \r
14 function () {\r
15 return  new java.awt.Point (this.xAbs, this.yAbs);\r
16 });\r
17 Clazz.defineMethod (c$, "getXOnScreen", \r
18 function () {\r
19 return this.xAbs;\r
20 });\r
21 Clazz.defineMethod (c$, "getYOnScreen", \r
22 function () {\r
23 return this.yAbs;\r
24 });\r
25 Clazz.makeConstructor (c$, \r
26 function (source, id, when, modifiers, x, y, clickCount, popupTrigger, button) {\r
27 this.construct (source, id, when, modifiers, x, y, 0, 0, clickCount, popupTrigger, button);\r
28 var eventLocationOnScreen =  new java.awt.Point (0, 0);\r
29 try {\r
30 eventLocationOnScreen = source.getLocationOnScreen ();\r
31 this.xAbs = eventLocationOnScreen.x + x;\r
32 this.yAbs = eventLocationOnScreen.y + y;\r
33 } catch (e) {\r
34 if (Clazz.exceptionOf (e, java.awt.IllegalComponentStateException)) {\r
35 this.xAbs = 0;\r
36 this.yAbs = 0;\r
37 } else {\r
38 throw e;\r
39 }\r
40 }\r
41 }, "java.awt.Component,~N,~N,~N,~N,~N,~N,~B,~N");\r
42 Clazz.makeConstructor (c$, \r
43 function (source, id, when, modifiers, x, y, clickCount, popupTrigger) {\r
44 this.construct (source, id, when, modifiers, x, y, clickCount, popupTrigger, 0);\r
45 }, "java.awt.Component,~N,~N,~N,~N,~N,~N,~B");\r
46 Clazz.makeConstructor (c$, \r
47 function (source, id, when, modifiers, x, y, xAbs, yAbs, clickCount, popupTrigger, button) {\r
48 Clazz.superConstructor (this, java.awt.event.MouseEvent, [source, id, when, modifiers]);\r
49 this.x = x;\r
50 this.y = y;\r
51 this.xAbs = xAbs;\r
52 this.yAbs = yAbs;\r
53 this.clickCount = clickCount;\r
54 this.popupTrigger = popupTrigger;\r
55 if (button < 0 || button > 3) {\r
56 throw  new IllegalArgumentException ("Invalid button value");\r
57 }this.button = button;\r
58 if ((this.getModifiers () != 0) && (this.getModifiersEx () == 0)) {\r
59 this.setNewModifiers ();\r
60 } else if ((this.getModifiers () == 0) && (this.getModifiersEx () != 0 || button != 0)) {\r
61 this.setOldModifiers ();\r
62 }}, "java.awt.Component,~N,~N,~N,~N,~N,~N,~N,~N,~B,~N");\r
63 Clazz.defineMethod (c$, "getX", \r
64 function () {\r
65 return this.x;\r
66 });\r
67 Clazz.defineMethod (c$, "getY", \r
68 function () {\r
69 return this.y;\r
70 });\r
71 Clazz.defineMethod (c$, "getPoint", \r
72 function () {\r
73 var x;\r
74 var y;\r
75 {\r
76 x = this.x;\r
77 y = this.y;\r
78 }return  new java.awt.Point (x, y);\r
79 });\r
80 Clazz.defineMethod (c$, "translatePoint", \r
81 function (x, y) {\r
82 this.x += x;\r
83 this.y += y;\r
84 }, "~N,~N");\r
85 Clazz.defineMethod (c$, "getClickCount", \r
86 function () {\r
87 return this.clickCount;\r
88 });\r
89 Clazz.defineMethod (c$, "getButton", \r
90 function () {\r
91 return this.button;\r
92 });\r
93 Clazz.defineMethod (c$, "isPopupTrigger", \r
94 function () {\r
95 return this.popupTrigger;\r
96 });\r
97 c$.getMouseModifiersText = Clazz.defineMethod (c$, "getMouseModifiersText", \r
98 function (modifiers) {\r
99 var buf =  new StringBuilder ();\r
100 if ((modifiers & 8) != 0) {\r
101 buf.append (java.awt.Toolkit.getProperty ("AWT.alt", "Alt"));\r
102 buf.append ("+");\r
103 }if ((modifiers & 4) != 0) {\r
104 buf.append (java.awt.Toolkit.getProperty ("AWT.meta", "Meta"));\r
105 buf.append ("+");\r
106 }if ((modifiers & 2) != 0) {\r
107 buf.append (java.awt.Toolkit.getProperty ("AWT.control", "Ctrl"));\r
108 buf.append ("+");\r
109 }if ((modifiers & 1) != 0) {\r
110 buf.append (java.awt.Toolkit.getProperty ("AWT.shift", "Shift"));\r
111 buf.append ("+");\r
112 }if ((modifiers & 32) != 0) {\r
113 buf.append (java.awt.Toolkit.getProperty ("AWT.altGraph", "Alt Graph"));\r
114 buf.append ("+");\r
115 }if ((modifiers & 16) != 0) {\r
116 buf.append (java.awt.Toolkit.getProperty ("AWT.button1", "Button1"));\r
117 buf.append ("+");\r
118 }if ((modifiers & 8) != 0) {\r
119 buf.append (java.awt.Toolkit.getProperty ("AWT.button2", "Button2"));\r
120 buf.append ("+");\r
121 }if ((modifiers & 4) != 0) {\r
122 buf.append (java.awt.Toolkit.getProperty ("AWT.button3", "Button3"));\r
123 buf.append ("+");\r
124 }if (buf.length () > 0) {\r
125 buf.setLength (buf.length () - 1);\r
126 }return buf.toString ();\r
127 }, "~N");\r
128 Clazz.overrideMethod (c$, "paramString", \r
129 function () {\r
130 var str =  new StringBuilder (80);\r
131 str.append (java.awt.event.MouseEvent.getIdString (this.id));\r
132 str.append (",(" + this.x).append ("," + this.y).append ("," + this.when).append (")");\r
133 str.append (",absolute(").append ("" + this.xAbs).append (",").append ("" + this.yAbs).append (")");\r
134 str.append (",button=").append ("" + this.getButton ());\r
135 if (this.getModifiers () != 0) {\r
136 str.append (",modifiers=").append (java.awt.event.MouseEvent.getMouseModifiersText (this.modifiers));\r
137 }if (this.getModifiersEx () != 0) {\r
138 str.append (",extModifiers=").append (java.awt.event.InputEvent.getModifiersExText (this.modifiers));\r
139 }str.append (",clickCount=").append ("" + this.clickCount);\r
140 return str.toString ();\r
141 });\r
142 c$.getIdString = Clazz.defineMethod (c$, "getIdString", \r
143 function (id) {\r
144 switch (id) {\r
145 case 501:\r
146 return "MOUSE_PRESSED";\r
147 case 502:\r
148 return "MOUSE_RELEASED";\r
149 case 500:\r
150 return "MOUSE_CLICKED";\r
151 case 504:\r
152 return "MOUSE_ENTERED";\r
153 case 505:\r
154 return "MOUSE_EXITED";\r
155 case 503:\r
156 return "MOUSE_MOVED";\r
157 case 506:\r
158 return "MOUSE_DRAGGED";\r
159 case 507:\r
160 return "MOUSE_WHEEL";\r
161 default:\r
162 return "unknown type";\r
163 }\r
164 }, "~N");\r
165 Clazz.defineMethod (c$, "setNewModifiers", \r
166  function () {\r
167 if ((this.modifiers & 16) != 0) {\r
168 this.modifiers |= 1024;\r
169 }if ((this.modifiers & 8) != 0) {\r
170 this.modifiers |= 2048;\r
171 }if ((this.modifiers & 4) != 0) {\r
172 this.modifiers |= 4096;\r
173 }if (this.id == 501 || this.id == 502 || this.id == 500) {\r
174 if ((this.modifiers & 16) != 0) {\r
175 this.button = 1;\r
176 this.modifiers &= -13;\r
177 if (this.id != 501) {\r
178 this.modifiers &= -1025;\r
179 }} else if ((this.modifiers & 8) != 0) {\r
180 this.button = 2;\r
181 this.modifiers &= -21;\r
182 if (this.id != 501) {\r
183 this.modifiers &= -2049;\r
184 }} else if ((this.modifiers & 4) != 0) {\r
185 this.button = 3;\r
186 this.modifiers &= -25;\r
187 if (this.id != 501) {\r
188 this.modifiers &= -4097;\r
189 }}}if ((this.modifiers & 8) != 0) {\r
190 this.modifiers |= 512;\r
191 }if ((this.modifiers & 4) != 0) {\r
192 this.modifiers |= 256;\r
193 }if ((this.modifiers & 1) != 0) {\r
194 this.modifiers |= 64;\r
195 }if ((this.modifiers & 2) != 0) {\r
196 this.modifiers |= 128;\r
197 }if ((this.modifiers & 32) != 0) {\r
198 this.modifiers |= 8192;\r
199 }});\r
200 Clazz.defineMethod (c$, "setOldModifiers", \r
201  function () {\r
202 if (this.id == 501 || this.id == 502 || this.id == 500) {\r
203 switch (this.button) {\r
204 case 1:\r
205 this.modifiers |= 16;\r
206 break;\r
207 case 2:\r
208 this.modifiers |= 8;\r
209 break;\r
210 case 3:\r
211 this.modifiers |= 4;\r
212 break;\r
213 }\r
214 } else {\r
215 if ((this.modifiers & 1024) != 0) {\r
216 this.modifiers |= 16;\r
217 }if ((this.modifiers & 2048) != 0) {\r
218 this.modifiers |= 8;\r
219 }if ((this.modifiers & 4096) != 0) {\r
220 this.modifiers |= 4;\r
221 }}if ((this.modifiers & 512) != 0) {\r
222 this.modifiers |= 8;\r
223 }if ((this.modifiers & 256) != 0) {\r
224 this.modifiers |= 4;\r
225 }if ((this.modifiers & 64) != 0) {\r
226 this.modifiers |= 1;\r
227 }if ((this.modifiers & 128) != 0) {\r
228 this.modifiers |= 2;\r
229 }if ((this.modifiers & 8192) != 0) {\r
230 this.modifiers |= 32;\r
231 }});\r
232 Clazz.defineStatics (c$,\r
233 "MOUSE_FIRST", 500,\r
234 "MOUSE_LAST", 507,\r
235 "MOUSE_CLICKED", 500,\r
236 "MOUSE_PRESSED", 501,\r
237 "MOUSE_RELEASED", 502,\r
238 "MOUSE_MOVED", 503,\r
239 "MOUSE_ENTERED", 504,\r
240 "MOUSE_EXITED", 505,\r
241 "MOUSE_DRAGGED", 506,\r
242 "MOUSE_WHEEL", 507,\r
243 "NOBUTTON", 0,\r
244 "BUTTON1", 1,\r
245 "BUTTON2", 2,\r
246 "BUTTON3", 3);\r
247 });\r