X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FStructureViewer.java;h=75846126c82a8cfb88e1d2ab6a521ee582bb7f16;hb=ad15cff29620f960119f80176f1fd443da9f6763;hp=22f12ea90cbabd403b45a8f5db047bc6a79b4d88;hpb=357dccf7919daec097dc63aa805c7336d88e89f8;p=jalview.git diff --git a/src/jalview/gui/StructureViewer.java b/src/jalview/gui/StructureViewer.java index 22f12ea..7584612 100644 --- a/src/jalview/gui/StructureViewer.java +++ b/src/jalview/gui/StructureViewer.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. * @@ -24,6 +24,7 @@ import jalview.api.structures.JalviewStructureDisplayI; import jalview.bin.Cache; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; +import jalview.datamodel.StructureViewerModel; import jalview.structure.StructureSelectionManager; import java.awt.Rectangle; @@ -41,19 +42,19 @@ public class StructureViewer { StructureSelectionManager ssm; - public enum Viewer + public enum ViewerType { JMOL, CHIMERA }; - public Viewer getViewerType() + public ViewerType getViewerType() { String viewType = Cache.getDefault(Preferences.STRUCTURE_DISPLAY, - Viewer.JMOL.name()); - return Viewer.valueOf(viewType); + ViewerType.JMOL.name()); + return ViewerType.valueOf(viewType); } - public void setViewerType(Viewer type) + public void setViewerType(ViewerType type) { Cache.setProperty(Preferences.STRUCTURE_DISPLAY, type.name()); } @@ -69,15 +70,15 @@ public class StructureViewer return viewStructures(getViewerType(), ap, pr, collateForPDB); } - public JalviewStructureDisplayI viewStructures(Viewer viewerType, + public JalviewStructureDisplayI viewStructures(ViewerType viewerType, AlignmentPanel ap, PDBEntry[] pr, SequenceI[][] collateForPDB) { JalviewStructureDisplayI sview = null; - if (viewerType.equals(Viewer.JMOL)) + if (viewerType.equals(ViewerType.JMOL)) { sview = new AppJmol(ap, pr, ap.av.collateForPDB(pr)); } - else if (viewerType.equals(Viewer.CHIMERA)) + else if (viewerType.equals(ViewerType.CHIMERA)) { sview = new ChimeraViewFrame(ap, pr, ap.av.collateForPDB(pr)); } @@ -89,15 +90,15 @@ public class StructureViewer return sview; } - public JalviewStructureDisplayI viewStructures(Viewer viewerType, + public JalviewStructureDisplayI viewStructures(ViewerType viewerType, AlignmentPanel ap, PDBEntry pr, SequenceI[] collateForPDB) { JalviewStructureDisplayI sview = null; - if (viewerType.equals(Viewer.JMOL)) + if (viewerType.equals(ViewerType.JMOL)) { sview = new AppJmol(pr, collateForPDB, null, ap); } - else if (viewerType.equals(Viewer.CHIMERA)) + else if (viewerType.equals(ViewerType.CHIMERA)) { sview = new ChimeraViewFrame(pr, collateForPDB, null, ap); } @@ -115,24 +116,42 @@ public class StructureViewer return viewStructures(getViewerType(), ap, pdb, sequenceIs); } - 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) + /** + * Create a new panel controlling a structure viewer. + * + * @param type + * @param pdbf + * @param id + * @param sq + * @param alignPanel + * @param viewerData + * @param fileloc + * @param rect + * @param vid + * @return + */ + public JalviewStructureDisplayI createView(ViewerType type, + String[] pdbf, String[] id, SequenceI[][] sq, + AlignmentPanel alignPanel, StructureViewerModel viewerData, String fileloc, + Rectangle rect, String vid) { + final boolean useinViewerSuperpos = viewerData.isAlignWithPanel(); + final boolean usetoColourbyseq = viewerData.isColourWithAlignPanel(); + final boolean viewerColouring = viewerData.isColourByViewer(); + JalviewStructureDisplayI sview = null; - switch (viewer) + switch (type) { case JMOL: - sview = new AppJmol(pdbf, id, sq, alignPanel, useinJmolsuperpos, - usetoColourbyseq, jmolColouring, fileloc, rect, vid); + sview = new AppJmol(pdbf, id, sq, alignPanel, usetoColourbyseq, + useinViewerSuperpos, viewerColouring, fileloc, rect, vid); break; case CHIMERA: Cache.log.error("Unsupported structure viewer type " - + viewer.toString()); + + type.toString()); break; default: - Cache.log.error("Unknown structure viewer type " + viewer.toString()); + Cache.log.error("Unknown structure viewer type " + type.toString()); } return sview; }