001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.gui.progress; 003 004import java.awt.Component; 005 006public 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 protected void updateProgress(double value) { 027 parent.childSetProgress(this, value); 028 } 029 030 @Override 031 protected void doBeginTask() { 032 // Do nothing 033 } 034 035 @Override 036 protected void doSetCustomText(String title) { 037 if (!internal) { 038 parent.childSetCustomText(this, title); 039 } 040 } 041 042 @Override 043 protected void doSetTitle(String title) { 044 if (!internal) { 045 parent.childSetTitle(this, title); 046 } 047 } 048 049 @Override 050 protected void doSetIntermediate(boolean value) { 051 if (!internal) { 052 parent.childSetIntermediate(this, value); 053 } 054 } 055 056 @Override 057 protected void doFinishTask() { 058 parent.childFinished(this); 059 } 060 061 @Override 062 public void setProgressTaskId(ProgressTaskId taskId) { 063 parent.setProgressTaskId(taskId); 064 } 065 066 @Override 067 public ProgressTaskId getProgressTaskId() { 068 return parent.getProgressTaskId(); 069 } 070 071 @Override 072 public Component getWindowParent() { 073 return parent.getWindowParent(); 074 } 075}