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