001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.gui.progress; 003 004import java.awt.Component; 005 006import org.openstreetmap.josm.gui.MainApplication; 007import org.openstreetmap.josm.tools.Logging; 008 009/** 010 * A singleton progress monitor that does nothing. 011 * @since 1811 012 */ 013public final class NullProgressMonitor implements ProgressMonitor { 014 015 /** The unique instance */ 016 public static final ProgressMonitor INSTANCE = new NullProgressMonitor(); 017 018 private NullProgressMonitor() { 019 // Do nothing 020 } 021 022 @Override 023 public void addCancelListener(CancelListener listener) { 024 // Do nothing 025 } 026 027 @Override 028 public void beginTask(String title) { 029 Logging.debug(title); 030 } 031 032 @Override 033 public void beginTask(String title, int ticks) { 034 Logging.debug(title); 035 } 036 037 @Override 038 public void cancel() { 039 // Do nothing 040 } 041 042 @Override 043 public ProgressMonitor createSubTaskMonitor(int ticks, boolean internal) { 044 return INSTANCE; 045 } 046 047 @Override 048 public void finishTask() { 049 // Do nothing 050 } 051 052 @Override 053 public int getTicks() { 054 return 0; 055 } 056 057 @Override 058 public void indeterminateSubTask(String title) { 059 if (title != null) 060 Logging.debug(title); 061 } 062 063 @Override 064 public void invalidate() { 065 // Do nothing 066 } 067 068 @Override 069 public boolean isCanceled() { 070 return false; 071 } 072 073 @Override 074 public void removeCancelListener(CancelListener listener) { 075 // Do nothing 076 } 077 078 @Override 079 public void setCustomText(String text) { 080 // Do nothing 081 } 082 083 @Override 084 public void setExtraText(String text) { 085 // Do nothing 086 } 087 088 @Override 089 public void appendLogMessage(String message) { 090 // Do nothing 091 } 092 093 @Override 094 public void setTicks(int ticks) { 095 // Do nothing 096 } 097 098 @Override 099 public void setTicksCount(int ticks) { 100 // Do nothing 101 } 102 103 @Override 104 public void subTask(String title) { 105 Logging.debug(title); 106 } 107 108 @Override 109 public void worked(int ticks) { 110 // Do nothing 111 } 112 113 @Override 114 public int getTicksCount() { 115 return 0; 116 } 117 118 @Override 119 public void setProgressTaskId(ProgressTaskId taskId) { 120 // Do nothing 121 } 122 123 @Override 124 public ProgressTaskId getProgressTaskId() { 125 return null; 126 } 127 128 @Override 129 public Component getWindowParent() { 130 return MainApplication.getMainFrame(); 131 } 132}