1 package jalview.ws2.gui;
5 import jalview.gui.AlignFrame;
6 import jalview.gui.AlignmentPanel;
7 import jalview.gui.IProgressIndicator;
8 import jalview.gui.IProgressIndicatorHandler;
9 import jalview.ws2.actions.annotation.AnnotationAction;
10 import jalview.ws2.actions.annotation.AnnotationResult;
11 import jalview.ws2.actions.api.JobI;
12 import jalview.ws2.actions.api.TaskEventListener;
13 import jalview.ws2.actions.api.TaskI;
14 import jalview.ws2.api.JobStatus;
16 public class AnnotationServiceGuiHandler
17 implements TaskEventListener<AnnotationResult>
19 private final AlignFrame alignFrame;
21 private final AlignmentPanel alignPanel;
23 private final IProgressIndicator progressIndicator;
25 private final AnnotationAction action;
27 public AnnotationServiceGuiHandler(AnnotationAction action, AlignFrame frame)
29 this.alignFrame = frame;
30 this.alignPanel = frame.alignPanel;
31 this.progressIndicator = frame;
36 public void taskStarted(TaskI<AnnotationResult> source, List<? extends JobI> subJobs)
38 progressIndicator.registerHandler(source.getUid(),
39 new IProgressIndicatorHandler()
42 public boolean cancelActivity(long id)
49 public boolean canCancel()
57 public void taskStatusChanged(TaskI<AnnotationResult> source, JobStatus status)
66 progressIndicator.removeProgressBar(source.getUid());
73 progressIndicator.addProgressBar(source.getUid(), action.getFullName());
79 public void taskCompleted(TaskI<AnnotationResult> source, AnnotationResult result)
83 if (result.getTransferFeatures() && alignFrame.alignPanel == alignPanel)
85 alignFrame.getViewport().setShowSequenceFeatures(true);
86 alignFrame.setMenusForViewport();
88 alignPanel.adjustAnnotationHeight();
92 public void taskException(TaskI<AnnotationResult> source, Exception e)
98 public void taskRestarted(TaskI<AnnotationResult> source)
104 public void subJobStatusChanged(TaskI<AnnotationResult> source, JobI job, JobStatus status)
110 public void subJobLogChanged(TaskI<AnnotationResult> source, JobI job, String log)
116 public void subJobErrorLogChanged(TaskI<AnnotationResult> source, JobI job, String log)