X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Futils%2FProgress.java;h=62e46874c3e0918ff49877f74b4d7314bae0be83;hb=da5bfa4878661329b6e13610d5596dc7d06a5455;hp=bea57845bcefaf4a8fd336d8e284750ae8488f8c;hpb=2998b78ae098aff12c0f8cfad2a6bc5303bb33e0;p=nikiroo-utils.git diff --git a/src/be/nikiroo/utils/Progress.java b/src/be/nikiroo/utils/Progress.java index bea5784..62e4687 100644 --- a/src/be/nikiroo/utils/Progress.java +++ b/src/be/nikiroo/utils/Progress.java @@ -19,7 +19,10 @@ public class Progress { * A progression event. * * @param progress - * the {@link Progress} object that generated it + * the {@link Progress} object that generated it, not + * necessarily the same as the one where the listener was + * attached (it could be a child {@link Progress} of this + * {@link Progress}). * @param name * the first non-null name of the {@link Progress} step that * generated this event @@ -257,6 +260,10 @@ public class Progress { /** * Add a {@link ProgressListener} that will trigger on progress changes. + *

+ * Note: the {@link Progress} that will be reported will be the active + * progress, not necessarily the same as the current one (it could be a + * child {@link Progress} of this {@link Progress}). * * @param l * the listener @@ -296,7 +303,7 @@ public class Progress { // Note: this is quite inefficient, especially with many children // TODO: improve it? progress.addProgressListener(new ProgressListener() { - public void progress(Progress progress, String name) { + public void progress(Progress pg, String name) { double total = ((double) localProgress) / (max - min); for (Entry entry : children.entrySet()) { total += (entry.getValue() / (max - min)) @@ -307,7 +314,7 @@ public class Progress { name = Progress.this.name; } - setTotalProgress(progress, name, + setTotalProgress(pg, name, (int) Math.round(total * (max - min))); } });