org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.112, Thu Jul 10 13:55:38 2008 UTC revision 1.113, Fri Oct 24 05:11:51 2008 UTC
# Line 13  Line 13 
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;
# Line 31  Line 33 
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;
# Line 62  Line 65 
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.
# Line 848  Line 852 
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  }  }

Legend:
Removed from v.1.112  
changed lines
  Added in v.1.113