X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fapi%2FAlignViewportI.java;h=15e5f1d868b7c3074ca7fe09e5e99673ec35ce97;hb=e3ff86bf4b17ec3cf58bfe8fdb152bfc431765b3;hp=dd442f6da769cae65f090d15fd8ed60e68f947a0;hpb=d47a462ddd7bd3dd2a0529b6da03b220370c8ae5;p=jalview.git diff --git a/src/jalview/api/AlignViewportI.java b/src/jalview/api/AlignViewportI.java index dd442f6..15e5f1d 100644 --- a/src/jalview/api/AlignViewportI.java +++ b/src/jalview/api/AlignViewportI.java @@ -1,18 +1,39 @@ -/** +/* + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) + * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle + * + * 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 . */ package jalview.api; +import java.awt.Color; import java.util.Hashtable; +import java.util.Map; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; +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; /** * @author jimp - * + * */ public interface AlignViewportI { @@ -23,6 +44,14 @@ public interface AlignViewportI 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(); @@ -54,13 +83,99 @@ public interface AlignViewportI 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 + * + */ + 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); + + + SequenceGroup getSelectionGroup(); + + SequenceI[] getSequenceSelection(); + + + CigarArray getViewAsCigars(boolean selectedRegionOnly); + + AlignmentView getAlignmentView(boolean selectedOnly); + + AlignmentView getAlignmentView(boolean selectedOnly, boolean markGroups); + + String[] getViewAsString(boolean selectedRegionOnly); + + void setSelectionGroup(SequenceGroup sg); + + char getGapCharacter(); + + }