| 13 |
|
|
| 14 |
import java.util.Set; |
import java.util.Set; |
| 15 |
|
|
| 16 |
|
import org.eclipse.core.commands.ExecutionEvent; |
| 17 |
|
import org.eclipse.core.commands.ExecutionException; |
| 18 |
import org.eclipse.core.resources.IResource; |
import org.eclipse.core.resources.IResource; |
| 19 |
import org.eclipse.core.runtime.CoreException; |
import org.eclipse.core.runtime.CoreException; |
| 20 |
import org.eclipse.core.runtime.IAdaptable; |
import org.eclipse.core.runtime.IAdaptable; |
| 33 |
import org.eclipse.debug.core.model.IDebugTarget; |
import org.eclipse.debug.core.model.IDebugTarget; |
| 34 |
import org.eclipse.debug.core.model.IProcess; |
import org.eclipse.debug.core.model.IProcess; |
| 35 |
import org.eclipse.debug.core.model.ISourceLocator; |
import org.eclipse.debug.core.model.ISourceLocator; |
| 36 |
|
import org.eclipse.debug.internal.core.IConfigurationElementConstants; |
| 37 |
import org.eclipse.debug.internal.ui.DebugPluginImages; |
import org.eclipse.debug.internal.ui.DebugPluginImages; |
| 38 |
import org.eclipse.debug.internal.ui.DebugUIPlugin; |
import org.eclipse.debug.internal.ui.DebugUIPlugin; |
| 39 |
import org.eclipse.debug.internal.ui.DefaultLabelProvider; |
import org.eclipse.debug.internal.ui.DefaultLabelProvider; |
| 65 |
import org.eclipse.ui.IWorkbenchPage; |
import org.eclipse.ui.IWorkbenchPage; |
| 66 |
import org.eclipse.ui.IWorkbenchWindow; |
import org.eclipse.ui.IWorkbenchWindow; |
| 67 |
import org.eclipse.ui.console.IConsole; |
import org.eclipse.ui.console.IConsole; |
| 68 |
|
import org.eclipse.ui.handlers.HandlerUtil; |
| 69 |
|
|
| 70 |
/** |
/** |
| 71 |
* This class provides utilities for clients of the debug UI. |
* This class provides utilities for clients of the debug UI. |
| 852 |
public static IDebugContextManager getDebugContextManager() { |
public static IDebugContextManager getDebugContextManager() { |
| 853 |
return DebugContextManager.getDefault(); |
return DebugContextManager.getDefault(); |
| 854 |
} |
} |
| 855 |
|
|
| 856 |
|
/** |
| 857 |
|
* Return the debug context for the given executionEvent. |
| 858 |
|
* |
| 859 |
|
* @param event The execution event that contains the application context |
| 860 |
|
* @return the current debug context, or <code>null</code>. |
| 861 |
|
* |
| 862 |
|
* @since 3.5 |
| 863 |
|
*/ |
| 864 |
|
public static ISelection getDebugContextForEvent(ExecutionEvent event) { |
| 865 |
|
Object o = HandlerUtil.getVariable(event, IConfigurationElementConstants.DEBUG_CONTEXT); |
| 866 |
|
if (o instanceof ISelection) { |
| 867 |
|
return (ISelection) o; |
| 868 |
|
} |
| 869 |
|
return null; |
| 870 |
|
} |
| 871 |
|
|
| 872 |
|
/** |
| 873 |
|
* Return the debug context for the given executionEvent. |
| 874 |
|
* |
| 875 |
|
* @param event The execution event that contains the application context |
| 876 |
|
* @return the debug context. Will not return <code>null</code>. |
| 877 |
|
* @throws ExecutionException If the current selection variable is not found. |
| 878 |
|
* |
| 879 |
|
* @since 3.5 |
| 880 |
|
*/ |
| 881 |
|
public static ISelection getDebugContextForEventChecked(ExecutionEvent event) |
| 882 |
|
throws ExecutionException { |
| 883 |
|
Object o = HandlerUtil.getVariableChecked(event, IConfigurationElementConstants.DEBUG_CONTEXT); |
| 884 |
|
if (!(o instanceof ISelection)) { |
| 885 |
|
throw new ExecutionException("Incorrect type for " //$NON-NLS-1$ |
| 886 |
|
+ IConfigurationElementConstants.DEBUG_CONTEXT |
| 887 |
|
+ " found while executing " //$NON-NLS-1$ |
| 888 |
|
+ event.getCommand().getId() |
| 889 |
|
+ ", expected " + ISelection.class.getName() //$NON-NLS-1$ |
| 890 |
|
+ " found " + o.getClass().getName()); //$NON-NLS-1$ |
| 891 |
|
} |
| 892 |
|
return (ISelection) o; |
| 893 |
|
} |
| 894 |
|
|
| 895 |
} |
} |