X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FStructureViewer.java;h=22f12ea90cbabd403b45a8f5db047bc6a79b4d88;hb=c676a0add80bc023d07f18901fbca3b48682a3d0;hp=e307aa9039b3b36bb4b2059a15e0d8d81d58dde3;hpb=ae216fceddd8539d20fa5425cdaef3da73aba8f0;p=jalview.git diff --git a/src/jalview/gui/StructureViewer.java b/src/jalview/gui/StructureViewer.java index e307aa9..22f12ea 100644 --- a/src/jalview/gui/StructureViewer.java +++ b/src/jalview/gui/StructureViewer.java @@ -20,15 +20,14 @@ */ package jalview.gui; -import java.awt.Rectangle; - import jalview.api.structures.JalviewStructureDisplayI; import jalview.bin.Cache; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; -import jalview.gui.StructureViewer.Viewer; import jalview.structure.StructureSelectionManager; +import java.awt.Rectangle; + /** * proxy for handling structure viewers. * @@ -49,13 +48,14 @@ public class StructureViewer public Viewer getViewerType() { - String viewType = Cache.getDefault("STRUCTURE_DISPLAY", "JMOL"); + String viewType = Cache.getDefault(Preferences.STRUCTURE_DISPLAY, + Viewer.JMOL.name()); return Viewer.valueOf(viewType); } public void setViewerType(Viewer type) { - Cache.setProperty("STRUCTURE_DISPLAY", type.toString()); + Cache.setProperty(Preferences.STRUCTURE_DISPLAY, type.name()); } public StructureViewer(StructureSelectionManager structureSelectionManager) @@ -68,16 +68,40 @@ public class StructureViewer { return viewStructures(getViewerType(), ap, pr, collateForPDB); } - public JalviewStructureDisplayI viewStructures(Viewer viewerType,AlignmentPanel ap, - PDBEntry[] pr, SequenceI[][] collateForPDB) + + public JalviewStructureDisplayI viewStructures(Viewer viewerType, + AlignmentPanel ap, PDBEntry[] pr, SequenceI[][] collateForPDB) { JalviewStructureDisplayI sview = null; - if (viewerType.equals(Viewer.JMOL)){ + if (viewerType.equals(Viewer.JMOL)) + { sview = new AppJmol(ap, pr, ap.av.collateForPDB(pr)); - } else - if (viewerType.equals(Viewer.CHIMERA)) { + } + else if (viewerType.equals(Viewer.CHIMERA)) + { sview = new ChimeraViewFrame(ap, pr, ap.av.collateForPDB(pr)); - }else + } + else + { + Cache.log.error("Unknown structure viewer type " + + getViewerType().toString()); + } + return sview; + } + + public JalviewStructureDisplayI viewStructures(Viewer viewerType, + AlignmentPanel ap, PDBEntry pr, SequenceI[] collateForPDB) + { + JalviewStructureDisplayI sview = null; + if (viewerType.equals(Viewer.JMOL)) + { + sview = new AppJmol(pr, collateForPDB, null, ap); + } + else if (viewerType.equals(Viewer.CHIMERA)) + { + sview = new ChimeraViewFrame(pr, collateForPDB, null, ap); + } + else { Cache.log.error("Unknown structure viewer type " + getViewerType().toString()); @@ -88,30 +112,27 @@ public class StructureViewer public JalviewStructureDisplayI viewStructures(PDBEntry pdb, SequenceI[] sequenceIs, Object object, AlignmentPanel ap) { - return viewStructures(ap, new PDBEntry[] - { pdb }, new SequenceI[][] - { sequenceIs }); + return viewStructures(getViewerType(), ap, pdb, sequenceIs); } - public JalviewStructureDisplayI createView(Viewer jmol, String[] pdbf, + public JalviewStructureDisplayI createView(Viewer viewer, String[] pdbf, String[] id, SequenceI[][] sq, AlignmentPanel alignPanel, boolean useinJmolsuperpos, boolean usetoColourbyseq, boolean jmolColouring, String fileloc, Rectangle rect, String vid) { JalviewStructureDisplayI sview = null; - switch (getViewerType()) + switch (viewer) { case JMOL: - sview = new AppJmol(pdbf, id, sq, alignPanel, useinJmolsuperpos, usetoColourbyseq, jmolColouring, fileloc, rect, vid); - break; case CHIMERA: + Cache.log.error("Unsupported structure viewer type " + + viewer.toString()); break; default: - Cache.log.error("Unknown structure viewer type " - + getViewerType().toString()); + Cache.log.error("Unknown structure viewer type " + viewer.toString()); } return sview; }