/*
- * 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 <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;
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;
{
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>");
+ + "<br><img src=\"" + linkImageURL + "\"/>"));
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);
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));
setInitialValue();
}
+ @Override
public void actionPerformed(ActionEvent e)
{
if (e.getSource() != enabled)
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());
&& 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_details")
+ : "")));
}
JvSwingUtils.mgAddtoLayout(this, ttipText,
// 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()
{
+ @Override
public void actionPerformed(ActionEvent e)
{
descisvisible = !descisvisible;
validate();
}
+ @Override
public void actionPerformed(ActionEvent e)
{
if (adjusting)
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))));
+ + ((integ) ? ("" + slider.getValue()) : ("" + slider
+ .getValue() / 1000f)));
checkIfModified();
}
@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);
+ }
}
}
{
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
{
;
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
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() };
}
}
{
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()
{
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()
{
}
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() }));
}
}