package pl.edu.fuw.fid.signalanalysis.waveform; import javafx.application.Platform; import javafx.beans.property.DoubleProperty; import javafx.concurrent.Task; import pl.edu.fuw.fid.signalanalysis.AsyncStatus; /** * Asynchronous result (promise) of ImageRenderer's computation. * * @author ptr@mimuw.edu.pl */ public class ImageRendererStatus implements AsyncStatus { private final DoubleProperty progress; private final Task task; public ImageRendererStatus(Task task, DoubleProperty progress) { this.progress = progress; this.task = task; } @Override public boolean isCancelled() { return task.isCancelled(); } @Override public void setProgress(final double progress) { Platform.runLater(new Runnable() { @Override public void run() { ImageRendererStatus.this.progress.set(progress); } }); } }