X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fapi%2FAlignViewportI.java;h=e7afee0b9bd8ea2f9323171549e0d296d9c96f46;hb=c8d80485038ab96fb06bd0885c323803646d8e57;hp=b976a3d94d1f51c9f9488d171821ebe217913ff4;hpb=dd8112aefe2c3a08c51f1684d5cda16be938c74f;p=jalview.git diff --git a/src/jalview/api/AlignViewportI.java b/src/jalview/api/AlignViewportI.java index b976a3d..e7afee0 100644 --- a/src/jalview/api/AlignViewportI.java +++ b/src/jalview/api/AlignViewportI.java @@ -20,6 +20,13 @@ */ package jalview.api; +import java.awt.Color; +import java.awt.Font; +import java.util.Hashtable; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + import jalview.analysis.Conservation; import jalview.analysis.TreeModel; import jalview.datamodel.AlignmentAnnotation; @@ -27,6 +34,8 @@ import jalview.datamodel.AlignmentExportData; import jalview.datamodel.AlignmentI; import jalview.datamodel.AlignmentView; import jalview.datamodel.ColumnSelection; +import jalview.datamodel.ContactListI; +import jalview.datamodel.ContactMatrixI; import jalview.datamodel.ProfilesI; import jalview.datamodel.SearchResultsI; import jalview.datamodel.SequenceCollectionI; @@ -36,12 +45,6 @@ import jalview.renderer.ResidueShaderI; import jalview.schemes.ColourSchemeI; import jalview.viewmodel.ViewportRanges; -import java.awt.Color; -import java.awt.Font; -import java.util.Hashtable; -import java.util.List; -import java.util.Map; - /** * @author jimp * @@ -108,9 +111,9 @@ public interface AlignViewportI extends ViewStyleI * * @return */ - Hashtable[] getComplementConsensusHash(); + Hashtable[] getComplementConsensusHash(); - Hashtable[] getRnaStructureConsensusHash(); + Hashtable[] getRnaStructureConsensusHash(); boolean isIgnoreGapsConsensus(); @@ -178,7 +181,7 @@ public interface AlignViewportI extends ViewStyleI * * @param hconsensus */ - void setComplementConsensusHash(Hashtable[] hconsensus); + void setComplementConsensusHash(Hashtable[] hconsensus); /** * @@ -192,7 +195,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 @@ -432,9 +436,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. * @@ -464,6 +478,17 @@ public interface AlignViewportI extends ViewStyleI SearchResultsI getSearchResults(); /** + * Retrieve a ContactListI corresponding to column in an annotation row in an + * alignment. + * + * @param _aa + * - annotation with associated matrix data + * @param column + * - column in alignment where _aa is associated + */ + ContactListI getContactList(AlignmentAnnotation _aa, int column); + + /** * Updates view settings with the given font. You may need to call * AlignmentPanel.fontChanged to update the layout geometry. * @@ -500,4 +525,56 @@ public interface AlignViewportI extends ViewStyleI * @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); + /** + * notify all concerned that the alignment data has changed and derived data + * needs to be recalculated + */ + public void notifyAlignmentChanged(); + + /** + * retrieve a matrix associated with the view's alignment's annotation + * @param alignmentAnnotation + * @return contact matrix or NULL + */ + ContactMatrixI getContactMatrix(AlignmentAnnotation alignmentAnnotation); }