Merge branch 'JAL-3878_ws-overhaul-3' into with_ws_overhaul-3
[jalview.git] / src / jalview / gui / ChimeraXViewFrame.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3  * Copyright (C) $$Year-Rel$$ The Jalview Authors
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3
10  * of the License, or (at your option) any later version.
11  *  
12  * Jalview is distributed in the hope that it will be useful, but 
13  * WITHOUT ANY WARRANTY; without even the implied warranty 
14  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
15  * PURPOSE.  See the GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License
18  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
19  * The Jalview Authors are detailed in the 'AUTHORS' file.
20  */
21 package jalview.gui;
22
23 import jalview.datamodel.PDBEntry;
24 import jalview.datamodel.SequenceI;
25 import jalview.datamodel.StructureViewerModel;
26 import jalview.gui.StructureViewer.ViewerType;
27
28 /**
29  * A class for the gui frame through which Jalview interacts with the ChimeraX
30  * structure viewer. Mostly the same as ChimeraViewFrame with a few overrides
31  * for the differences.
32  * 
33  * @author gmcarstairs
34  *
35  */
36 public class ChimeraXViewFrame extends ChimeraViewFrame
37 {
38
39   public ChimeraXViewFrame(PDBEntry pdb, SequenceI[] seqsForPdb,
40           String[] chains, AlignmentPanel ap)
41   {
42     super(pdb, seqsForPdb, chains, ap);
43   }
44
45   public ChimeraXViewFrame(PDBEntry[] pdbsForFile, boolean superposeAdded,
46           SequenceI[][] theSeqs, AlignmentPanel ap)
47   {
48     super(pdbsForFile, superposeAdded, theSeqs, ap);
49   }
50
51   /**
52    * Constructor given a session file to be loaded
53    * 
54    * @param viewerData
55    * @param alignPanel
56    * @param sessionFile
57    * @param vid
58    */
59   public ChimeraXViewFrame(StructureViewerModel viewerData,
60           AlignmentPanel alignPanel, String sessionFile, String vid)
61   {
62     super(viewerData, alignPanel, sessionFile, vid);
63   }
64
65   @Override
66   public ViewerType getViewerType()
67   {
68     return ViewerType.CHIMERAX;
69   }
70
71   @Override
72   protected String getViewerName()
73   {
74     return "ChimeraX";
75   }
76
77   @Override
78   protected JalviewChimeraBindingModel newBindingModel(AlignmentPanel ap,
79           PDBEntry[] pdbentrys, SequenceI[][] seqs)
80   {
81     return new JalviewChimeraXBindingModel(this,
82             ap.getStructureSelectionManager(), pdbentrys, seqs, null);
83   }
84 }