package rtt.ui.launching; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.eclipse.debug.core.ILaunch; import org.eclipse.debug.core.ILaunchesListener2; import rtt.ui.RttPluginUI; public class RTTLaunchesListener implements ILaunchesListener2 { private List<ILaunch> launches = null; public RTTLaunchesListener() { this.launches = new ArrayList<ILaunch>(); } @Override public void launchesRemoved(ILaunch[] launches) { System.out.println("Launches removed: " + Arrays.toString(launches)); for (ILaunch launch : launches) { if (this.launches.contains(launch)) { this.launches.remove(launch); } } } @Override public void launchesAdded(ILaunch[] launches) { System.out.println("Launches added: " + Arrays.toString(launches)); for (ILaunch launch : launches) { if (!this.launches.contains(launch)) { this.launches.add(launch); } } } @Override public void launchesChanged(ILaunch[] launches) { // TODO Auto-generated method stub } @Override public void launchesTerminated(ILaunch[] launches) { System.out.println("Launches terminated: " + Arrays.toString(launches)); for (ILaunch terminatedLaunch : launches) { if (this.launches.contains(terminatedLaunch)) { System.out.println("Found launch."); RttPluginUI.getProjectDirectory().needToReload(); } } } }