001 // License: GPL. For details, see LICENSE file.
002 package org.openstreetmap.josm.gui.progress;
003
004 import java.awt.Component;
005
006 public class ChildProgress extends AbstractProgressMonitor {
007
008 private final AbstractProgressMonitor parent;
009 private final boolean internal;
010
011 public ChildProgress(AbstractProgressMonitor parent, CancelHandler cancelHandler, boolean internal) {
012 super(cancelHandler);
013 this.parent = parent;
014 this.internal = internal;
015 }
016
017 public final AbstractProgressMonitor getParent() {
018 return parent;
019 }
020
021 public final boolean isInternal() {
022 return internal;
023 }
024
025 @Override
026 void updateProgress(double value) {
027 parent.childSetProgress(this, value);
028 }
029
030 @Override
031 protected void doBeginTask() {
032 }
033
034 @Override
035 protected void doSetCustomText(String title) {
036 if (!internal) {
037 parent.childSetCustomText(this, title);
038 }
039 }
040
041 @Override
042 protected void doSetTitle(String title) {
043 if (!internal) {
044 parent.childSetTitle(this, title);
045 }
046 }
047
048 @Override
049 protected void doSetIntermediate(boolean value) {
050 if (!internal) {
051 parent.childSetIntermediate(this, value);
052 }
053 }
054
055 @Override
056 protected void doFinishTask() {
057 parent.childFinished(this);
058 }
059
060 @Override
061 public void setProgressTaskId(ProgressTaskId taskId) {
062 parent.setProgressTaskId(taskId);
063 }
064
065 @Override
066 public ProgressTaskId getProgressTaskId() {
067 return parent.getProgressTaskId();
068 }
069
070 @Override
071 public Component getWindowParent() {
072 return parent.getWindowParent();
073 }
074 }