X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FOptsAndParamsPage.java;h=5342c9018ab69a726109ff8c254a6f23120a3752;hb=833fafa77f2f63bea98ce1d6e1e4ee3e46e7bd53;hp=93f5ce2cec299e585cbf2a70ac11e733210416db;hpb=296d1d4fdf60f651889d03a475e54aee135890d4;p=jalview.git
diff --git a/src/jalview/gui/OptsAndParamsPage.java b/src/jalview/gui/OptsAndParamsPage.java
index 93f5ce2..5342c90 100644
--- a/src/jalview/gui/OptsAndParamsPage.java
+++ b/src/jalview/gui/OptsAndParamsPage.java
@@ -1,22 +1,26 @@
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * 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.
+ * 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 .
+ * 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.util.MessageManager;
import jalview.ws.params.ArgumentI;
import jalview.ws.params.OptionI;
import jalview.ws.params.ParameterI;
@@ -37,7 +41,6 @@ import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.net.URL;
import java.util.ArrayList;
-import java.util.Hashtable;
import java.util.List;
import java.util.Map;
@@ -73,8 +76,8 @@ public class OptsAndParamsPage
*/
boolean compact = false;
- public class OptionBox extends JPanel implements MouseListener,
- ActionListener
+ public class OptionBox extends JPanel
+ implements MouseListener, ActionListener
{
JCheckBox enabled = new JCheckBox();
@@ -107,29 +110,28 @@ public class OptsAndParamsPage
{
hasLink = true;
- enabled.setToolTipText(""
- + JvSwingUtils
- .wrapTooltip(((desc == null || desc.trim().length()==0) ? "see further details by right-clicking"
- : desc)
- + "
")
- + "");
+ enabled.setToolTipText(JvSwingUtils.wrapTooltip(true,
+ ((desc == null || desc.trim().length() == 0)
+ ? MessageManager.getString(
+ "label.opt_and_params_further_details")
+ : desc) + "
"));
enabled.addMouseListener(this);
}
else
{
- if (desc != null && desc.trim().length()>0)
+ if (desc != null && desc.trim().length() > 0)
{
- enabled.setToolTipText(""
- + JvSwingUtils.wrapTooltip(opt.getDescription())
- + "");
+ enabled.setToolTipText(
+ JvSwingUtils.wrapTooltip(true, opt.getDescription()));
}
}
add(enabled, BorderLayout.NORTH);
for (Object str : opt.getPossibleValues())
{
- val.addItem((String) str);
+ val.addItem(str);
}
- val.setSelectedItem((String) opt.getValue());
+ val.setSelectedItem(opt.getValue());
if (opt.getPossibleValues().size() > 1)
{
setLayout(new GridLayout(1, 2));
@@ -142,6 +144,7 @@ public class OptsAndParamsPage
setInitialValue();
}
+ @Override
public void actionPerformed(ActionEvent e)
{
if (e.getSource() != enabled)
@@ -203,42 +206,48 @@ public class OptsAndParamsPage
return opt;
}
+ @Override
public void mouseClicked(MouseEvent e)
{
- if (javax.swing.SwingUtilities.isRightMouseButton(e))
+ if (e.isPopupTrigger()) // for Windows
{
showUrlPopUp(this, finfo.toString(), e.getX(), e.getY());
}
}
+ @Override
public void mouseEntered(MouseEvent e)
{
// TODO Auto-generated method stub
}
+ @Override
public void mouseExited(MouseEvent e)
{
// TODO Auto-generated method stub
}
+ @Override
public void mousePressed(MouseEvent e)
{
- // TODO Auto-generated method stub
-
+ if (e.isPopupTrigger()) // Mac
+ {
+ showUrlPopUp(this, finfo.toString(), e.getX(), e.getY());
+ }
}
+ @Override
public void mouseReleased(MouseEvent e)
{
- // TODO Auto-generated method stub
-
}
- 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());
@@ -261,8 +270,8 @@ public class OptsAndParamsPage
}
- public class ParamBox extends JPanel implements ChangeListener,
- ActionListener, MouseListener
+ public class ParamBox extends JPanel
+ implements ChangeListener, ActionListener, MouseListener
{
boolean adjusting = false;
@@ -298,7 +307,8 @@ public class OptsAndParamsPage
JTextField valueField = null;
- public ParamBox(final OptsParametersContainerI pmlayout, ParameterI parm)
+ public ParamBox(final OptsParametersContainerI pmlayout,
+ ParameterI parm)
{
pmdialogbox = pmlayout;
finfo = parm.getFurtherDetails();
@@ -339,17 +349,16 @@ public class OptsAndParamsPage
&& parm.getDescription().trim().length() > 0)
{
// Only create description boxes if there actually is a description.
- ttipText = (""
- + JvSwingUtils
- .wrapTooltip(parm.getDescription()
- + (finfo != null ? "
Right click for further information."
- : "")) + "");
+ ttipText = (JvSwingUtils.wrapTooltip(true,
+ parm.getDescription() + (finfo != null ? "
"
+ + MessageManager.getString(
+ "label.opt_and_params_further_details")
+ : "")));
}
- JvSwingUtils.mgAddtoLayout(this, ttipText,
- new JLabel(parm.getName()), controlPanel, "");
+ JvSwingUtils.mgAddtoLayout(this, ttipText, new JLabel(parm.getName()),
+ controlPanel, "");
updateControls(parm);
validate();
}
@@ -386,24 +395,23 @@ public class OptsAndParamsPage
// Only create description boxes if there actually is a description.
if (finfo != null)
{
- showDesc.setToolTipText(""
- + JvSwingUtils
- .wrapTooltip("Click to show brief description
Right click for further information.")
- + "");
+ 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(""
- + JvSwingUtils
- .wrapTooltip("Click to show brief description.")
- + "");
+ showDesc.setToolTipText(
+ JvSwingUtils.wrapTooltip(true, MessageManager.getString(
+ "label.opt_and_params_show_brief_desc")));
}
showDesc.addActionListener(new ActionListener()
{
+ @Override
public void actionPerformed(ActionEvent e)
{
descisvisible = !descisvisible;
@@ -443,6 +451,7 @@ public class OptsAndParamsPage
validate();
}
+ @Override
public void actionPerformed(ActionEvent e)
{
if (adjusting)
@@ -518,45 +527,52 @@ public class OptsAndParamsPage
lastVal = null;
}
+ @Override
public void mouseClicked(MouseEvent e)
{
- if (javax.swing.SwingUtilities.isRightMouseButton(e))
+ if (e.isPopupTrigger()) // for Windows
{
showUrlPopUp(this, finfo.toString(), e.getX(), e.getY());
}
}
+ @Override
public void mouseEntered(MouseEvent e)
{
// TODO Auto-generated method stub
}
+ @Override
public void mouseExited(MouseEvent e)
{
// TODO Auto-generated method stub
}
+ @Override
public void mousePressed(MouseEvent e)
{
- // TODO Auto-generated method stub
-
+ if (e.isPopupTrigger()) // for Mac
+ {
+ showUrlPopUp(this, finfo.toString(), e.getX(), e.getY());
+ }
}
+ @Override
public void mouseReleased(MouseEvent e)
{
// TODO Auto-generated method stub
}
+ @Override
public void stateChanged(ChangeEvent e)
{
if (!adjusting)
{
- valueField.setText(""
- + ((integ) ? ("" + (int) slider.getValue())
- : ("" + (float) (slider.getValue() / 1000f))));
+ valueField.setText("" + ((integ) ? ("" + slider.getValue())
+ : ("" + slider.getValue() / 1000f)));
checkIfModified();
}
@@ -591,9 +607,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,14 +692,13 @@ public class OptsAndParamsPage
{
slider.getModel().setRangeProperties(iVal, 1,
validator.getMin().intValue(),
- validator.getMax().intValue(), true);
+ validator.getMax().intValue() + 1, true);
}
else
{
slider.setVisible(false);
}
- return new int[]
- { iVal };
+ return new int[] { iVal };
}
else
{
@@ -713,16 +731,16 @@ 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
{
slider.setVisible(false);
}
- return new float[]
- { fVal };
+ return new float[] { fVal };
}
}
else
@@ -730,13 +748,11 @@ public class OptsAndParamsPage
if (!choice)
{
slider.setVisible(false);
- return new String[]
- { valueField.getText().trim() };
+ return new String[] { valueField.getText().trim() };
}
else
{
- return new String[]
- { (String) choicebox.getSelectedItem() };
+ return new String[] { (String) choicebox.getSelectedItem() };
}
}
@@ -766,7 +782,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()
{
@@ -852,7 +870,9 @@ 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() }));
}
}