X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjavascript%2FJsSelectionSender.java;h=6302ef2ffb6052c697f94221f97eb5a247a852b2;hb=ab43013b7e357b84b4abade0dba949668dfb2a0e;hp=d94836342755f6be15d49843bd4496b79ea670d9;hpb=b97119fa4abbda0ef3d8e6e36f4634a06d79d411;p=jalview.git diff --git a/src/jalview/javascript/JsSelectionSender.java b/src/jalview/javascript/JsSelectionSender.java index d948363..6302ef2 100644 --- a/src/jalview/javascript/JsSelectionSender.java +++ b/src/jalview/javascript/JsSelectionSender.java @@ -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 . + * 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() {