JAL-3210 Barebones gradle/buildship/eclipse. See README
[jalview.git] / src / jalview / javascript / MouseOverListener.java
index 7c74965..6a4d0f8 100644 (file)
@@ -20,8 +20,8 @@
  */
 package jalview.javascript;
 
-import jalview.api.JalviewApp;
 import jalview.appletgui.AlignFrame;
+import jalview.bin.JalviewLite;
 import jalview.datamodel.SequenceI;
 import jalview.structure.VamsasListener;
 import jalview.structure.VamsasSource;
@@ -48,12 +48,25 @@ public class MouseOverListener extends JSFunctionExec
       // + seq + " at " + index);
       last = seq;
       i = index;
-      Object alignFrame = jvlite.getFrameForSource(source);
+      AlignFrame src = null;
       try
       {
+        if (source != null)
+        {
+          if (source instanceof jalview.appletgui.AlignViewport
+                  && ((jalview.appletgui.AlignViewport) source).applet.currentAlignFrame.viewport == source)
+          {
+            // should be valid if it just generated an event!
+            src = ((jalview.appletgui.AlignViewport) source).applet.currentAlignFrame;
+
+          }
+          // TODO: ensure that if '_af' is specified along with a handler
+          // function, then only events from that alignFrame are sent to that
+          // function
+        }
         executeJavascriptFunction(_listener,
                 new Object[]
-                { alignFrame, seq.getDisplayId(false), "" + (1 + i),
+                { src, seq.getDisplayId(false), "" + (1 + i),
                     "" + seq.findPosition(i) });
       } catch (Exception ex)
       {
@@ -71,10 +84,10 @@ public class MouseOverListener extends JSFunctionExec
     }
   }
 
-  public MouseOverListener(JalviewApp applet, AlignFrame af,
-          String listener, boolean debug)
+  public MouseOverListener(JalviewLite applet, AlignFrame af,
+          String listener)
   {
-    super(applet, debug);
+    super(applet);
     _af = af;
     _listener = listener;
   }