--- /dev/null
+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;
+ }
+
+
+}