/** * */ package jalview.api; import java.util.Hashtable; import java.util.Map; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; import jalview.datamodel.AnnotatedCollectionI; import jalview.datamodel.ColumnSelection; import jalview.datamodel.SequenceCollectionI; import jalview.datamodel.SequenceI; import jalview.schemes.ColourSchemeI; import jalview.schemes.RNAHelicesColour; /** * @author jimp * */ public interface AlignViewportI { int getCharWidth(); int getEndRes(); int getCharHeight(); /** * calculate the height for visible annotation, revalidating bounds where * necessary ABSTRACT GUI METHOD * * @return total height of annotation */ public int calcPanelHeight(); boolean hasHiddenColumns(); boolean isValidCharWidth(); boolean isShowConsensusHistogram(); boolean isShowSequenceLogo(); boolean isNormaliseSequenceLogo(); ColourSchemeI getGlobalColourScheme(); AlignmentI getAlignment(); ColumnSelection getColumnSelection(); Hashtable[] getSequenceConsensusHash(); Hashtable[] getRnaStructureConsensusHash(); boolean getIgnoreGapsConsensus(); boolean getCentreColumnLabels(); boolean isCalculationInProgress(AlignmentAnnotation alignmentAnnotation); 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 */ boolean isClosed(); /** * get the associated calculation thread manager for the view * * @return */ AlignCalcManagerI getCalcManager(); /** * get the percentage gaps allowed in a conservation calculation * */ public int getConsPercGaps(); /** * set the consensus result object for the viewport * * @param hconsensus */ void setSequenceConsensusHash(Hashtable[] hconsensus); /** * * @return the alignment annotatino row for the structure consensus * calculation */ AlignmentAnnotation getAlignmentStrucConsensusAnnotation(); /** * set the Rna structure consensus result object for the viewport * * @param hStrucConsensus */ void setRnaStructureConsensusHash(Hashtable[] hStrucConsensus); /** * set global colourscheme * * @param rhc */ void setGlobalColourScheme(ColourSchemeI rhc); Map getHiddenRepSequences(); void setHiddenRepSequences( 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 */ void updateGroupAnnotationSettings(boolean applyGlobalSettings, boolean preserveNewGroupSettings); }