X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fapi%2FAlignViewportI.java;h=d15c5fb21a9a23e67d7b8c2b707dae5f77db0e63;hb=57738a1f3c19b1c3a00bd3ac5108f8cd0af32f99;hp=c6312abe7a563719c3eae811de0e94ccfef00d28;hpb=9201765247470c08d366abef2713c1c736adf2cb;p=jalview.git diff --git a/src/jalview/api/AlignViewportI.java b/src/jalview/api/AlignViewportI.java index c6312ab..d15c5fb 100644 --- a/src/jalview/api/AlignViewportI.java +++ b/src/jalview/api/AlignViewportI.java @@ -21,10 +21,11 @@ package jalview.api; import jalview.analysis.Conservation; +import jalview.analysis.TreeModel; import jalview.datamodel.AlignmentAnnotation; +import jalview.datamodel.AlignmentExportData; import jalview.datamodel.AlignmentI; import jalview.datamodel.AlignmentView; -import jalview.datamodel.CigarArray; import jalview.datamodel.ColumnSelection; import jalview.datamodel.ProfilesI; import jalview.datamodel.SearchResultsI; @@ -36,7 +37,9 @@ import jalview.schemes.ColourSchemeI; import jalview.viewmodel.ViewportRanges; import java.awt.Color; +import java.awt.Font; import java.util.Hashtable; +import java.util.Iterator; import java.util.List; import java.util.Map; @@ -47,11 +50,13 @@ import java.util.Map; public interface AlignViewportI extends ViewStyleI { - ViewportRanges getRanges(); - - int getEndRes(); - - int getStartRes(); + /** + * Get the ranges object containing details of the start and end sequences and + * residues + * + * @return + */ + public ViewportRanges getRanges(); /** * calculate the height for visible annotation, revalidating bounds where @@ -104,9 +109,9 @@ public interface AlignViewportI extends ViewStyleI * * @return */ - Hashtable[] getComplementConsensusHash(); + Hashtable[] getComplementConsensusHash(); - Hashtable[] getRnaStructureConsensusHash(); + Hashtable[] getRnaStructureConsensusHash(); boolean isIgnoreGapsConsensus(); @@ -124,6 +129,13 @@ public interface AlignViewportI extends ViewStyleI AlignmentAnnotation getAlignmentConsensusAnnotation(); /** + * get the container for alignment gap annotation + * + * @return + */ + AlignmentAnnotation getAlignmentGapAnnotation(); + + /** * get the container for cDNA complement consensus annotation * * @return @@ -167,7 +179,7 @@ public interface AlignViewportI extends ViewStyleI * * @param hconsensus */ - void setComplementConsensusHash(Hashtable[] hconsensus); + void setComplementConsensusHash(Hashtable[] hconsensus); /** * @@ -181,7 +193,8 @@ public interface AlignViewportI extends ViewStyleI * * @param hStrucConsensus */ - void setRnaStructureConsensusHash(Hashtable[] hStrucConsensus); + void setRnaStructureConsensusHash( + Hashtable[] hStrucConsensus); /** * Sets the colour scheme for the background alignment (as distinct from @@ -233,16 +246,6 @@ public interface AlignViewportI extends ViewStyleI void clearSequenceColours(); /** - * This method returns the visible alignment as text, as seen on the GUI, ie - * if columns are hidden they will not be returned in the result. Use this for - * calculating trees, PCA, redundancy etc on views which contain hidden - * columns. - * - * @return String[] - */ - CigarArray getViewAsCigars(boolean selectedRegionOnly); - - /** * return a compact representation of the current alignment selection to pass * to an analysis function * @@ -431,9 +434,19 @@ public interface AlignViewportI extends ViewStyleI */ void setFollowHighlight(boolean b); + /** + * configure the feature renderer with predefined feature settings + * + * @param featureSettings + */ public void applyFeaturesStyle(FeatureSettingsModelI featureSettings); /** + * Apply the given feature settings on top of existing feature settings. + */ + public void mergeFeaturesStyle(FeatureSettingsModelI featureSettings); + + /** * check if current selection group is defined on the view, or is simply a * temporary group. * @@ -462,7 +475,81 @@ public interface AlignViewportI extends ViewStyleI */ SearchResultsI getSearchResults(); - int getStartSeq(); + /** + * Updates view settings with the given font. You may need to call + * AlignmentPanel.fontChanged to update the layout geometry. + * + * @param setGrid + * when true, charWidth/height is set according to font metrics + */ + void setFont(Font newFont, boolean b); + + /** + * Answers true if split screen protein and cDNA use the same font + * + * @return + */ + @Override + boolean isProteinFontAsCdna(); - int getEndSeq(); + /** + * Set the flag for whether split screen protein and cDNA use the same font + * + * @return + */ + @Override + void setProteinFontAsCdna(boolean b); + + TreeModel getCurrentTree(); + + void setCurrentTree(TreeModel tree); + + /** + * Answers a data bean containing data for export as configured by the + * supplied options + * + * @param options + * @return + */ + AlignmentExportData getAlignExportData(AlignExportSettingsI options); + + /** + * @param update + * - set the flag for updating structures on next repaint + */ + void setUpdateStructures(boolean update); + + /** + * + * @return true if structure views will be updated on next refresh + */ + boolean isUpdateStructures(); + + /** + * check if structure views need to be updated, and clear the flag afterwards. + * + * @return if an update is needed + */ + boolean needToUpdateStructureViews(); + + /** + * Adds sequencegroup to the alignment in the view. Also adds a group to the + * complement view if one is defined. + * + * @param sequenceGroup + * - a group defined on sequences in the alignment held by the view + */ + void addSequenceGroup(SequenceGroup sequenceGroup); + + /** + * Returns an interator over the [start, end] column positions of the visible + * regions of the alignment + * + * @param selectedRegionOnly + * if true, and the view has a selection region, then only the + * intersection of visible columns with the selection region is + * returned + * @return + */ + Iterator getViewAsVisibleContigs(boolean selectedRegionOnly); }