X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FOptsAndParamsPage.java;h=e584eb754d80c9c6641293eaa14b2379c3403276;hb=78ca38e25791832308bf179d91a41c352d305f4c;hp=eab240f25a3d691cf9610e3ad052fcc7817fb723;hpb=59d682209891099d46b960509907c79e3fb276fe;p=jalview.git diff --git a/src/jalview/gui/OptsAndParamsPage.java b/src/jalview/gui/OptsAndParamsPage.java index eab240f..e584eb7 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; @@ -107,29 +110,29 @@ public class OptsAndParamsPage { hasLink = true; - enabled.setToolTipText("" - + 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) - + "
") - + ""); + + "
")); enabled.addMouseListener(this); } else { - if (desc != null) + 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 +145,7 @@ public class OptsAndParamsPage setInitialValue(); } + @Override public void actionPerformed(ActionEvent e) { if (e.getSource() != enabled) @@ -203,42 +207,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()); @@ -339,13 +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() + ttipText = (JvSwingUtils + .wrapTooltip( + true, + parm.getDescription() + (finfo != null ? "
Right click for further information." - : "")) + ""); + + "\"/>" + + MessageManager + .getString("label.opt_and_params_further_details") + : ""))); } JvSwingUtils.mgAddtoLayout(this, ttipText, @@ -386,24 +399,26 @@ 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 +458,7 @@ public class OptsAndParamsPage validate(); } + @Override public void actionPerformed(ActionEvent e) { if (adjusting) @@ -518,45 +534,53 @@ 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)))); + + ((integ) ? ("" + slider.getValue()) : ("" + slider + .getValue() / 1000f))); checkIfModified(); } @@ -591,9 +615,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 +700,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 +739,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 +756,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 +790,8 @@ 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 +808,9 @@ public class OptsAndParamsPage URL linkImageURL = getClass().getResource("/images/link.gif"); - Map optSet = new Hashtable(); + Map optSet = new java.util.LinkedHashMap(); - Map paramSet = new Hashtable(); + Map paramSet = new java.util.LinkedHashMap(); public Map getOptSet() { @@ -852,7 +877,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() })); } }