X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fapi%2Fstructures%2FJalviewStructureDisplayI.java;h=8f778f7c70d90e95012c40a22792e1012c214ae2;hb=d05c69943ac3cf2c049a7d0a96738fd9820ab37e;hp=b4612cfef6264d1c87a07f70552a2c3a0bc1c0f9;hpb=e07d62e6efbd954164c27e15eee49f57aa2e1b4c;p=jalview.git diff --git a/src/jalview/api/structures/JalviewStructureDisplayI.java b/src/jalview/api/structures/JalviewStructureDisplayI.java index b4612cf..8f778f7 100644 --- a/src/jalview/api/structures/JalviewStructureDisplayI.java +++ b/src/jalview/api/structures/JalviewStructureDisplayI.java @@ -20,6 +20,9 @@ */ package jalview.api.structures; +import jalview.api.AlignmentViewPanel; +import jalview.datamodel.PDBEntry; +import jalview.datamodel.SequenceI; import jalview.schemes.ColourSchemeI; import jalview.structures.models.AAStructureBindingModel; @@ -69,4 +72,57 @@ public interface JalviewStructureDisplayI */ boolean hasMapping(); + /** + * Checks if the PDB file is already loaded in this viewer, if so just adds + * mappings as necessary and answers true, else answers false. This supports + * the use case of adding additional chains of the same structure to a viewer. + * + * @param seq + * @param chains + * @param apanel + * @param pdbId + * @return + */ + boolean addAlreadyLoadedFile(SequenceI[] seq, String[] chains, + AlignmentViewPanel apanel, String pdbId); + + /** + * Adds one or more chains (sequences) of a PDB structure to this structure + * viewer + * + * @param pdbentry + * @param seq + * @param chains + * @param apanel + * @param pdbId + * @return + */ + void addToExistingViewer(PDBEntry pdbentry, SequenceI[] seq, + String[] chains, AlignmentViewPanel apanel, String pdbId); + + /** + * refresh GUI after reconfiguring structure(s) and alignment panels + */ + void updateTitleAndMenus(); + + /** + * Answers true if the viewer should attempt to align any added structures, + * else false + * + * @return + */ + boolean isAlignAddedStructures(); + + /** + * Sets the flag for whether added structures should be aligned + * + * @param alignAdded + */ + void setAlignAddedStructures(boolean alignAdded); + + /** + * Raise the panel to the top of the stack... + */ + void raiseViewer(); + }