]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/SCLProgressMonitor.java
More options for SCL progress monitoring
[simantics/platform.git] / bundles / org.simantics.scl.osgi / src / org / simantics / scl / osgi / SCLProgressMonitor.java
index 4f115a87d4cfdc290e46b89a88971644f6c8f242..256a0de57f2ba43236f664c9c071aef19df76720 100644 (file)
@@ -7,6 +7,9 @@ import org.simantics.scl.runtime.tuple.Tuple0;
 
 public class SCLProgressMonitor implements IProgressMonitor {
 
+       int recordedWork = 0;
+       String currentSubtask = "";
+       
     private final Function2<String, Float, Tuple0> beginTask;
     private final Function1<Tuple0, Tuple0> done;
     private final Function1<Tuple0, Boolean> isCanceled;
@@ -59,11 +62,21 @@ public class SCLProgressMonitor implements IProgressMonitor {
     @Override
     public void subTask(String name) {
         subTask.apply(name);
+        currentSubtask = name;
     }
 
     @Override
     public void worked(int work) {
         worked.apply(new Float(work));
+        recordedWork += work;
+    }
+    
+    public float getWork() {
+       return recordedWork;
+    }
+
+    public String getSubTask() {
+       return currentSubtask;
     }
 
 }