X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fapi%2FAlignViewportI.java;h=7463187d51cc7d2296ff79c31b38590bd7d32b59;hb=b2f9a8d7bce642ff4011bc6d49e02bb0569fbb11;hp=61b295011936780382499de3c3e2101457d9e1b6;hpb=752bd6197b82c59d196b26a62edba81f16be2604;p=jalview.git diff --git a/src/jalview/api/AlignViewportI.java b/src/jalview/api/AlignViewportI.java index 61b2950..7463187 100644 --- a/src/jalview/api/AlignViewportI.java +++ b/src/jalview/api/AlignViewportI.java @@ -1,23 +1,41 @@ -/** +/* + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1) + * Copyright (C) 2014 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. + * + * 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 . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.api; +import java.awt.Color; import java.util.Hashtable; import java.util.Map; +import jalview.analysis.Conservation; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; -import jalview.datamodel.AnnotatedCollectionI; +import jalview.datamodel.AlignmentView; +import jalview.datamodel.CigarArray; import jalview.datamodel.ColumnSelection; import jalview.datamodel.SequenceCollectionI; +import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; import jalview.schemes.ColourSchemeI; -import jalview.schemes.RNAHelicesColour; /** * @author jimp - * + * */ public interface AlignViewportI { @@ -31,7 +49,7 @@ public interface AlignViewportI /** * calculate the height for visible annotation, revalidating bounds where * necessary ABSTRACT GUI METHOD - * + * * @return total height of annotation */ public int calcPanelHeight(); @@ -65,23 +83,28 @@ public interface AlignViewportI AlignmentAnnotation getAlignmentQualityAnnot(); AlignmentAnnotation getAlignmentConservationAnnotation(); + /** * get the container for alignment consensus annotation + * * @return */ AlignmentAnnotation getAlignmentConsensusAnnotation(); /** * Test to see if viewport is still open and active - * @return true indicates that all references to viewport should be dropped + * + * @return true indicates that all references to viewport should be dropped */ boolean isClosed(); + /** * get the associated calculation thread manager for the view + * * @return */ AlignCalcManagerI getCalcManager(); - + /** * get the percentage gaps allowed in a conservation calculation * @@ -90,24 +113,28 @@ public interface AlignViewportI /** * set the consensus result object for the viewport + * * @param hconsensus */ void setSequenceConsensusHash(Hashtable[] hconsensus); /** * - * @return the alignment annotatino row for the structure consensus calculation + * @return the alignment annotatino row for the structure consensus + * calculation */ AlignmentAnnotation getAlignmentStrucConsensusAnnotation(); /** * set the Rna structure consensus result object for the viewport - * @param hStrucConsensus + * + * @param hStrucConsensus */ void setRnaStructureConsensusHash(Hashtable[] hStrucConsensus); /** * set global colourscheme + * * @param rhc */ void setGlobalColourScheme(ColourSchemeI rhc); @@ -118,13 +145,49 @@ public interface AlignViewportI Map hiddenRepSequences); /** - * hides or shows dynamic annotation rows based on groups and group and alignment associated auto-annotation state flags - * apply the current group/autoannotation settings to the alignment view. - * Usually you should call the AlignmentViewPanel.adjustAnnotationHeight() method afterwards to ensure the annotation panel bounds are set correctly. - * @param applyGlobalSettings - apply to all autoannotation rows or just the ones associated with the current visible region - * @param preserveNewGroupSettings - don't apply global settings to groups which don't already have group associated annotation + * hides or shows dynamic annotation rows based on groups and group and + * alignment associated auto-annotation state flags apply the current + * group/autoannotation settings to the alignment view. Usually you should + * call the AlignmentViewPanel.adjustAnnotationHeight() method afterwards to + * ensure the annotation panel bounds are set correctly. + * + * @param applyGlobalSettings + * - apply to all autoannotation rows or just the ones associated + * with the current visible region + * @param preserveNewGroupSettings + * - don't apply global settings to groups which don't already have + * group associated annotation */ void updateGroupAnnotationSettings(boolean applyGlobalSettings, boolean preserveNewGroupSettings); + void setSequenceColour(SequenceI seq, Color col); + + Color getSequenceColour(SequenceI seq); + + void updateSequenceIdColours(); + + SequenceGroup getSelectionGroup(); + + SequenceI[] getSequenceSelection(); + + void clearSequenceColours(); + + CigarArray getViewAsCigars(boolean selectedRegionOnly); + + AlignmentView getAlignmentView(boolean selectedOnly); + + AlignmentView getAlignmentView(boolean selectedOnly, boolean markGroups); + + String[] getViewAsString(boolean selectedRegionOnly); + + void setSelectionGroup(SequenceGroup sg); + + char getGapCharacter(); + + void setColumnSelection(ColumnSelection cs); + + void setConservation(Conservation cons); + + }