X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FExtJmol.java;h=7a48770b0c203ed183bb312204d41525b02bc984;hb=207b06de28859536277608ad94897eaa526b1279;hp=6389250ee646e5c87345bd26588f21e5e01a3da7;hpb=47168f025aefdaa044802bd5f8f510ffe43a4808;p=jalview.git diff --git a/src/jalview/appletgui/ExtJmol.java b/src/jalview/appletgui/ExtJmol.java index 6389250..7a48770 100644 --- a/src/jalview/appletgui/ExtJmol.java +++ b/src/jalview/appletgui/ExtJmol.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) - * 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. * @@ -20,20 +20,24 @@ */ package jalview.appletgui; -import java.awt.Container; -import java.util.BitSet; -import java.util.Hashtable; -import java.util.Vector; - -import org.jmol.api.JmolAppConsoleInterface; -import org.jmol.api.JmolViewer; - import jalview.api.AlignmentViewPanel; import jalview.api.FeatureRenderer; import jalview.api.SequenceRenderer; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; import jalview.ext.jmol.JalviewJmolBinding; +import jalview.gui.IProgressIndicator; +import jalview.io.DataSourceType; + +import java.awt.Container; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Vector; + +import org.jmol.api.JmolAppConsoleInterface; +import org.jmol.java.BS; +import org.jmol.viewer.Viewer; /** * bind an alignment view to an external Jmol instance. @@ -46,23 +50,30 @@ public class ExtJmol extends JalviewJmolBinding private AlignmentPanel ap; - protected ExtJmol(jalview.appletgui.AlignFrame alframe, - PDBEntry[] pdbentry, SequenceI[][] seq, String[][] chains, - String protocol) + protected ExtJmol(AlignFrame alframe, + PDBEntry[] pdbentry, SequenceI[][] seq, + DataSourceType protocol) { super(alframe.alignPanel.getStructureSelectionManager(), pdbentry, seq, - chains, protocol); + protocol); } - public ExtJmol(JmolViewer viewer, AlignmentPanel alignPanel, + public ExtJmol(Viewer viewer, AlignmentPanel alignPanel, SequenceI[][] seqs) { - super(alignPanel.getStructureSelectionManager(), viewer); + super(alignPanel.getStructureSelectionManager(), seqs, viewer); ap = alignPanel; - this.sequence = seqs; notifyFileLoaded(null, null, null, null, 0); } + @Override + protected IProgressIndicator getIProgressIndicator() + { + // no progress indicators on applet (could access javascript for this) + return null; + } + + @Override public void updateColours(Object source) { @@ -70,17 +81,19 @@ public class ExtJmol extends JalviewJmolBinding } + @Override public void showUrl(String arg0) { showUrl(arg0, "jmol"); } + @Override public FeatureRenderer getFeatureRenderer(AlignmentViewPanel alignment) { - AlignmentPanel ap = (AlignmentPanel) alignment; - if (ap.av.showSequenceFeatures) + AlignmentPanel alignPanel = (AlignmentPanel) alignment; + if (alignPanel.av.isShowSequenceFeatures()) { - return ap.getFeatureRenderer(); + return alignPanel.getFeatureRenderer(); } else { @@ -88,66 +101,80 @@ public class ExtJmol extends JalviewJmolBinding } } + + @Override public SequenceRenderer getSequenceRenderer(AlignmentViewPanel alignment) { return ((AlignmentPanel) alignment).getSequenceRenderer(); } + @Override public void notifyScriptTermination(String strStatus, int msWalltime) { // ignore } + @Override public void sendConsoleEcho(String strEcho) { // ignore } + @Override public void sendConsoleMessage(String strStatus) { // ignore } + @Override public void showUrl(String url, String target) { ap.alignFrame.showURL(url, target); } + @Override public void refreshGUI() { // ignore } - public void selectionChanged(BitSet arg0) + @Override + public void selectionChanged(BS arg0) { System.out.println(arg0); } + @Override public void refreshPdbEntries() { - Vector pdbe = new Vector(); - Hashtable fileids = new Hashtable(); + List pdbe = new ArrayList(); + List fileids = new ArrayList(); SequenceI[] sq = ap.av.getAlignment().getSequencesArray(); for (int s = 0; s < sq.length; s++) { - Vector pdbids = sq[s].getPDBId(); + Vector pdbids = sq[s].getAllPDBEntries(); if (pdbids != null) { for (int pe = 0, peSize = pdbids.size(); pe < peSize; pe++) { - PDBEntry pentry = (PDBEntry) pdbids.elementAt(pe); - if (!fileids.containsKey(pentry.getId())) + PDBEntry pentry = pdbids.elementAt(pe); + if (!fileids.contains(pentry.getId())) + { + pdbe.add(pentry); + } + else { - pdbe.addElement(pentry); + fileids.add(pentry.getId()); } } } } - pdbentry = new PDBEntry[pdbe.size()]; + PDBEntry[] newEntries = new PDBEntry[pdbe.size()]; for (int pe = 0; pe < pdbe.size(); pe++) { - pdbentry[pe] = (PDBEntry) pdbe.elementAt(pe); + newEntries[pe] = pdbe.get(pe); } + setPdbentry(newEntries); } @Override @@ -161,7 +188,7 @@ public class ExtJmol extends JalviewJmolBinding } @Override - protected JmolAppConsoleInterface createJmolConsole(JmolViewer viewer2, + protected JmolAppConsoleInterface createJmolConsole( Container consolePanel, String buttonsToShow) { // TODO Auto-generated method stub @@ -172,19 +199,7 @@ public class ExtJmol extends JalviewJmolBinding protected void releaseUIResources() { ap = null; - if (console != null) - { - try - { - console.setVisible(false); - } catch (Error e) - { - } catch (Exception x) - { - } - ; - console = null; - } + closeConsole(); } @@ -195,4 +210,11 @@ public class ExtJmol extends JalviewJmolBinding } + @Override + public Map getJSpecViewProperty(String arg0) + { + // TODO Auto-generated method stub + return null; + } + }