From: jprocter Date: Thu, 14 Jun 2012 10:45:28 +0000 (+0100) Subject: JAL-1003 visual delay when running a sequence or alignment annotation job X-Git-Tag: Jalview_2_9~468 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=cb0513773f8588e6b8c4ae0e53af66e7b43b998b;hp=85c7ac5fb01ae254b336a6d5e743e004799a05ce;p=jalview.git JAL-1003 visual delay when running a sequence or alignment annotation job --- 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); } }