Skip to content
Snippets Groups Projects
Commit 078242e9 authored by Jan Kožusznik's avatar Jan Kožusznik
Browse files

fix closing of window

fix  close operation
parent c5258a7a
No related branches found
No related tags found
No related merge requests found
package cz.it4i.fiji.haas.ui; package cz.it4i.fiji.haas.ui;
import javax.swing.JDialog; import javax.swing.JDialog;
import javax.swing.WindowConstants;
public class ModalDialogs { 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.setModal(true);
dialog.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); dialog.setDefaultCloseOperation(operation);
new Thread(()->dialog.setVisible(true)).start(); new Thread(()->dialog.setVisible(true)).start();
return dialog; return dialog;
} }
......
...@@ -7,6 +7,8 @@ import java.nio.file.Path; ...@@ -7,6 +7,8 @@ import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.Collection; import java.util.Collection;
import javax.swing.WindowConstants;
import org.scijava.Context; import org.scijava.Context;
import org.scijava.command.Command; import org.scijava.command.Command;
import org.scijava.log.LogService; import org.scijava.log.LogService;
...@@ -54,8 +56,8 @@ public class CheckStatusOfHaaS implements Command { ...@@ -54,8 +56,8 @@ public class CheckStatusOfHaaS implements Command {
downloadAll(); downloadAll();
} else { } else {
CheckStatusOfHaaSWindow window; CheckStatusOfHaaSWindow window;
window = ModalDialogs.doModal(new CheckStatusOfHaaSWindow(getFrame(), context)); window = ModalDialogs.doModal(new CheckStatusOfHaaSWindow(getFrame(), context),WindowConstants.DISPOSE_ON_CLOSE);
ProgressDialog dialog = ModalDialogs.doModal(new ProgressDialog(window)); ProgressDialog dialog = ModalDialogs.doModal(new ProgressDialog(window),WindowConstants.DO_NOTHING_ON_CLOSE);
dialog.setTitle("Downloading info about jobs"); dialog.setTitle("Downloading info about jobs");
Collection<JobInfo> jobs = jobManager.getJobs(dialog); Collection<JobInfo> jobs = jobManager.getJobs(dialog);
int count = 0; int count = 0;
......
...@@ -9,6 +9,8 @@ import java.nio.file.Paths; ...@@ -9,6 +9,8 @@ import java.nio.file.Paths;
import java.util.Collection; import java.util.Collection;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.swing.WindowConstants;
import org.scijava.Context; import org.scijava.Context;
import org.scijava.command.Command; import org.scijava.command.Command;
import org.scijava.log.LogService; import org.scijava.log.LogService;
...@@ -56,7 +58,7 @@ public class RunWithHaaS implements Command { ...@@ -56,7 +58,7 @@ public class RunWithHaaS implements Command {
jobManager = new JobManager(getWorkingDirectoryPath(), TestingConstants.getSettings()); jobManager = new JobManager(getWorkingDirectoryPath(), TestingConstants.getSettings());
jobManager.startJob( jobManager.startJob(
getContent(dataDirectory).stream().map(HaaSClient::getUploadingFile).collect(Collectors.toList()), 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) { } catch (IOException e) {
log.error(e); log.error(e);
} }
......
...@@ -3,6 +3,8 @@ package cz.it4i.fiji.haas_snakemake_spim.ui; ...@@ -3,6 +3,8 @@ package cz.it4i.fiji.haas_snakemake_spim.ui;
import java.awt.Window; import java.awt.Window;
import java.util.function.Function; import java.util.function.Function;
import javax.swing.WindowConstants;
import org.scijava.log.LogService; import org.scijava.log.LogService;
import org.scijava.plugin.Parameter; import org.scijava.plugin.Parameter;
...@@ -20,7 +22,6 @@ import javafx.scene.control.TableColumn; ...@@ -20,7 +22,6 @@ import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView; import javafx.scene.control.TableView;
import javafx.scene.input.ContextMenuEvent; import javafx.scene.input.ContextMenuEvent;
public class CheckStatusOfHaaSController { public class CheckStatusOfHaaSController {
@Parameter @Parameter
...@@ -46,9 +47,10 @@ public class CheckStatusOfHaaSController { ...@@ -46,9 +47,10 @@ public class CheckStatusOfHaaSController {
} }
private void downloadData(ActionEvent event) { 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() { private void initMenu() {
ContextMenu cm = new ContextMenu(); ContextMenu cm = new ContextMenu();
MenuItem download = new MenuItem("Download"); MenuItem download = new MenuItem("Download");
...@@ -63,7 +65,7 @@ public class CheckStatusOfHaaSController { ...@@ -63,7 +65,7 @@ public class CheckStatusOfHaaSController {
return; return;
} }
JobInfo job = jobs.getSelectionModel().getSelectedItem(); JobInfo job = jobs.getSelectionModel().getSelectedItem();
if (job != null && job.needsDownload()) { if (job != null && job.needsDownload()) {
download.setDisable(false); download.setDisable(false);
} else { } else {
......
...@@ -15,17 +15,17 @@ public class CheckStatusOfHaaSWindow extends FXFrame<CheckStatusOfHaaSController ...@@ -15,17 +15,17 @@ public class CheckStatusOfHaaSWindow extends FXFrame<CheckStatusOfHaaSController
@Parameter @Parameter
private Context context; private Context context;
private CheckStatusOfHaaSController controller; private CheckStatusOfHaaSController controller;
public CheckStatusOfHaaSWindow(Frame applicationFrame, Context context) { 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; this.context = context;
init(this::initController); init(this::initController);
this.setResizable(false); this.setResizable(false);
this.setTitle("Manage status of HaaS jobs"); this.setTitle("Manage status of HaaS jobs");
} }
public void addJob(JobInfo job) { public void addJob(JobInfo job) {
Platform.runLater(new Runnable() { Platform.runLater(new Runnable() {
@Override @Override
...@@ -34,7 +34,7 @@ public class CheckStatusOfHaaSWindow extends FXFrame<CheckStatusOfHaaSController ...@@ -34,7 +34,7 @@ public class CheckStatusOfHaaSWindow extends FXFrame<CheckStatusOfHaaSController
} }
}); });
} }
private void initController(CheckStatusOfHaaSController controller) { private void initController(CheckStatusOfHaaSController controller) {
this.controller = controller; this.controller = controller;
context.inject(controller); context.inject(controller);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment