importJava "org.eclipse.core.runtime.IProgressMonitor" where data ProgressMonitor beginTask :: ProgressMonitor -> String -> Integer -> () worked :: ProgressMonitor -> Integer -> () done :: ProgressMonitor -> () isCanceled :: ProgressMonitor -> Boolean setCanceled :: ProgressMonitor -> Boolean -> () subTask :: ProgressMonitor -> String -> () importJava "org.eclipse.core.runtime.SubMonitor" where data SubMonitor @JavaName convert convertMonitor :: ProgressMonitor -> Integer -> SubMonitor newChild :: SubMonitor -> Integer -> ProgressMonitor split :: SubMonitor -> Integer -> ProgressMonitor @JavaName "worked" workedSM :: SubMonitor -> Integer -> () importJava "org.eclipse.core.runtime.NullProgressMonitor" where @JavaName "" createNullProgressMonitor :: () -> ProgressMonitor importJava "org.simantics.scl.osgi.SCLProgressMonitor" where data SCLProgressMonitor @JavaName "" sclProgressMonitor :: (String -> Float -> ()) -> (() -> ()) -> (() -> Boolean) -> (Boolean -> ()) -> (String -> ()) -> (String -> ()) -> (Float -> ()) -> ProgressMonitor @JavaName "getWork" sclProgressMonitorWork :: SCLProgressMonitor -> Float @JavaName "getSubTask" sclProgressMonitorSubTask :: SCLProgressMonitor -> String