From: Jim Procter Date: Thu, 18 Jun 2015 18:00:05 +0000 (+0100) Subject: JAL-653 JAL-1780 javadoc for FeatureRenderer prior to splitting into model and render... X-Git-Tag: Release_2_10_0~296^2~137^2~14 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=68336e073e9f5592ca856e82be5f37acbe6c0daa;p=jalview.git JAL-653 JAL-1780 javadoc for FeatureRenderer prior to splitting into model and renderer concerns --- diff --git a/src/jalview/api/FeatureRenderer.java b/src/jalview/api/FeatureRenderer.java index 79911d9..cf98b2f 100644 --- a/src/jalview/api/FeatureRenderer.java +++ b/src/jalview/api/FeatureRenderer.java @@ -24,7 +24,6 @@ import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; import java.awt.Color; -import java.util.Hashtable; import java.util.List; import java.util.Map; @@ -37,42 +36,145 @@ import java.util.Map; public interface FeatureRenderer { + /** + * compute the perceived colour for a given column position in sequenceI, + * taking transparency and feature visibility into account. + * + * @param col + * - background colour (due to alignment/group shading schemes, etc). + * @param sequenceI + * - sequence providing features + * @param r + * - column position + * @return + */ Color findFeatureColour(Color col, SequenceI sequenceI, int r); + /** + * trigger the feature discovery process for a newly created feature renderer. + */ void featuresAdded(); + /** + * + * @param ft + * @return display style for a feature + */ Object getFeatureStyle(String ft); + /** + * update the feature style for a particular feature + * + * @param ft + * @param ggc + * - currently allows java.awt.Color and + * jalview.schemes.GraduatedColor + */ void setColour(String ft, Object ggc); AlignViewportI getViewport(); + /** + * + * @return container managing list of feature types and their visibility + */ FeaturesDisplayedI getFeaturesDisplayed(); + /** + * get display style for all features types - visible or invisible + * + * @return + */ Map getFeatureColours(); + /** + * query the alignment view to find all features + * + * @param newMadeVisible + * - when true, automatically make newly discovered types visible + */ void findAllFeatures(boolean newMadeVisible); + /** + * get display style for all features types currently visible + * + * @return + */ Map getDisplayedFeatureCols(); + /** + * get all registered groups + * + * @return + */ List getFeatureGroups(); + /** + * get groups that are visible/invisible + * + * @param visible + * @return + */ List getGroups(boolean visible); + /** + * change visibility for a range of groups + * + * @param toset + * @param visible + */ void setGroupVisibility(List toset, boolean visible); + /** + * change visibiilty of given group + * + * @param group + * @param visible + */ void setGroupVisibility(String group, boolean visible); + /** + * locate features at a particular position on the given sequence + * + * @param sequence + * @param res + * @return + */ List findFeaturesAtRes(SequenceI sequence, int res); + /** + * + * @return true if the rendering platform supports transparency + */ boolean isTransparencyAvailable(); + /** + * get current displayed types + * + * @return + */ + String[] getDisplayedFeatureTypes(); + /** + * get current displayed groups + * + * @return + */ String[] getDisplayedFeatureGroups(); + /** + * display all features of these types + * + * @param featureTypes + */ void setAllVisible(List featureTypes); + /** + * display featureType + * + * @param featureType + */ void setVisible(String featureType); }