X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fapi%2FFeatureRenderer.java;fp=src%2Fjalview%2Fapi%2FFeatureRenderer.java;h=762350e161663cfb719fe71d99a63bab608535a7;hb=3459a8a691cb22508d7067f240b7254e588e77d3;hp=fff3b38046f79cb282dd594b0998fe97c076a837;hpb=5b27f1062b2203c4c31702e205f4c78e1992063e;p=jalview.git diff --git a/src/jalview/api/FeatureRenderer.java b/src/jalview/api/FeatureRenderer.java index fff3b38..762350e 100644 --- a/src/jalview/api/FeatureRenderer.java +++ b/src/jalview/api/FeatureRenderer.java @@ -20,16 +20,17 @@ */ package jalview.api; -import jalview.datamodel.MappedFeatures; -import jalview.datamodel.SequenceFeature; -import jalview.datamodel.SequenceI; -import jalview.datamodel.features.FeatureMatcherSetI; - import java.awt.Color; import java.awt.Graphics; +import java.beans.PropertyChangeListener; import java.util.List; import java.util.Map; +import jalview.datamodel.MappedFeatures; +import jalview.datamodel.SequenceFeature; +import jalview.datamodel.SequenceI; +import jalview.datamodel.features.FeatureMatcherSetI; + /** * Abstract feature renderer interface * @@ -151,15 +152,16 @@ public interface FeatureRenderer /** * Returns visible features at the specified aligned column on the given - * sequence. Non-positional features are not included. If the column has a gap, - * then enclosing features are included (but not contact features). + * sequence. Non-positional features are not included. If the column has a + * gap, then enclosing features are included (but not contact features). * * @param sequence * @param column * aligned column position (1..) * @return */ - List findFeaturesAtColumn(SequenceI sequence, int column); + List findFeaturesAtColumn(SequenceI sequence, + int column); /** * Returns features at the specified residue positions on the given sequence. @@ -287,16 +289,17 @@ public interface FeatureRenderer /** * Answers a bean containing a mapping, and a list of visible features in this - * alignment at a position (or range) which is mappable from the given sequence - * residue position in a mapped alignment. Features are returned in render order - * of feature type (on top last), with order within feature type undefined. If - * no features or mapping are found, answers null. + * alignment at a position (or range) which is mappable from the given + * sequence residue position in a mapped alignment. Features are returned in + * render order of feature type (on top last), with order within feature type + * undefined. If no features or mapping are found, answers null. * * @param sequence * @param pos * @return */ - MappedFeatures findComplementFeaturesAtResidue(SequenceI sequence, int pos); + MappedFeatures findComplementFeaturesAtResidue(SequenceI sequence, + int pos); /** * Sends a message to let any registered parties know that something about @@ -304,4 +307,25 @@ public interface FeatureRenderer */ void notifyFeaturesChanged(); + /** + * register as a listener for notifyFeaturesChanged events + * + * @param ourListener + */ + void addPropertyChangeListener(PropertyChangeListener ourListener); + + /** + * remove a listener for notifyFeaturesChanged events + * + * @param ourListener + */ + void removePropertyChangeListener(PropertyChangeListener ourListener); + + /** + * + * @return associated alignment panel for this feature renderer (may return + * null) + */ + AlignmentViewPanel getAlignPanel(); + }