From 5d44cd39caf9a34e9b934b2e2e04fd664d24bfd6 Mon Sep 17 00:00:00 2001 From: tcofoegbu Date: Mon, 1 Jun 2015 15:19:06 +0100 Subject: [PATCH] JAL-1703 added tooltip hints to components of the Select by Annotation UI --- resources/lang/Messages.properties | 11 +++-- src/jalview/gui/AnnotationColumnChooser.java | 68 +++++++++++++++++++++++--- 2 files changed, 70 insertions(+), 9 deletions(-) diff --git a/resources/lang/Messages.properties b/resources/lang/Messages.properties index 64fdd4d..c068728 100644 --- a/resources/lang/Messages.properties +++ b/resources/lang/Messages.properties @@ -1201,8 +1201,8 @@ label.mapping_failed = No sequence mapping could be made between the alignments. action.no = No action.yes = Yes label.for = for -label.select_by_annotation = Select By Annotation -action.select_by_annotation = Select by Annotation... +label.select_by_annotation = Select/Hide Columns by Annotation +action.select_by_annotation = Select/Hide Columns by Annotation... label.threshold_filter = Threshold Filter action.hide = Hide action.select = Select @@ -1212,7 +1212,6 @@ label.turn = Turn label.select_all = Select All label.structures_filter = Structures Filter label.search_filter = Search Filter -label.display_name = Display Label label.description = Description label.include_description= Include Description action.back = Back @@ -1237,3 +1236,9 @@ label.biojs_html_export = BioJS label.scale_as_cdna = Scale protein residues to codons label.scale_protein_to_cdna = Scale Protein to cDNA label.scale_protein_to_cdna_tip = Make protein residues same width as codons in split frame views +info.select_annotation_row = Select Annotation Row +info.enter_search_text_here = Enter Search Text Here +info.enter_search_text_to_enable = Enter Search Text to Enable +info.search_in_annotation_label = Search in {0} Label +info.search_in_annotation_description = Search in {0} Description +info.change_threshold_mode_to_enable = Change Threshold Mode to Enable \ No newline at end of file diff --git a/src/jalview/gui/AnnotationColumnChooser.java b/src/jalview/gui/AnnotationColumnChooser.java index 00c4217..e87be35 100644 --- a/src/jalview/gui/AnnotationColumnChooser.java +++ b/src/jalview/gui/AnnotationColumnChooser.java @@ -1,3 +1,24 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ + package jalview.gui; import jalview.datamodel.AlignmentAnnotation; @@ -37,10 +58,6 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements private JComboBox annotations; - // private JButton ok = new JButton(); - // - // private JButton cancel = new JButton(); - private JPanel actionPanel = new JPanel(); private JPanel thresholdPanel = new JPanel(); @@ -176,6 +193,8 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements }); annotations.addItemListener(this); + annotations.setToolTipText(MessageManager + .getString("info.select_annotation_row")); threshold.addActionListener(new ActionListener() { @Override @@ -256,10 +275,25 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements this.add(actionPanel, java.awt.BorderLayout.SOUTH); selectedAnnotationChanged(); + updateThresholdPanelToolTip(); this.validate(); } - @SuppressWarnings("unchecked") + public void updateThresholdPanelToolTip() + { + thresholdValue.setToolTipText(""); + slider.setToolTipText(""); + + String defaultTtip = MessageManager + .getString("info.change_threshold_mode_to_enable"); + + String threshold = getThreshold().getSelectedItem().toString(); + if (threshold.equalsIgnoreCase("No Threshold")) + { + thresholdValue.setToolTipText(defaultTtip); + slider.setToolTipText(defaultTtip); + } + } public void reset() { if (this.getOldColumnSelection() != null) @@ -392,6 +426,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } } + updateThresholdPanelToolTip(); if (currentStructureFilterPanel != null) { if (currentStructureFilterPanel.alphaHelix.isSelected()) @@ -779,6 +814,8 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements .getString("label.search_filter"))); JvSwingUtils.jvInitComponent(searchBox); + searchBox.setToolTipText(MessageManager + .getString("info.enter_search_text_here")); searchBox.getDocument().addDocumentListener( new DocumentListener() { @@ -801,7 +838,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } }); - JvSwingUtils.jvInitComponent(displayName, "label.display_name"); + JvSwingUtils.jvInitComponent(displayName, "label.label"); displayName.setEnabled(false); displayName.addActionListener(new ActionListener() { @@ -845,6 +882,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements { aColChooser.setCurrentSearchPanel(this); aColChooser.updateView(); + updateSearchPanelToolTips(); } public void syncState() @@ -860,6 +898,24 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements searchBox.setText(sp.searchBox.getText()); } + updateSearchPanelToolTips(); + } + + public void updateSearchPanelToolTips() + { + String defaultTtip = MessageManager + .getString("info.enter_search_text_to_enable"); + String labelTtip = MessageManager +.formatMessage( + "info.search_in_annotation_label", annotations + .getSelectedItem().toString()); + String descTtip = MessageManager +.formatMessage( + "info.search_in_annotation_description", annotations + .getSelectedItem().toString()); + displayName.setToolTipText(displayName.isEnabled() ? labelTtip : defaultTtip); + description.setToolTipText(description.isEnabled() ? descTtip + : defaultTtip); } } -- 1.7.10.2