JAL-1703 added tooltip hints to components of the Select by Annotation UI
authortcofoegbu <tcnofoegbu@dundee.ac.uk>
Mon, 1 Jun 2015 14:19:06 +0000 (15:19 +0100)
committertcofoegbu <tcnofoegbu@dundee.ac.uk>
Mon, 1 Jun 2015 14:19:06 +0000 (15:19 +0100)
resources/lang/Messages.properties
src/jalview/gui/AnnotationColumnChooser.java

index 64fdd4d..c068728 100644 (file)
@@ -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
index 00c4217..e87be35 100644 (file)
@@ -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 <http://www.gnu.org/licenses/>.
+ * 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<String> 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);
     }
   }