1 11 package org.eclipse.debug.internal.core; 12 13 import org.eclipse.debug.core.DebugPlugin; 14 import org.eclipse.debug.core.ILaunch; 15 import org.eclipse.debug.core.ILaunchListener; 16 import org.eclipse.debug.core.commands.IStepFiltersHandler; 17 import org.eclipse.debug.internal.core.commands.DebugCommandRequest; 18 19 25 public class StepFilterManager implements ILaunchListener { 26 27 public static final String PREF_USE_STEP_FILTERS = DebugPlugin.getUniqueIdentifier() + ".USE_STEP_FILTERS"; 29 33 protected StepFilterManager() { 34 DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this); 35 } 36 37 40 public void shutdown() { 41 DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this); 42 } 43 44 47 public void launchAdded(ILaunch launch) { 48 launchChanged(launch); 49 } 50 53 public void launchChanged(ILaunch launch) { 54 IStepFiltersHandler command = (IStepFiltersHandler)launch.getAdapter(IStepFiltersHandler.class); 55 if (command != null) { 56 command.execute(new DebugCommandRequest(new Object []{launch})); 57 } 58 } 59 60 65 public boolean isUseStepFilters() { 66 return DebugPlugin.getDefault().getPluginPreferences().getBoolean(PREF_USE_STEP_FILTERS); 67 } 68 69 74 public void setUseStepFilters(boolean useFilters) { 75 DebugPlugin.getDefault().getPluginPreferences().setValue(PREF_USE_STEP_FILTERS, useFilters); 76 ILaunch[] launchs = DebugPlugin.getDefault().getLaunchManager().getLaunches(); 77 for (int i = 0; i < launchs.length; i++) { 78 ILaunch launch = launchs[i]; 79 launchChanged(launch); 80 } 81 } 82 83 86 public void launchRemoved(ILaunch launch) {} 87 } 88 | Popular Tags |