X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FOptsAndParamsPage.java;h=5342c9018ab69a726109ff8c254a6f23120a3752;hb=3d2750d886f1b6015b2fc3f8671a6cf3e32bb07a;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() })); } }