X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FExtJmol.java;h=cec77d2fb4e131d90eec93c0e2a9fa7626196d2c;hb=ad15cff29620f960119f80176f1fd443da9f6763;hp=d3dad58f982edccc05f422578f0e94b0eae4b445;hpb=8a6fa9ea9900d0f106529c3f6283e7f9d76dd2cb;p=jalview.git diff --git a/src/jalview/appletgui/ExtJmol.java b/src/jalview/appletgui/ExtJmol.java index d3dad58..cec77d2 100644 --- a/src/jalview/appletgui/ExtJmol.java +++ b/src/jalview/appletgui/ExtJmol.java @@ -1,36 +1,41 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6) - * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle + * 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 . + * 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.appletgui; +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 java.awt.Container; +import java.util.ArrayList; import java.util.BitSet; -import java.util.Hashtable; +import java.util.List; import java.util.Vector; import org.jmol.api.JmolAppConsoleInterface; import org.jmol.api.JmolViewer; -import jalview.api.FeatureRenderer; -import jalview.api.SequenceRenderer; -import jalview.datamodel.PDBEntry; -import jalview.datamodel.SequenceI; -import jalview.ext.jmol.JalviewJmolBinding; - /** * bind an alignment view to an external Jmol instance. * @@ -46,15 +51,15 @@ public class ExtJmol extends JalviewJmolBinding PDBEntry[] pdbentry, SequenceI[][] seq, String[][] chains, String protocol) { - super(pdbentry, seq, chains, protocol); + super(alframe.alignPanel.getStructureSelectionManager(), pdbentry, seq, + chains, protocol); } public ExtJmol(JmolViewer viewer, AlignmentPanel alignPanel, SequenceI[][] seqs) { - super(viewer); + super(alignPanel.getStructureSelectionManager(), seqs, viewer); ap = alignPanel; - this.sequence = seqs; notifyFileLoaded(null, null, null, null, 0); } @@ -70,9 +75,10 @@ public class ExtJmol extends JalviewJmolBinding showUrl(arg0, "jmol"); } - public FeatureRenderer getFeatureRenderer() + public FeatureRenderer getFeatureRenderer(AlignmentViewPanel alignment) { - if (ap.av.showSequenceFeatures) + AlignmentPanel ap = (AlignmentPanel) alignment; + if (ap.av.isShowSequenceFeatures()) { return ap.getFeatureRenderer(); } @@ -82,9 +88,9 @@ public class ExtJmol extends JalviewJmolBinding } } - public SequenceRenderer getSequenceRenderer() + public SequenceRenderer getSequenceRenderer(AlignmentViewPanel alignment) { - return ap.getSequenceRenderer(); + return ((AlignmentPanel) alignment).getSequenceRenderer(); } public void notifyScriptTermination(String strStatus, int msWalltime) @@ -119,8 +125,8 @@ public class ExtJmol extends JalviewJmolBinding 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++) { @@ -130,18 +136,23 @@ public class ExtJmol extends JalviewJmolBinding for (int pe = 0, peSize = pdbids.size(); pe < peSize; pe++) { PDBEntry pentry = (PDBEntry) pdbids.elementAt(pe); - if (!fileids.containsKey(pentry.getId())) + if (!fileids.contains(pentry.getId())) { - pdbe.addElement(pentry); + pdbe.add(pentry); + } + else + { + 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 @@ -166,19 +177,14 @@ 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(); + + } + + @Override + public void releaseReferences(Object svl) + { + // TODO Auto-generated method stub }