X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FAlignFrame.java;h=adb0da5dbad6957f0c02b6f6bad831317d7a07ac;hb=113a10be0f01e898644fba0e6a6ba854c9d8e671;hp=ccf7c06132d2e50d2592a0e6e28467b6c6a36c9e;hpb=c68ebaddf1925d9458aab5f2fea6e6f3240b3b99;p=jalview.git diff --git a/src/jalview/appletgui/AlignFrame.java b/src/jalview/appletgui/AlignFrame.java index ccf7c06..adb0da5 100755 --- a/src/jalview/appletgui/AlignFrame.java +++ b/src/jalview/appletgui/AlignFrame.java @@ -21,6 +21,7 @@ import java.io.*; import java.net.*; import java.util.*; +import java.applet.Applet; import java.awt.*; import java.awt.event.*; @@ -2580,8 +2581,14 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, { System.out.println("Show url: " + url); } - viewport.applet.getAppletContext().showDocument( + if (url.indexOf("javascript:")==0) + { + // no target for the javascript context + viewport.applet.getAppletContext().showDocument(new java.net.URL(url)); + } else{ + viewport.applet.getAppletContext().showDocument( new java.net.URL(url), target); + } } catch (Exception ex) { ex.printStackTrace(); @@ -3184,21 +3191,152 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, } } - public SequenceStructureBinding addJmolInstance(JmolViewer viewer, String[] sequenceIds) + /** + * create a new binding between structures in an existing jmol viewer instance + * and an alignpanel with sequences that have existing PDBFile entries. Note, + * this does not open a new Jmol window, or modify the display of the + * structures in the original jmol window. Note + * + * @param viewer JmolViewer instance + * @param sequenceIds + * - sequence Ids to search for associations + * This method doesn't work. See http://issues.jalview.org/browse/JAL-621 + * + public SequenceStructureBinding addStructureViewInstance(Object jmolviewer, String[] sequenceIds) { + org.jmol.api.JmolViewer viewer=null; + try { + viewer = (org.jmol.api.JmolViewer) jmolviewer; + } + catch (ClassCastException ex) { + System.err.println("Unsupported viewer object :"+jmolviewer.getClass()); + } + if (viewer==null) + { + System.err.println("Can't use this object as a structure viewer:"+jmolviewer.getClass()); + return null; + } SequenceI[] seqs=null; if (sequenceIds==null || sequenceIds.length==0) { seqs = viewport.getAlignment().getSequencesArray(); } else { - // resolve seqs for sequenceIds. + Vector sqi=new Vector(); + AlignmentI al = viewport.getAlignment(); + for (int sid=0;sid0) { + seqs = new SequenceI[sqi.size()]; + for (int sid=0,sSize=sqi.size();sid0) + { + for (int pe=0,peSize=pdbe.size(); pe