From cb0513773f8588e6b8c4ae0e53af66e7b43b998b Mon Sep 17 00:00:00 2001 From: jprocter Date: Thu, 14 Jun 2012 11:45:28 +0100 Subject: [PATCH] JAL-1003 visual delay when running a sequence or alignment annotation job --- src/jalview/ws/jws2/JabawsAlignCalcWorker.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/jalview/ws/jws2/JabawsAlignCalcWorker.java b/src/jalview/ws/jws2/JabawsAlignCalcWorker.java index 1f5250a..eb898b3 100644 --- a/src/jalview/ws/jws2/JabawsAlignCalcWorker.java +++ b/src/jalview/ws/jws2/JabawsAlignCalcWorker.java @@ -8,6 +8,7 @@ import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; +import jalview.gui.IProgressIndicator; import jalview.workers.AlignCalcWorker; import jalview.ws.jws2.dm.JabaWsParamSet; import jalview.ws.jws2.jabaws2.Jws2Instance; @@ -47,10 +48,13 @@ public abstract class JabawsAlignCalcWorker extends AlignCalcWorker super(alignViewport, alignPanel); } + IProgressIndicator guiProgress; + public JabawsAlignCalcWorker(Jws2Instance service, AlignFrame alignFrame, WsParamSetI preset, List paramset) { this(alignFrame.getCurrentView(), alignFrame.alignPanel); + this.guiProgress = alignFrame; this.preset = preset; this.arguments = paramset; aaservice = (SequenceAnnotation) service.service; @@ -132,6 +136,7 @@ public abstract class JabawsAlignCalcWorker extends AlignCalcWorker { return; } + long progressId = -1; String rslt = "JOB NOT DEFINED"; @@ -152,7 +157,11 @@ public abstract class JabawsAlignCalcWorker extends AlignCalcWorker AlignmentAnnotation[] aa = alignViewport.getAlignment() .getAlignmentAnnotation(); - + if (guiProgress != null) + { + guiProgress.setProgressBar("JABA " + getServiceActionText(), + progressId = System.currentTimeMillis()); + } if (preset == null) { rslt = aaservice.analize(seqs); @@ -268,6 +277,11 @@ public abstract class JabawsAlignCalcWorker extends AlignCalcWorker calcMan.workerComplete(this); if (ap != null) { + calcMan.workerComplete(this); + if (guiProgress != null) + { + guiProgress.setProgressBar("", progressId); + } ap.paintAlignment(true); } } -- 1.7.10.2