import java.util.Hashtable;
import java.util.List;
import java.util.Vector;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.CompletionStage;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
+import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
+import javax.swing.WindowConstants;
import javax.swing.border.TitledBorder;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
// TODO ABSRACT FROM JABAWS CLASSES
+ // completion stage representing whether start was clicked
+ private final CompletableFuture<Boolean> completionStage = new CompletableFuture<>();
+
/**
* manager for options and parameters.
*/
JTextArea setDescr = new JTextArea();
JScrollPane paramPane = new JScrollPane();
+
+ JButton startjob = JvSwingUtils.makeButton(
+ MessageManager.getString("action.start_job"),
+ MessageManager.getString("label.start_job_current_settings"),
+ this::startjob_actionPerformed);
+ JButton canceljob = JvSwingUtils.makeButton(
+ MessageManager.getString("action.cancel_job"),
+ MessageManager.getString("label.cancel_job_close_dialog"),
+ this::canceljob_actionPerformed);
ParamDatastoreI paramStore;
// set true when 'Start Job' is clicked
boolean startJob = false;
- JDialog frame = null;
+ JFrame frame = null;
UIinfo service;
*
* @return
*/
- public boolean showRunDialog()
+ public CompletionStage<Boolean> showRunDialog()
{
-
- frame = new JDialog(Desktop.instance, true);
+ frame = new JFrame();
+ frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
if (service != null)
{
frame.setTitle(MessageManager.formatMessage("label.edit_params_for",
- new String[]
- { service.getActionText() }));
+ new String[] { service.getActionText() }));
}
-
- Rectangle deskr = Desktop.instance.getBounds();
+ Rectangle deskr = Desktop.getInstance().getBounds();
Dimension pref = this.getPreferredSize();
frame.setBounds(
new Rectangle((int) (deskr.getCenterX() - pref.width / 2),
}
});
+
frame.setVisible(true);
-
- return startJob;
+ return completionStage;
}
private void jbInit()
updatepref = JvSwingUtils.makeButton(
MessageManager.getString("action.update"),
MessageManager.getString("label.update_user_parameter_set"),
- new ActionListener()
- {
-
- @Override
- public void actionPerformed(ActionEvent e)
- {
- update_actionPerformed();
- }
- });
+ this::update_actionPerformed);
deletepref = JvSwingUtils.makeButton(
MessageManager.getString("action.delete"),
MessageManager.getString("label.delete_user_parameter_set"),
- new ActionListener()
- {
-
- @Override
- public void actionPerformed(ActionEvent e)
- {
- delete_actionPerformed();
- }
- });
+ this::delete_actionPerformed);
createpref = JvSwingUtils.makeButton(
MessageManager.getString("action.create"),
MessageManager.getString("label.create_user_parameter_set"),
- new ActionListener()
- {
-
- @Override
- public void actionPerformed(ActionEvent e)
- {
- create_actionPerformed();
- }
- });
+ this::create_actionPerformed);
revertpref = JvSwingUtils.makeButton(
MessageManager.getString("action.revert"),
MessageManager
.getString("label.revert_changes_user_parameter_set"),
- new ActionListener()
- {
+ this::revert_actionPerformed);
- @Override
- public void actionPerformed(ActionEvent e)
- {
- revert_actionPerformed();
- }
- });
-
- JButton 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();
- }
- });
- JButton 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();
- }
- });
JPanel setDetails = new JPanel();
setDetails.setBorder(
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 ? DEFAULT_HEIGHT
- : Desktop.instance.getHeight();
- // setPreferredSize(new Dimension(PREFERRED_WIDTH, windowHeight));
+ final int windowHeight = Desktop.getInstance() == null ? DEFAULT_HEIGHT
+ : Desktop.getInstance().getHeight();
+ setPreferredSize(new Dimension(540, windowHeight));
add(dialogpanel, BorderLayout.SOUTH);
validate();
}
- protected void revert_actionPerformed()
+ protected void revert_actionPerformed(ActionEvent e)
{
reInitDialog(lastParmSet);
updateWebServiceMenus();
}
- protected void update_actionPerformed()
+ protected void update_actionPerformed(ActionEvent e)
{
if (isUserPreset)
{
paramStore.deletePreset(lastParmSet2);
}
- protected void delete_actionPerformed()
+ protected void delete_actionPerformed(ActionEvent e)
{
if (isUserPreset)
{
updateWebServiceMenus();
}
- protected void create_actionPerformed()
+ protected void create_actionPerformed(ActionEvent e)
{
String curname = ((String) setName.getSelectedItem()).trim();
if (curname.length() > 0)
}
}
- protected void canceljob_actionPerformed()
+ protected void canceljob_actionPerformed(ActionEvent e)
{
startJob = false;
if (frame != null)
{
frame.setVisible(false);
}
+ completionStage.complete(false);
}
- protected void startjob_actionPerformed()
+ protected void startjob_actionPerformed(ActionEvent e)
{
startJob = true;
if (frame != null)
{
frame.setVisible(false);
}
+ completionStage.complete(true);
}
void initForService(WsParamSetI paramSet, List<ArgumentI> jobArgset)
*/
protected void updateWebServiceMenus()
{
- if (Desktop.instance == null)
+ if (Desktop.getInstance() == null)
{
return;
}
for (AlignFrame alignFrame : Desktop.getAlignFrames())
{
- alignFrame.BuildWebServiceMenu();
+ alignFrame.buildWebServicesMenu();
}
}