001 // License: GPL. For details, see LICENSE file. 002 package org.openstreetmap.josm.gui.progress; 003 004 import java.util.concurrent.LinkedBlockingQueue; 005 import java.util.concurrent.ThreadPoolExecutor; 006 import java.util.concurrent.TimeUnit; 007 008 import org.openstreetmap.josm.Main; 009 010 public class ProgressMonitorExecutor extends ThreadPoolExecutor { 011 012 public ProgressMonitorExecutor() { 013 super(1, 1, 0L, TimeUnit.MILLISECONDS, 014 new LinkedBlockingQueue<Runnable>()); 015 } 016 017 @Override 018 public void execute(Runnable command) { 019 if (Main.currentProgressMonitor != null) { 020 //TODO show only if this can't be in background or better if always in background is not checked 021 Main.currentProgressMonitor.showForegroundDialog(); 022 } 023 super.execute(command); 024 } 025 026 }