JAL-1620 version bump and release notes
[jalview.git] / src / jalview / javascript / JsSelectionSender.java
index d948363..6302ef2 100644 (file)
@@ -1,13 +1,30 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2b1)
+ * Copyright (C) 2014 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.
+ *  
+ * 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/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
 package jalview.javascript;
 
-import java.net.URL;
 import jalview.appletgui.AlignFrame;
-import jalview.appletgui.AlignViewport;
 import jalview.bin.JalviewLite;
 import jalview.datamodel.ColumnSelection;
 import jalview.datamodel.SequenceGroup;
 import jalview.structure.SelectionSource;
-import netscape.javascript.JSObject;
 
 public class JsSelectionSender extends JSFunctionExec implements
         jalview.structure.SelectionListener, JsCallBack
@@ -35,34 +52,16 @@ public class JsSelectionSender extends JSFunctionExec implements
       String setid = "";
       String viewid = "";
       AlignFrame src = _af;
-      // filter events if necessary
-      if (source instanceof AlignViewport)
+      if (source != null)
       {
-        if (_af != null
-                && !_af.alignPanel.av.getSequenceSetId().equals(
-                        ((AlignViewport) source).getSequenceSetId()))
+        if (source instanceof jalview.appletgui.AlignViewport
+                && ((jalview.appletgui.AlignViewport) source).applet.currentAlignFrame.viewport == source)
         {
-          return;
-        }
-        jalview.appletgui.AlignmentPanel[] aps = jalview.appletgui.PaintRefresher
-                .getAssociatedPanels(setid = ((AlignViewport) source)
-                        .getSequenceSetId());
-        for (int a = 0; a < aps.length; a++)
-        {
-          System.out.println("Selection: testing source alignPanel : "
-                  + aps[a].getName());
-          if (aps[a].av == source)
-          {
-            src = aps[a].alignFrame;
-          }
+          // should be valid if it just generated an event!
+          src = ((jalview.appletgui.AlignViewport) source).applet.currentAlignFrame;
+
         }
       }
-      else
-      {
-        // unhandled!
-        System.err.println("Unhandled selection source !");
-        return;
-      }
       String[] seqs = new String[]
       {};
       String[] cols = new String[]
@@ -80,7 +79,7 @@ public class JsSelectionSender extends JSFunctionExec implements
         {
           strt = seqsel.getStartRes();
         }
-        if (end==-1 || end > seqsel.getEndRes())
+        if (end == -1 || end > seqsel.getEndRes())
         {
           end = seqsel.getEndRes();
         }
@@ -112,10 +111,11 @@ public class JsSelectionSender extends JSFunctionExec implements
 
       }
       System.err.println("Relaying selection to jsfunction:" + _listener);
-      executeJavascriptFunction( _listener,
-                new Object[]
-                { src, setid, jvlite.arrayToSeparatorList(seqs),
-                    jvlite.arrayToSeparatorList(cols) });
+      executeJavascriptFunction(
+              _listener,
+              new Object[]
+              { src, setid, jvlite.arrayToSeparatorList(seqs),
+                  jvlite.arrayToSeparatorList(cols) });
     } catch (Exception ex)
     {
       System.err
@@ -132,7 +132,6 @@ public class JsSelectionSender extends JSFunctionExec implements
     }
   }
 
-
   @Override
   public AlignFrame getAlignFrame()
   {