X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemes%2FFeatureColour.java;fp=src%2Fjalview%2Fschemes%2FFeatureColour.java;h=e683c87974c5d0f840ec88c8101e95aee3f9f13c;hb=c184de2a81afe5ba6f8b7b68dde221c256e70195;hp=7d14662238f5b7ee3b6f2d03ccb3895e58a329a4;hpb=00ec8073218a0788e62cc2aa22de9a1a14d81952;p=jalview.git diff --git a/src/jalview/schemes/FeatureColour.java b/src/jalview/schemes/FeatureColour.java index 7d14662..e683c87 100644 --- a/src/jalview/schemes/FeatureColour.java +++ b/src/jalview/schemes/FeatureColour.java @@ -25,6 +25,7 @@ import jalview.datamodel.SequenceFeature; import jalview.datamodel.features.FeatureMatcher; import jalview.util.ColorUtils; import jalview.util.Format; +import jalview.util.MessageManager; import java.awt.Color; import java.util.StringTokenizer; @@ -50,6 +51,12 @@ import java.util.StringTokenizer; */ public class FeatureColour implements FeatureColourI { + private static final String I18N_LABEL = MessageManager + .getString("label.label"); + + private static final String I18N_SCORE = MessageManager + .getString("label.score"); + private static final String ABSOLUTE = "abso"; private static final String ABOVE = "above"; @@ -890,4 +897,50 @@ public class FeatureColour implements FeatureColourI attributeName = name; } + @Override + public String getDescription() + { + if (isSimpleColour()) + { + return "r=" + colour.getRed() + ",g=" + colour.getGreen() + ",b=" + + colour.getBlue(); + } + StringBuilder tt = new StringBuilder(); + String by = null; + + if (getAttributeName() != null) + { + by = FeatureMatcher.toAttributeDisplayName(getAttributeName()); + } + else if (isColourByLabel()) + { + by = I18N_LABEL; + } + else + { + by = I18N_SCORE; + } + tt.append(MessageManager.formatMessage("action.by_title_param", by)); + + /* + * add threshold if any + */ + if (isAboveThreshold() || isBelowThreshold()) + { + tt.append(" ("); + if (isColourByLabel()) + { + /* + * Jalview features file supports the combination of + * colour by label or attribute text with score threshold + */ + tt.append(I18N_SCORE).append(" "); + } + tt.append(isAboveThreshold() ? "> " : "< "); + tt.append(getThreshold()).append(")"); + } + + return tt.toString(); + } + }