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 }