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 extends JSFunctionExec implements VamsasListener,JsCallBack { 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 { executeJavascriptFunction(_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+"'"); if (ex instanceof netscape.javascript.JSException) { System.err.println("Javascript Exception: "+((netscape.javascript.JSException)ex).getMessage()); } ex.printStackTrace(); } } } public MouseOverListener(JalviewLite applet, AlignFrame af, String listener) { super(applet); _af = af; _listener = listener; } @Override public AlignFrame getAlignFrame() { return _af; } @Override public String getListenerFunction() { return _listener; } }