JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / j2s / jalview / javascript / MouseOverListener.js
1 Clazz.declarePackage ("jalview.javascript");\r
2 Clazz.load (["jalview.javascript.JSFunctionExec", "$.JsCallBack", "jalview.structure.VamsasListener"], "jalview.javascript.MouseOverListener", ["jalview.appletgui.AlignViewport", "netscape.javascript.JSException"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this._af = null;\r
5 this._listener = null;\r
6 this.last = null;\r
7 this.i = -1;\r
8 Clazz.instantialize (this, arguments);\r
9 }, jalview.javascript, "MouseOverListener", jalview.javascript.JSFunctionExec, [jalview.structure.VamsasListener, jalview.javascript.JsCallBack]);\r
10 Clazz.overrideMethod (c$, "mouseOverSequence", \r
11 function (seq, index, source) {\r
12 if (seq !== this.last || this.i != index) {\r
13 this.last = seq;\r
14 this.i = index;\r
15 var src = null;\r
16 try {\r
17 if (source != null) {\r
18 if (Clazz.instanceOf (source, jalview.appletgui.AlignViewport) && (source).applet.currentAlignFrame.viewport === source) {\r
19 src = (source).applet.currentAlignFrame;\r
20 }}this.executeJavascriptFunction (this._listener,  Clazz.newArray (-1, [src, seq.getDisplayId (false), "" + (1 + this.i), "" + seq.findPosition (this.i)]));\r
21 } catch (ex) {\r
22 if (Clazz.exceptionOf (ex, Exception)) {\r
23 System.err.println ("JalviewLite javascript error: Couldn't send mouseOver with handler '" + this._listener + "'");\r
24 if (Clazz.instanceOf (ex, netscape.javascript.JSException)) {\r
25 System.err.println ("Javascript Exception: " + (ex).getMessage ());\r
26 }ex.printStackTrace ();\r
27 } else {\r
28 throw ex;\r
29 }\r
30 }\r
31 }}, "jalview.datamodel.SequenceI,~N,jalview.structure.VamsasSource");\r
32 Clazz.makeConstructor (c$, \r
33 function (applet, af, listener) {\r
34 Clazz.superConstructor (this, jalview.javascript.MouseOverListener, [applet]);\r
35 this._af = af;\r
36 this._listener = listener;\r
37 }, "jalview.bin.JalviewLite,jalview.appletgui.AlignFrame,~S");\r
38 Clazz.overrideMethod (c$, "getAlignFrame", \r
39 function () {\r
40 return this._af;\r
41 });\r
42 Clazz.overrideMethod (c$, "getListenerFunction", \r
43 function () {\r
44 return this._listener;\r
45 });\r
46 });\r