JAL-2089 patch broken merge to master for Release 2.10.0b1
[jalview.git] / src / jalview / gui / AnnotationColumnChooser.java
index 9f3aa7b..1290d70 100644 (file)
@@ -1,6 +1,26 @@
+/*
+ * 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.controller.AlignViewController;
 import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.ColumnSelection;
 import jalview.schemes.AnnotationColourGradient;
@@ -18,7 +38,6 @@ import java.awt.event.ItemListener;
 import java.util.Iterator;
 
 import javax.swing.ButtonGroup;
-import javax.swing.JButton;
 import javax.swing.JCheckBox;
 import javax.swing.JComboBox;
 import javax.swing.JInternalFrame;
@@ -39,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();
@@ -163,7 +178,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements
       @Override
       public void actionPerformed(ActionEvent e)
       {
-        ok_actionPerformed(e);
+        ok_actionPerformed();
       }
     });
 
@@ -174,17 +189,19 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements
       @Override
       public void actionPerformed(ActionEvent e)
       {
-        cancel_actionPerformed(e);
+        cancel_actionPerformed();
       }
     });
 
     annotations.addItemListener(this);
+    annotations.setToolTipText(MessageManager
+            .getString("info.select_annotation_row"));
     threshold.addActionListener(new ActionListener()
     {
       @Override
       public void actionPerformed(ActionEvent e)
       {
-        threshold_actionPerformed(e);
+        threshold_actionPerformed();
       }
     });
 
@@ -195,7 +212,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements
       @Override
       public void actionPerformed(ActionEvent e)
       {
-        thresholdValue_actionPerformed(e);
+        thresholdValue_actionPerformed();
       }
     });
 
@@ -259,10 +276,27 @@ 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 thresh = getThreshold().getSelectedItem().toString();
+    if (thresh.equalsIgnoreCase("No Threshold"))
+    {
+      thresholdValue.setToolTipText(defaultTtip);
+      slider.setToolTipText(defaultTtip);
+    }
+  }
+
+  @Override
   public void reset()
   {
     if (this.getOldColumnSelection() != null)
@@ -291,6 +325,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements
 
   }
 
+  @Override
   public void valueChanged(boolean updateAllAnnotation)
   {
     if (slider.isEnabled())
@@ -395,6 +430,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements
       }
     }
 
+    updateThresholdPanelToolTip();
     if (currentStructureFilterPanel != null)
     {
       if (currentStructureFilterPanel.alphaHelix.isSelected())
@@ -437,9 +473,8 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements
       }
     }
 
-    AlignViewController.filterAnnotations(
-            getCurrentAnnotation().annotations, filterParams,
-            av.getColumnSelection());
+    av.getColumnSelection().filterAnnotations(
+            getCurrentAnnotation().annotations, filterParams);
 
     av.showAllHiddenColumns();
     if (getActionOption() == ACTION_OPTION_HIDE)
@@ -554,7 +589,6 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements
     updateView();
   }
 
-
   public class FurtherActionPanel extends JPanel
   {
     private AnnotationColumnChooser aColChooser;
@@ -615,8 +649,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements
     {
       if (aColChooser.getActionOption() == AnnotationColumnChooser.ACTION_OPTION_HIDE)
       {
-        this.optionsGroup.setSelected(this.hideOption.getModel(),
-                true);
+        this.optionsGroup.setSelected(this.hideOption.getModel(), true);
       }
       else
       {
@@ -783,29 +816,30 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements
               .getString("label.search_filter")));
 
       JvSwingUtils.jvInitComponent(searchBox);
-      searchBox.getDocument().addDocumentListener(
-              new DocumentListener()
-              {
-                @Override
-                public void insertUpdate(DocumentEvent e)
-                {
-                  searchStringAction();
-                }
-
-                @Override
-                public void removeUpdate(DocumentEvent e)
-                {
-                  searchStringAction();
-                }
-
-                @Override
-                public void changedUpdate(DocumentEvent e)
-                {
-                  searchStringAction();
-                }
-              });
-
-      JvSwingUtils.jvInitComponent(displayName, "label.display_name");
+      searchBox.setToolTipText(MessageManager
+              .getString("info.enter_search_text_here"));
+      searchBox.getDocument().addDocumentListener(new DocumentListener()
+      {
+        @Override
+        public void insertUpdate(DocumentEvent e)
+        {
+          searchStringAction();
+        }
+
+        @Override
+        public void removeUpdate(DocumentEvent e)
+        {
+          searchStringAction();
+        }
+
+        @Override
+        public void changedUpdate(DocumentEvent e)
+        {
+          searchStringAction();
+        }
+      });
+
+      JvSwingUtils.jvInitComponent(displayName, "label.label");
       displayName.setEnabled(false);
       displayName.addActionListener(new ActionListener()
       {
@@ -849,6 +883,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements
     {
       aColChooser.setCurrentSearchPanel(this);
       aColChooser.updateView();
+      updateSearchPanelToolTips();
     }
 
     public void syncState()
@@ -864,6 +899,23 @@ 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);
     }
   }