temp push
[jalview.git] / src / jalview / javascript / MouseOverListener.java
index cb3fee7..7c74965 100644 (file)
@@ -1,31 +1,33 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * Jalview is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License 
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
  *  
  * Jalview is distributed in the hope that it will be useful, but 
  * WITHOUT ANY WARRANTY; without even the implied warranty 
  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
  * PURPOSE.  See the GNU General Public License for more details.
  * 
- * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
  * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 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;
 
-public class MouseOverListener extends JSFunctionExec implements
-        VamsasListener, JsCallBack
+public class MouseOverListener extends JSFunctionExec
+        implements VamsasListener, JsCallBack
 {
   AlignFrame _af;
 
@@ -35,7 +37,9 @@ public class MouseOverListener extends JSFunctionExec implements
 
   int i = -1;
 
-  public void mouseOver(SequenceI seq, int index, VamsasSource source)
+  @Override
+  public void mouseOverSequence(SequenceI seq, int index,
+          VamsasSource source)
   {
     if (seq != last || i != index)
     {
@@ -44,32 +48,18 @@ public class MouseOverListener extends JSFunctionExec implements
       // + seq + " at " + index);
       last = seq;
       i = index;
-      AlignFrame src = null;
+      Object alignFrame = jvlite.getFrameForSource(source);
       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,
+        executeJavascriptFunction(_listener,
                 new Object[]
-                { src, seq.getDisplayId(false), "" + (1 + i),
+                { alignFrame, seq.getDisplayId(false), "" + (1 + i),
                     "" + seq.findPosition(i) });
       } catch (Exception ex)
       {
 
-        System.err
-                .println("JalviewLite javascript error: Couldn't send mouseOver with handler '"
+        System.err.println(
+                "JalviewLite javascript error: Couldn't send mouseOver with handler '"
                         + _listener + "'");
         if (ex instanceof netscape.javascript.JSException)
         {
@@ -81,10 +71,10 @@ public class MouseOverListener extends JSFunctionExec implements
     }
   }
 
-  public MouseOverListener(JalviewLite applet, AlignFrame af,
-          String listener)
+  public MouseOverListener(JalviewApp applet, AlignFrame af,
+          String listener, boolean debug)
   {
-    super(applet);
+    super(applet, debug);
     _af = af;
     _listener = listener;
   }