X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjavascript%2FMouseOverListener.java;fp=src%2Fjalview%2Fjavascript%2FMouseOverListener.java;h=05fc57e151d947a6d812288762f7d18fdd4e11c7;hb=1786b6dbaf15f405c2e364f84891612ed0da3405;hp=0000000000000000000000000000000000000000;hpb=380f4ff71ab91c50ec7d920c52d8d1d0ba7d1bdc;p=jalview.git diff --git a/src/jalview/javascript/MouseOverListener.java b/src/jalview/javascript/MouseOverListener.java new file mode 100644 index 0000000..05fc57e --- /dev/null +++ b/src/jalview/javascript/MouseOverListener.java @@ -0,0 +1,57 @@ +package jalview.javascript; + +import jalview.appletgui.AlignFrame; +import jalview.bin.JalviewLite; +import jalview.datamodel.SequenceI; +import jalview.structure.VamsasListener; +import netscape.javascript.JSObject; + +public class MouseOverListener implements VamsasListener,JsCallBack +{ + JalviewLite jvlite; + AlignFrame _af; + String _listener; + SequenceI last = null; + + int i = -1; + + public void mouseOver(SequenceI seq, int index) + { + if (seq != last || i != index) + { + // this should really be a trace message. + // Cache.log.debug("Mouse over " + v.getId() + " bound to " + // + seq + " at " + index); + last = seq; + i = index; + try { + JSObject js = JSObject.getWindow(jvlite); + js.call(_listener, new Object[] { _af, seq.getDisplayId(false), ""+(1+i)}); + } catch (Exception ex) + { + System.err.println("JalviewLite javascript error: Couldn't send mouseOver with handler '"+_listener+"'"); + ex.printStackTrace(); + } + } + } + + public MouseOverListener(JalviewLite applet, AlignFrame af, String listener) + { + this.jvlite = applet; + _af = af; + _listener = listener; + } + @Override + public AlignFrame getAlignFrame() + { + return _af; + } + + @Override + public String getListenerFunction() + { + return _listener; + } + + +}