X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FWsJobParameters.java;h=17c07601af6c243361d8ba99e769ecb9d937e7d1;hb=fee1b781ca14aadea5d112fc554fe14879c787c5;hp=6879e9a1b53618f15b31abb7df004c162840e424;hpb=4cea7a0328724b90a6a7c16ae8c926e0cc12cedd;p=jalview.git diff --git a/src/jalview/gui/WsJobParameters.java b/src/jalview/gui/WsJobParameters.java index 6879e9a..17c0760 100644 --- a/src/jalview/gui/WsJobParameters.java +++ b/src/jalview/gui/WsJobParameters.java @@ -1,19 +1,22 @@ /* - * 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; @@ -58,7 +61,6 @@ import javax.swing.JComboBox; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; -import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSplitPane; @@ -215,7 +217,8 @@ public class WsJobParameters extends JPanel implements ItemListener, frame = new JDialog(Desktop.instance, true); - frame.setTitle("Edit parameters for " + service.getActionText()); + frame.setTitle(MessageManager.formatMessage("label.edit_params_for", + new String[] { service.getActionText() })); Rectangle deskr = Desktop.instance.getBounds(); Dimension pref = this.getPreferredSize(); frame.setBounds(new Rectangle( @@ -229,6 +232,7 @@ public class WsJobParameters extends JPanel implements ItemListener, frame.validate(); javax.swing.SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { // jobPanel.setDividerLocation(0.25); @@ -262,64 +266,79 @@ public class WsJobParameters extends JPanel implements ItemListener, } }); - updatepref = JvSwingUtils.makeButton(MessageManager.getString("action.update"), + updatepref = JvSwingUtils.makeButton( + MessageManager.getString("action.update"), MessageManager.getString("label.update_user_parameter_set"), new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { update_actionPerformed(e); } }); - deletepref = JvSwingUtils.makeButton(MessageManager.getString("action.delete"), + deletepref = JvSwingUtils.makeButton( + MessageManager.getString("action.delete"), MessageManager.getString("label.delete_user_parameter_set"), new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { delete_actionPerformed(e); } }); - createpref = JvSwingUtils.makeButton(MessageManager.getString("action.create"), + createpref = JvSwingUtils.makeButton( + MessageManager.getString("action.create"), MessageManager.getString("label.create_user_parameter_set"), new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { create_actionPerformed(e); } }); - revertpref = JvSwingUtils.makeButton(MessageManager.getString("action.revert"), - MessageManager.getString("label.revert_changes_user_parameter_set"), + revertpref = JvSwingUtils.makeButton(MessageManager + .getString("action.revert"), MessageManager + .getString("label.revert_changes_user_parameter_set"), new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { revert_actionPerformed(e); } }); - startjob = JvSwingUtils.makeButton(MessageManager.getString("action.start_job"), - MessageManager.getString("label.start_job_current_settings"), new ActionListener() + startjob = JvSwingUtils.makeButton( + MessageManager.getString("action.start_job"), + MessageManager.getString("label.start_job_current_settings"), + new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { startjob_actionPerformed(e); } }); - canceljob = JvSwingUtils.makeButton(MessageManager.getString("action.cancel_job"), - MessageManager.getString("label.cancel_job_close_dialog"), new ActionListener() + canceljob = JvSwingUtils.makeButton( + MessageManager.getString("action.cancel_job"), + MessageManager.getString("label.cancel_job_close_dialog"), + new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { canceljob_actionPerformed(e); } }); - setDetails.setBorder(new TitledBorder(MessageManager.getString("label.details"))); + setDetails.setBorder(new TitledBorder(MessageManager + .getString("label.details"))); setDetails.setLayout(new BorderLayout()); setDescr.setColumns(40); setDescr.setWrapStyleWord(true); @@ -327,9 +346,9 @@ public class WsJobParameters extends JPanel implements ItemListener, setDescr.setBackground(getBackground()); setDescr.setEditable(true); setDescr.getDocument().addDocumentListener(this); - setDescr.setToolTipText(MessageManager.getString("label.edit_notes_parameter_set")); + setDescr.setToolTipText(MessageManager + .getString("label.edit_notes_parameter_set")); JScrollPane setDescrView = new JScrollPane(); - // setDescrView.setPreferredSize(new Dimension(350, 200)); setDescrView.getViewport().setView(setDescr); setName.setEditable(true); setName.addItemListener(this); @@ -338,7 +357,8 @@ public class WsJobParameters extends JPanel implements ItemListener, GridBagLayout gbl = new GridBagLayout(); SetNamePanel.setLayout(gbl); - JLabel setNameLabel = new JLabel(MessageManager.getString("label.current_parameter_set_name")); + JLabel setNameLabel = new JLabel( + MessageManager.getString("label.current_parameter_set_name")); setNameLabel.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10)); setNameInfo.add(setNameLabel); @@ -377,9 +397,11 @@ public class WsJobParameters extends JPanel implements ItemListener, // paramPane.setPreferredSize(new Dimension(360, 400)); // paramPane.setPreferredSize(null); - jobOptions.setBorder(new TitledBorder(MessageManager.getString("label.options"))); + jobOptions.setBorder(new TitledBorder(MessageManager + .getString("label.options"))); jobOptions.setOpaque(true); - paramList.setBorder(new TitledBorder(MessageManager.getString("label.parameters"))); + paramList.setBorder(new TitledBorder(MessageManager + .getString("label.parameters"))); paramList.setOpaque(true); JPanel bjo = new JPanel(new BorderLayout()), bjp = new JPanel( new BorderLayout()); @@ -410,6 +432,11 @@ public class WsJobParameters extends JPanel implements ItemListener, JPanel dialogpanel = new JPanel(); dialogpanel.add(startjob); dialogpanel.add(canceljob); + // JAL-1580: setMaximumSize() doesn't work, so just size for the worst case: + // check for null is for JUnit usage + final int windowHeight = Desktop.instance == null ? 540 + : Desktop.instance.getHeight(); + setPreferredSize(new Dimension(540, windowHeight)); add(dialogpanel, BorderLayout.SOUTH); validate(); } @@ -417,7 +444,7 @@ public class WsJobParameters extends JPanel implements ItemListener, protected void revert_actionPerformed(ActionEvent e) { reInitDialog(lastParmSet); - + updateWebServiceMenus(); } protected void update_actionPerformed(ActionEvent e) @@ -446,6 +473,7 @@ public class WsJobParameters extends JPanel implements ItemListener, _deleteUserPreset(lastParmSet); } reInitDialog(null); // service default + updateWebServiceMenus(); } protected void create_actionPerformed(ActionEvent e) @@ -456,7 +484,9 @@ public class WsJobParameters extends JPanel implements ItemListener, _storeCurrentPreset(curname); lastParmSet = curname; isUserPreset = true; + reInitDialog(curname); initArgSetModified(); + updateWebServiceMenus(); } else { @@ -511,7 +541,7 @@ public class WsJobParameters extends JPanel implements ItemListener, Hashtable exnames = new Hashtable(); for (int i = 0, iSize = setName.getItemCount(); i < iSize; i++) { - exnames.put((String) setName.getItemAt(i), setName.getItemAt(i)); + exnames.put(setName.getItemAt(i), setName.getItemAt(i)); } servicePresets = new Hashtable(); // Add the default entry - if not present already. @@ -567,17 +597,17 @@ public class WsJobParameters extends JPanel implements ItemListener, @SuppressWarnings("unchecked") private void updateTable(WsParamSetI p, List jobArgset) { - boolean setDefaultParams=false; + boolean setDefaultParams = false; if (lastParmSet == null) { isUserPreset = false; // First call - so provide Service default settings setName.setSelectedItem(lastSetName = SVC_DEF); } - if (p==null && SVC_DEF.equals(""+setName.getSelectedItem())) + if (p == null && SVC_DEF.equals("" + setName.getSelectedItem())) { // indicate that service defaults should be set if available - setDefaultParams=true; + setDefaultParams = true; } // populate table from default parameter set. List args = paramStore.getServiceParameters(); @@ -585,9 +615,9 @@ public class WsJobParameters extends JPanel implements ItemListener, // split to params and required arguments { int cw = 0; - boolean optset=false; + boolean optset = false; for (ArgumentI myarg : args) - { + { // Ideally, Argument would implement isRequired ! if (myarg instanceof ParameterI) { @@ -712,6 +742,7 @@ public class WsJobParameters extends JPanel implements ItemListener, validate(); } + @Override public void argSetModified(Object modifiedElement, boolean b) { if (settingDialog) @@ -803,6 +834,7 @@ public class WsJobParameters extends JPanel implements ItemListener, settingDialog = stn; } + @Override public void refreshParamLayout() { // optsAndparams.setPreferredSize(null); @@ -934,7 +966,7 @@ public class WsJobParameters extends JPanel implements ItemListener, { Vector services = new Vector(); services.addElement(args[p++]); - Jws2Discoverer.setServiceUrls(services); + Jws2Discoverer.getDiscoverer().setServiceUrls(services); } try { @@ -1075,8 +1107,9 @@ public class WsJobParameters extends JPanel implements ItemListener, } WsJobParameters pgui = new WsJobParameters(lastserv, new JabaPreset(lastserv, pr)); - JFrame jf = new JFrame("Parameters for " - + lastserv.getActionText()); + JFrame jf = new JFrame(MessageManager.formatMessage( + "label.ws_parameters_for", + new String[] { lastserv.getActionText() })); JPanel cont = new JPanel(new BorderLayout()); pgui.validate(); cont.setPreferredSize(pgui.getPreferredSize()); @@ -1088,40 +1121,47 @@ public class WsJobParameters extends JPanel implements ItemListener, jf.addWindowListener(new WindowListener() { + @Override public void windowActivated(WindowEvent e) { // TODO Auto-generated method stub } + @Override public void windowClosed(WindowEvent e) { } + @Override public void windowClosing(WindowEvent e) { thr.interrupt(); } + @Override public void windowDeactivated(WindowEvent e) { // TODO Auto-generated method stub } + @Override public void windowDeiconified(WindowEvent e) { // TODO Auto-generated method stub } + @Override public void windowIconified(WindowEvent e) { // TODO Auto-generated method stub } + @Override public void windowOpened(WindowEvent e) { // TODO Auto-generated method stub @@ -1275,11 +1315,23 @@ public class WsJobParameters extends JPanel implements ItemListener, SetNamePanel.validate(); validate(); settingDialog = false; + } + /** + * Rebuild the AlignFrame web service menus (after add/delete of a preset + * option). + */ + protected void updateWebServiceMenus() + { + for (AlignFrame alignFrame : Desktop.getAlignFrames()) + { + alignFrame.BuildWebServiceMenu(); + } } String curSetName = null; + @Override public void itemStateChanged(ItemEvent e) { if (e.getSource() == setName && e.getStateChange() == e.SELECTED) @@ -1298,6 +1350,7 @@ public class WsJobParameters extends JPanel implements ItemListener, } javax.swing.SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { doPreferenceComboStateChange(setname); @@ -1319,14 +1372,14 @@ public class WsJobParameters extends JPanel implements ItemListener, } settingDialog = true; System.out.println("Prompting to save " + lsetname); - if (javax.swing.JOptionPane + if (JvOptionPane .showConfirmDialog( this, "Parameter set '" + lsetname + "' is modifed, and your changes will be lost.\nReally change preset ?", "Warning: Unsaved Changes", - javax.swing.JOptionPane.OK_CANCEL_OPTION) != JOptionPane.OK_OPTION) + JvOptionPane.OK_CANCEL_OPTION) != JvOptionPane.OK_OPTION) { // revert the combobox to the current item settingDialog = true; @@ -1378,6 +1431,7 @@ public class WsJobParameters extends JPanel implements ItemListener, */ String lastDescrText = null; + @Override public void actionPerformed(ActionEvent e) { if (e.getSource() instanceof Component) @@ -1386,7 +1440,7 @@ public class WsJobParameters extends JPanel implements ItemListener, if (src.getParent() == setName) { // rename any existing records we know about for this set. - String newname = (String) e.getActionCommand().trim(); + String newname = e.getActionCommand().trim(); String msg = null; if (isServicePreset(newname)) { @@ -1398,11 +1452,13 @@ public class WsJobParameters extends JPanel implements ItemListener, settingDialog = false; javax.swing.SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { - JOptionPane.showMessageDialog(ourframe, - "Invalid name - preset already exists.", - "Invalid name", JOptionPane.WARNING_MESSAGE); + JvOptionPane.showMessageDialog(ourframe, MessageManager + .getString("label.invalid_name_preset_exists"), + MessageManager.getString("label.invalid_name"), + JvOptionPane.WARNING_MESSAGE); } }); @@ -1438,16 +1494,19 @@ public class WsJobParameters extends JPanel implements ItemListener, } } + @Override public void insertUpdate(DocumentEvent e) { checkDescrModified(); } + @Override public void removeUpdate(DocumentEvent e) { checkDescrModified(); } + @Override public void changedUpdate(DocumentEvent e) { checkDescrModified();