JAL-1620 version bump and release notes
[jalview.git] / src / jalview / gui / OptsAndParamsPage.java
index a45fe1b..a9accaf 100644 (file)
@@ -1,22 +1,26 @@
-/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
- *
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2b1)
+ * Copyright (C) 2014 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.
- *
+ * 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/>.
- *******************************************************************************/
+ * 
+ * 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.util.MessageManager;
 import jalview.ws.params.ArgumentI;
 import jalview.ws.params.OptionI;
 import jalview.ws.params.ParameterI;
@@ -107,21 +111,21 @@ public class OptsAndParamsPage
       {
         hasLink = true;
 
-        enabled.setToolTipText("<html>"
-                + JvSwingUtils
-                        .wrapTooltip(((desc == null) ? "see further details by right-clicking"
+        enabled.setToolTipText(
+             JvSwingUtils
+                        .wrapTooltip(true, ((desc == null || desc.trim().length() == 0) ? MessageManager.getString("label.opt_and_params_further_details ")
                                 : desc)
                                 + "<br><img src=\"" + linkImageURL + "\"/>")
-                + "</html>");
+                );
         enabled.addMouseListener(this);
       }
       else
       {
-        if (desc != null)
+        if (desc != null && desc.trim().length() > 0)
         {
-          enabled.setToolTipText("<html>"
-                  + JvSwingUtils.wrapTooltip(opt.getDescription())
-                  + "</html>");
+          enabled.setToolTipText(
+                   JvSwingUtils.wrapTooltip(true, opt.getDescription())
+                 );
         }
       }
       add(enabled, BorderLayout.NORTH);
@@ -235,10 +239,11 @@ public class OptsAndParamsPage
 
     }
 
-    public void resetToDefault()
+    public void resetToDefault(boolean setDefaultParams)
     {
       enabled.setSelected(false);
-      if (option.isRequired())
+      if (option.isRequired()
+              || (setDefaultParams && option.getValue() != null))
       {
         // Apply default value
         selectOption(option, option.getValue());
@@ -339,13 +344,12 @@ public class OptsAndParamsPage
               && parm.getDescription().trim().length() > 0)
       {
         // Only create description boxes if there actually is a description.
-        ttipText = ("<html>"
-                + JvSwingUtils
-                        .wrapTooltip(parm.getDescription()
+        ttipText = (JvSwingUtils
+                        .wrapTooltip(true, parm.getDescription()
                                 + (finfo != null ? "<br><img src=\""
                                         + linkImageURL
-                                        + "\"/> Right click for further information."
-                                        : "")) + "</html>");
+                                        + "\"/>"+MessageManager.getString("label.opt_and_params_further_detail")
+                                        : "")));
       }
 
       JvSwingUtils.mgAddtoLayout(this, ttipText,
@@ -386,20 +390,12 @@ public class OptsAndParamsPage
         // Only create description boxes if there actually is a description.
         if (finfo != null)
         {
-          showDesc.setToolTipText("<html>"
-                  + JvSwingUtils
-                          .wrapTooltip("Click to show brief description<br><img src=\""
-                                  + linkImageURL
-                                  + "\"/> Right click for further information.")
-                  + "</html>");
+          showDesc.setToolTipText(JvSwingUtils.wrapTooltip(true, MessageManager.formatMessage("label.opt_and_params_show_brief_desc_image_link", new String[]{linkImageURL.toExternalForm()})));
           showDesc.addMouseListener(this);
         }
         else
         {
-          showDesc.setToolTipText("<html>"
-                  + JvSwingUtils
-                          .wrapTooltip("Click to show brief description.")
-                  + "</html>");
+          showDesc.setToolTipText(JvSwingUtils.wrapTooltip(true, MessageManager.getString("label.opt_and_params_show_brief_desc")));
         }
         showDesc.addActionListener(new ActionListener()
         {
@@ -591,9 +587,12 @@ public class OptsAndParamsPage
             @Override
             public void keyReleased(KeyEvent e)
             {
-              if (valueField.getText().trim().length() > 0)
+              if (e.isActionKey())
               {
-                actionPerformed(null);
+                if (valueField.getText().trim().length() > 0)
+                {
+                  actionPerformed(null);
+                }
               }
             }
 
@@ -673,7 +672,7 @@ public class OptsAndParamsPage
           {
             slider.getModel().setRangeProperties(iVal, 1,
                     validator.getMin().intValue(),
-                    validator.getMax().intValue(), true);
+                    validator.getMax().intValue() + 1, true);
           }
           else
           {
@@ -713,9 +712,10 @@ public class OptsAndParamsPage
           ;
           if (validator.getMin() != null && validator.getMax() != null)
           {
-            slider.getModel().setRangeProperties((int) fVal * 1000, 1,
-                    (int) validator.getMin().floatValue() * 1000,
-                    (int) validator.getMax().floatValue() * 1000, true);
+            slider.getModel().setRangeProperties((int) (fVal * 1000f), 1,
+                    (int) (validator.getMin().floatValue() * 1000f),
+                    1 + (int) (validator.getMax().floatValue() * 1000f),
+                    true);
           }
           else
           {
@@ -766,7 +766,9 @@ public class OptsAndParamsPage
   {
 
     JPopupMenu mnu = new JPopupMenu();
-    JMenuItem mitem = new JMenuItem("View " + finfo);
+    JMenuItem mitem = new JMenuItem(MessageManager.formatMessage(
+            "label.view_params", new String[]
+            { finfo }));
     mitem.addActionListener(new ActionListener()
     {
 
@@ -783,9 +785,9 @@ public class OptsAndParamsPage
 
   URL linkImageURL = getClass().getResource("/images/link.gif");
 
-  Map<String, OptionBox> optSet = new Hashtable<String, OptionBox>();
+  Map<String, OptionBox> optSet = new java.util.LinkedHashMap<String, OptionBox>();
 
-  Map<String, ParamBox> paramSet = new Hashtable<String, ParamBox>();
+  Map<String, ParamBox> paramSet = new java.util.LinkedHashMap<String, ParamBox>();
 
   public Map<String, OptionBox> getOptSet()
   {
@@ -852,7 +854,7 @@ public class OptsAndParamsPage
       }
       else
       {
-        throw new Error("Invalid value " + string + " for option " + option);
+        throw new Error(MessageManager.formatMessage("error.invalid_value_for_option", new String[]{string,option.getName()}));
       }
 
     }