diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/ModalDialogs.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/ModalDialogs.java index 45d845b02e87d74eeaac2b7928cac15723f7f3d9..de2a03a50f10377d00c540e7bb6f0e1b3440ab83 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/ModalDialogs.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/ModalDialogs.java @@ -1,12 +1,11 @@ package cz.it4i.fiji.haas.ui; import javax.swing.JDialog; -import javax.swing.WindowConstants; public class ModalDialogs { - public static <T extends JDialog>T doModal(T dialog) { + public static <T extends JDialog>T doModal(T dialog, int operation) { dialog.setModal(true); - dialog.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); + dialog.setDefaultCloseOperation(operation); new Thread(()->dialog.setVisible(true)).start(); return dialog; } diff --git a/haas-snakemake-spim/src/main/java/cz/it4i/fiji/haas_snakemake_spim/commands/CheckStatusOfHaaS.java b/haas-snakemake-spim/src/main/java/cz/it4i/fiji/haas_snakemake_spim/commands/CheckStatusOfHaaS.java index bc9e974ef079d0d4a9789a90948661d6512bd193..3ea5e71cd4fb5da950249b31f1ffd429bce20977 100644 --- a/haas-snakemake-spim/src/main/java/cz/it4i/fiji/haas_snakemake_spim/commands/CheckStatusOfHaaS.java +++ b/haas-snakemake-spim/src/main/java/cz/it4i/fiji/haas_snakemake_spim/commands/CheckStatusOfHaaS.java @@ -7,6 +7,8 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.Collection; +import javax.swing.WindowConstants; + import org.scijava.Context; import org.scijava.command.Command; import org.scijava.log.LogService; @@ -54,8 +56,8 @@ public class CheckStatusOfHaaS implements Command { downloadAll(); } else { CheckStatusOfHaaSWindow window; - window = ModalDialogs.doModal(new CheckStatusOfHaaSWindow(getFrame(), context)); - ProgressDialog dialog = ModalDialogs.doModal(new ProgressDialog(window)); + window = ModalDialogs.doModal(new CheckStatusOfHaaSWindow(getFrame(), context),WindowConstants.DISPOSE_ON_CLOSE); + ProgressDialog dialog = ModalDialogs.doModal(new ProgressDialog(window),WindowConstants.DO_NOTHING_ON_CLOSE); dialog.setTitle("Downloading info about jobs"); Collection<JobInfo> jobs = jobManager.getJobs(dialog); int count = 0; diff --git a/haas-snakemake-spim/src/main/java/cz/it4i/fiji/haas_snakemake_spim/commands/RunWithHaaS.java b/haas-snakemake-spim/src/main/java/cz/it4i/fiji/haas_snakemake_spim/commands/RunWithHaaS.java index 96cda95dc0f79798a2eabf708d79e69fc3e49f9d..3576aa7f8b4b2a25a425ec11f9d29c9c604ab25f 100644 --- a/haas-snakemake-spim/src/main/java/cz/it4i/fiji/haas_snakemake_spim/commands/RunWithHaaS.java +++ b/haas-snakemake-spim/src/main/java/cz/it4i/fiji/haas_snakemake_spim/commands/RunWithHaaS.java @@ -9,6 +9,8 @@ import java.nio.file.Paths; import java.util.Collection; import java.util.stream.Collectors; +import javax.swing.WindowConstants; + import org.scijava.Context; import org.scijava.command.Command; import org.scijava.log.LogService; @@ -56,7 +58,7 @@ public class RunWithHaaS implements Command { jobManager = new JobManager(getWorkingDirectoryPath(), TestingConstants.getSettings()); jobManager.startJob( getContent(dataDirectory).stream().map(HaaSClient::getUploadingFile).collect(Collectors.toList()), - ModalDialogs.doModal(new ProgressDialog(getFrame()))); + ModalDialogs.doModal(new ProgressDialog(getFrame()), WindowConstants.DO_NOTHING_ON_CLOSE)); } catch (IOException e) { log.error(e); } diff --git a/haas-snakemake-spim/src/main/java/cz/it4i/fiji/haas_snakemake_spim/ui/CheckStatusOfHaaSController.java b/haas-snakemake-spim/src/main/java/cz/it4i/fiji/haas_snakemake_spim/ui/CheckStatusOfHaaSController.java index 92fa18eddd69d751df8d8e382eff873738be1ecb..5c4b41ae491172b582b17208fbeb341349c833ed 100644 --- a/haas-snakemake-spim/src/main/java/cz/it4i/fiji/haas_snakemake_spim/ui/CheckStatusOfHaaSController.java +++ b/haas-snakemake-spim/src/main/java/cz/it4i/fiji/haas_snakemake_spim/ui/CheckStatusOfHaaSController.java @@ -3,6 +3,8 @@ package cz.it4i.fiji.haas_snakemake_spim.ui; import java.awt.Window; import java.util.function.Function; +import javax.swing.WindowConstants; + import org.scijava.log.LogService; import org.scijava.plugin.Parameter; @@ -20,7 +22,6 @@ import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; import javafx.scene.input.ContextMenuEvent; - public class CheckStatusOfHaaSController { @Parameter @@ -46,9 +47,10 @@ public class CheckStatusOfHaaSController { } private void downloadData(ActionEvent event) { - Platform.runLater(() -> jobs.getSelectionModel().getSelectedItem().downloadData(ModalDialogs.doModal(new ProgressDialog(root)))); + Platform.runLater(() -> jobs.getSelectionModel().getSelectedItem() + .downloadData(ModalDialogs.doModal(new ProgressDialog(root), WindowConstants.DO_NOTHING_ON_CLOSE))); } - + private void initMenu() { ContextMenu cm = new ContextMenu(); MenuItem download = new MenuItem("Download"); @@ -63,7 +65,7 @@ public class CheckStatusOfHaaSController { return; } JobInfo job = jobs.getSelectionModel().getSelectedItem(); - + if (job != null && job.needsDownload()) { download.setDisable(false); } else { diff --git a/haas-snakemake-spim/src/main/java/cz/it4i/fiji/haas_snakemake_spim/ui/CheckStatusOfHaaSWindow.java b/haas-snakemake-spim/src/main/java/cz/it4i/fiji/haas_snakemake_spim/ui/CheckStatusOfHaaSWindow.java index b2b13c67ae46760ef15e8df5eb671a59e6229c99..5c7b724732ddf8ffa12f7a8874f7c7938588dc0e 100644 --- a/haas-snakemake-spim/src/main/java/cz/it4i/fiji/haas_snakemake_spim/ui/CheckStatusOfHaaSWindow.java +++ b/haas-snakemake-spim/src/main/java/cz/it4i/fiji/haas_snakemake_spim/ui/CheckStatusOfHaaSWindow.java @@ -15,17 +15,17 @@ public class CheckStatusOfHaaSWindow extends FXFrame<CheckStatusOfHaaSController @Parameter private Context context; - + private CheckStatusOfHaaSController controller; public CheckStatusOfHaaSWindow(Frame applicationFrame, Context context) { - super(applicationFrame,"/cz/it4i/fiji/haas/ui/CheckStatusOfHaaS.fxml"); + super(applicationFrame, "/cz/it4i/fiji/haas_snakemake_spim/ui/CheckStatusOfHaaS.fxml"); this.context = context; init(this::initController); this.setResizable(false); this.setTitle("Manage status of HaaS jobs"); } - + public void addJob(JobInfo job) { Platform.runLater(new Runnable() { @Override @@ -34,7 +34,7 @@ public class CheckStatusOfHaaSWindow extends FXFrame<CheckStatusOfHaaSController } }); } - + private void initController(CheckStatusOfHaaSController controller) { this.controller = controller; context.inject(controller);