Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java895
1 files changed, 0 insertions, 895 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
deleted file mode 100644
index e7cac3bb7..000000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
+++ /dev/null
@@ -1,895 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-
-import java.util.Set;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchDelegate;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.debug.internal.core.IConfigurationElementConstants;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.DefaultLabelProvider;
-import org.eclipse.debug.internal.ui.DelegatingModelPresentation;
-import org.eclipse.debug.internal.ui.LazyModelPresentation;
-import org.eclipse.debug.internal.ui.contexts.DebugContextManager;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationDialog;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchGroupExtension;
-import org.eclipse.debug.internal.ui.memory.MemoryRenderingManager;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupFacility;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupUIUtils;
-import org.eclipse.debug.internal.ui.stringsubstitution.SelectedResourceManager;
-import org.eclipse.debug.ui.contexts.IDebugContextManager;
-import org.eclipse.debug.ui.memory.IMemoryRenderingManager;
-import org.eclipse.debug.ui.sourcelookup.ISourceContainerBrowser;
-import org.eclipse.debug.ui.sourcelookup.ISourceLookupResult;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * This class provides utilities for clients of the debug UI.
- * <p>
- * Images retrieved from this facility should not be disposed.
- * The images will be disposed when this plug-in is shutdown.
- * </p>
- * @noinstantiate This class is not intended to be instantiated by clients.
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class DebugUITools {
-
- /**
- * Returns the shared image managed under the given key, or <code>null</code>
- * if none.
- * <p>
- * Note that clients <b>MUST NOT</b> dispose the image returned by this method.
- * </p>
- * <p>
- * See <code>IDebugUIConstants</code> for available images.
- * </p>
- *
- * @param key the image key
- * @return the image, or <code>null</code> if none
- * @see IDebugUIConstants
- */
- public static Image getImage(String key) {
- return DebugPluginImages.getImage(key);
- }
-
- /**
- * Returns the shared image descriptor managed under the given key, or
- * <code>null</code> if none.
- * <p>
- * See <code>IDebugUIConstants</code> for available image descriptors.
- * </p>
- *
- * @param key the image descriptor key
- * @return the image descriptor, or <code>null</code> if none
- * @see IDebugUIConstants
- */
- public static ImageDescriptor getImageDescriptor(String key) {
- return DebugPluginImages.getImageDescriptor(key);
- }
-
- /**
- * Returns the default image descriptor for the given element
- * or <code>null</code> if none is defined.
- */
- public static ImageDescriptor getDefaultImageDescriptor(Object element) {
- String imageKey= getDefaultImageKey(element);
- if (imageKey == null) {
- return null;
- }
- return DebugPluginImages.getImageDescriptor(imageKey);
- }
-
- private static String getDefaultImageKey(Object element) {
- return ((DefaultLabelProvider)DebugUIPlugin.getDefaultLabelProvider()).getImageKey(element);
- }
-
- /**
- * Returns the preference store for the debug UI plug-in.
- *
- * @return preference store
- */
- public static IPreferenceStore getPreferenceStore() {
- return DebugUIPlugin.getDefault().getPreferenceStore();
- }
-
- /**
- * Returns a new debug model presentation that delegates to
- * appropriate debug models.
- * <p>
- * It is the client's responsibility dispose the presentation.
- * </p>
- *
- * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
- * @return a debug model presentation
- * @since 2.0
- */
- public static IDebugModelPresentation newDebugModelPresentation() {
- return new DelegatingModelPresentation();
- }
-
- /**
- * Returns a new debug model presentation for specified
- * debug model, or <code>null</code> if a presentation does
- * not exist.
- * <p>
- * It is the client's responsibility dispose the presentation.
- * </p>
- *
- * @param identifier debug model identifier
- * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
- * @return a debug model presentation, or <code>null</code>
- * @since 2.0
- */
- public static IDebugModelPresentation newDebugModelPresentation(String identifier) {
- IExtensionPoint point= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.ID_DEBUG_MODEL_PRESENTATION);
- if (point != null) {
- IExtension[] extensions= point.getExtensions();
- for (int i= 0; i < extensions.length; i++) {
- IExtension extension= extensions[i];
- IConfigurationElement[] configElements= extension.getConfigurationElements();
- for (int j= 0; j < configElements.length; j++) {
- IConfigurationElement elt= configElements[j];
- String id= elt.getAttribute("id"); //$NON-NLS-1$
- if (id != null && id.equals(identifier)) {
- return new LazyModelPresentation(elt);
- }
- }
- }
- }
- return null;
- }
-
- /**
- * Returns the currently selected element in the
- * debug view of the current workbench page,
- * or <code>null</code> if there is no current
- * debug context.
- * <p>
- * This method used to return <code>null</code> when called from a non-UI thread,
- * but since 3.1, this methods also works when called from a non-UI thread.
- * </p>
- * @return the currently selected debug context, or <code>null</code>
- * @since 2.0
- */
- public static IAdaptable getDebugContext() {
- IWorkbenchWindow activeWindow = SelectedResourceManager.getDefault().getActiveWindow();
- if (activeWindow != null) {
- ISelection activeContext = DebugUITools.getDebugContextManager().getContextService(activeWindow).getActiveContext();
- if (activeContext instanceof IStructuredSelection) {
- IStructuredSelection selection = (IStructuredSelection) activeContext;
- if (!selection.isEmpty()) {
- Object firstElement = selection.getFirstElement();
- if (firstElement instanceof IAdaptable) {
- return (IAdaptable) firstElement;
- }
- }
- }
- }
- return null;
- }
-
- /**
- * Returns the currently selected resource in the active workbench window,
- * or <code>null</code> if none. If an editor is active, the resource adapter
- * associated with the editor is returned, if any.
- *
- * @return selected resource or <code>null</code>
- * @since 3.0
- */
- public static IResource getSelectedResource() {
- return SelectedResourceManager.getDefault().getSelectedResource();
- }
-
- /**
- * Returns the process associated with the current debug context.
- * If there is no debug context currently, the most recently
- * launched process is returned. If there is no current process
- * <code>null</code> is returned.
- *
- * @return the current process, or <code>null</code>
- * @since 2.0
- */
- public static IProcess getCurrentProcess() {
- IAdaptable context = getDebugContext();
- if (context == null) {
- ILaunch[] launches = DebugPlugin.getDefault().getLaunchManager().getLaunches();
- if (launches.length > 0) {
- context = launches[launches.length - 1];
- }
- }
-
- if (context instanceof IDebugElement) {
- return ((IDebugElement)context).getDebugTarget().getProcess();
- }
-
- if (context instanceof IProcess) {
- return (IProcess)context;
- }
-
- if (context instanceof ILaunch) {
- ILaunch launch= (ILaunch)context;
- IDebugTarget target= launch.getDebugTarget();
- if (target != null) {
- IProcess process = target.getProcess();
- if (process != null) {
- return process;
- }
- }
- IProcess[] ps = launch.getProcesses();
- if (ps.length > 0) {
- return ps[ps.length - 1];
- }
- }
-
- if (context != null) {
- return (IProcess) context.getAdapter(IProcess.class);
- }
-
- return null;
- }
-
- /**
- * Open the launch configuration dialog with the specified initial selection.
- * The selection may be <code>null</code>, or contain any mix of
- * <code>ILaunchConfiguration</code> or <code>ILaunchConfigurationType</code>
- * elements.
- * <p>
- * Before opening a new dialog, this method checks if there is an existing open
- * launch configuration dialog. If there is, this dialog is used with the
- * specified selection. If there is no existing dialog, a new one is created.
- * </p>
- * <p>
- * Note that if an existing dialog is reused, the <code>mode</code> argument is ignored
- * and the existing dialog keeps its original mode.
- * </p>
- *
- * @param shell the parent shell for the launch configuration dialog
- * @param selection the initial selection for the dialog
- * @param mode the mode (run or debug) in which to open the launch configuration dialog.
- * This should be one of the constants defined in <code>ILaunchManager</code>.
- * @return the return code from opening the launch configuration dialog -
- * one of <code>Window.OK</code> or <code>Window.CANCEL</code>. <code>Window.CANCEL</code>
- * is returned if an invalid launch group identifier is provided.
- * @see ILaunchGroup
- * @since 2.0
- * @deprecated use openLaunchConfigurationDialogOnGroup(Shell, IStructuredSelection, String)
- * to specify the launch group that the dialog should be opened on. This method will open
- * on the launch group with the specified mode and a <code>null</code> category
- */
- public static int openLaunchConfigurationDialog(Shell shell, IStructuredSelection selection, String mode) {
- ILaunchGroup[] groups = getLaunchGroups();
- for (int i = 0; i < groups.length; i++) {
- ILaunchGroup group = groups[i];
- if (group.getMode().equals(mode) && group.getCategory() == null) {
- return openLaunchConfigurationDialogOnGroup(shell, selection, group.getIdentifier());
- }
- }
- return Window.CANCEL;
- }
-
- /**
- * Open the launch configuration dialog with the specified initial selection.
- * The selection may be <code>null</code>, or contain any mix of
- * <code>ILaunchConfiguration</code> or <code>ILaunchConfigurationType</code>
- * elements.
- * <p>
- * Before opening a new dialog, this method checks if there is an existing open
- * launch configuration dialog. If there is, this dialog is used with the
- * specified selection. If there is no existing dialog, a new one is created.
- * </p>
- * <p>
- * Note that if an existing dialog is reused, the <code>mode</code> argument is ignored
- * and the existing dialog keeps its original mode.
- * </p>
- *
- * @param shell the parent shell for the launch configuration dialog
- * @param selection the initial selection for the dialog
- * @param groupIdentifier the identifier of the launch group to display (corresponds to
- * the identifier of a launch group extension)
- * @return The return code from opening the launch configuration dialog -
- * one of <code>Window.OK</code> or <code>Window.CANCEL</code>. <code>Window.CANCEL</code>
- * is returned if an invalid launch group identifier is provided.
- * @see ILaunchGroup
- * @since 2.1
- */
- public static int openLaunchConfigurationDialogOnGroup(Shell shell, IStructuredSelection selection, String groupIdentifier) {
- return openLaunchConfigurationDialogOnGroup(shell, selection, groupIdentifier, null);
- }
-
- /**
- * Open the launch configuration dialog with the specified initial selection.
- * The selection may be <code>null</code>, or contain any mix of
- * <code>ILaunchConfiguration</code> or <code>ILaunchConfigurationType</code>
- * elements.
- * <p>
- * Before opening a new dialog, this method checks if there is an existing open
- * launch configuration dialog. If there is, this dialog is used with the
- * specified selection. If there is no existing dialog, a new one is created.
- * </p>
- * <p>
- * Note that if an existing dialog is reused, the <code>mode</code> argument is ignored
- * and the existing dialog keeps its original mode.
- * </p>
- * <p>
- * If a status is specified, a status handler is consulted to handle the
- * status. The status handler is passed the instance of the launch
- * configuration dialog that is opened. This gives the status handler an
- * opportunity to perform error handling/initialization as required.
- * </p>
- * @param shell the parent shell for the launch configuration dialog
- * @param selection the initial selection for the dialog
- * @param groupIdentifier the identifier of the launch group to display (corresponds to
- * the identifier of a launch group extension)
- * @param status the status to display in the dialog, or <code>null</code>
- * if none
- * @return the return code from opening the launch configuration dialog -
- * one of <code>Window.OK</code> or <code>Window.CANCEL</code>. <code>Window.CANCEL</code>
- * is returned if an invalid launch group identifier is provided.
- * @see org.eclipse.debug.core.IStatusHandler
- * @see ILaunchGroup
- * @since 2.1
- */
- public static int openLaunchConfigurationDialogOnGroup(final Shell shell, final IStructuredSelection selection, final String groupIdentifier, final IStatus status) {
- final int[] result = new int[1];
- Runnable r = new Runnable() {
- /**
- * @see java.lang.Runnable#run()
- */
- public void run() {
- LaunchConfigurationsDialog dialog = (LaunchConfigurationsDialog) LaunchConfigurationsDialog.getCurrentlyVisibleLaunchConfigurationDialog();
- if (dialog != null) {
- dialog.setInitialSelection(selection);
- dialog.doInitialTreeSelection();
- if (status != null) {
- dialog.handleStatus(status);
- }
- result[0] = Window.OK;
- } else {
- LaunchGroupExtension ext = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(groupIdentifier);
- if(ext != null) {
- dialog = new LaunchConfigurationsDialog(shell, ext);
- dialog.setOpenMode(LaunchConfigurationsDialog.LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_SELECTION);
- dialog.setInitialSelection(selection);
- dialog.setInitialStatus(status);
- result[0] = dialog.open();
- }
- else {
- result[0] = Window.CANCEL;
- }
- }
- }
- };
- BusyIndicator.showWhile(DebugUIPlugin.getStandardDisplay(), r);
- return result[0];
- }
-
- /**
- * Open the launch configuration properties dialog on the specified launch
- * configuration.
- *
- * @param shell the parent shell for the launch configuration dialog
- * @param configuration the configuration to display
- * @param groupIdentifier group identifier of the launch group the launch configuration
- * belongs to
- * @return the return code from opening the launch configuration dialog -
- * one of <code>Window.OK</code> or <code>Window.CANCEL</code>. <code>Window.CANCEL</code>
- * is returned if an invalid launch group identifier is provided.
- * @see ILaunchGroup
- * @since 2.1
- */
- public static int openLaunchConfigurationPropertiesDialog(Shell shell, ILaunchConfiguration configuration, String groupIdentifier) {
- return openLaunchConfigurationPropertiesDialog(shell, configuration, groupIdentifier, null);
- }
-
- /**
- * Open the launch configuration properties dialog on the specified launch
- * configuration.
- *
- * @param shell the parent shell for the launch configuration dialog
- * @param configuration the configuration to display
- * @param groupIdentifier group identifier of the launch group the launch configuration
- * belongs to
- * @param status the status to display, or <code>null</code> if none
- * @return the return code from opening the launch configuration dialog -
- * one of <code>Window.OK</code> or <code>Window.CANCEL</code>. <code>Window.CANCEL</code>
- * is returned if an invalid launch group identifier is provided.
- * @see ILaunchGroup
- * @since 3.0
- */
- public static int openLaunchConfigurationPropertiesDialog(Shell shell, ILaunchConfiguration configuration, String groupIdentifier, IStatus status) {
- LaunchGroupExtension group = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(groupIdentifier);
- if (group != null) {
- LaunchConfigurationPropertiesDialog dialog = new LaunchConfigurationPropertiesDialog(shell, configuration, group);
- dialog.setInitialStatus(status);
- return dialog.open();
- }
-
- return Window.CANCEL;
- }
-
- /**
- * Open the launch configuration dialog on the specified launch
- * configuration. The dialog displays the tabs for a single configuration
- * only (a tree of launch configuration is not displayed), and provides a
- * launch (run or debug) button.
- * <p>
- * If a status is specified, a status handler is consulted to handle the
- * status. The status handler is passed the instance of the launch
- * configuration dialog that is opened. This gives the status handler an
- * opportunity to perform error handling/initialization as required.
- * </p>
- * @param shell the parent shell for the launch configuration dialog
- * @param configuration the configuration to display
- * @param groupIdentifier group identifier of the launch group the launch configuration
- * belongs to
- * @param status the status to display, or <code>null</code> if none
- * @return the return code from opening the launch configuration dialog -
- * one of <code>Window.OK</code> or <code>Window.CANCEL</code>. <code>Window.CANCEL</code>
- * is returned if an invalid launch group identifier is provided.
- * @see ILaunchGroup
- * @since 2.1
- */
- public static int openLaunchConfigurationDialog(Shell shell, ILaunchConfiguration configuration, String groupIdentifier, IStatus status) {
- LaunchGroupExtension group = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(groupIdentifier);
- if (group != null) {
- LaunchConfigurationDialog dialog = new LaunchConfigurationDialog(shell, configuration, group);
- dialog.setInitialStatus(status);
- return dialog.open();
- }
-
- return Window.CANCEL;
- }
-
- /**
- * Saves all dirty editors and builds the workspace according to current
- * preference settings, and returns whether a launch should proceed.
- * <p>
- * The following preferences effect whether dirty editors are saved,
- * and/or if the user is prompted to save dirty editors:<ul>
- * <li>PREF_NEVER_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH</li>
- * <li>PREF_PROMPT_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH</li>
- * <li>PREF_AUTOSAVE_DIRTY_EDITORS_BEFORE_LAUNCH</li>
- * </ul>
- * The following preference effects whether a build is performed before
- * launching (if required):<ul>
- * <li>PREF_BUILD_BEFORE_LAUNCH</li>
- * </ul>
- * </p>
- *
- * @return whether a launch should proceed
- * @since 2.0
- * @deprecated Saving has been moved to the launch delegate <code>LaunchConfigurationDelegate</code> to allow for scoped saving
- * of resources that are only involved in the current launch, no longer the entire workspace
- */
- public static boolean saveAndBuildBeforeLaunch() {
- return DebugUIPlugin.saveAndBuild();
- }
-
- /**
- * Saves all dirty editors according to current
- * preference settings, and returns whether a launch should proceed.
- * <p>
- * The following preferences effect whether dirty editors are saved,
- * and/or if the user is prompted to save dirty editors:<ul>
- * <li>PREF_NEVER_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH</li>
- * <li>PREF_PROMPT_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH</li>
- * <li>PREF_AUTOSAVE_DIRTY_EDITORS_BEFORE_LAUNCH</li>
- * </ul>
- * </p>
- *
- * @return whether a launch should proceed
- * @since 2.1
- * @deprecated Saving has been moved to the launch delegate <code>LaunchConfigurationDelegate</code> to allow for scoped saving
- * of resources that are only involved in the current launch, no longer the entire workspace
- */
- public static boolean saveBeforeLaunch() {
- return DebugUIPlugin.preLaunchSave();
- }
-
- /**
- * Saves and builds the workspace according to current preference settings, and
- * launches the given launch configuration in the specified mode.
- * <p>
- * This method must be called in the UI thread.
- * </p>
- * @param configuration the configuration to launch
- * @param mode launch mode - run or debug
- * @since 2.1
- */
- public static void launch(final ILaunchConfiguration configuration, final String mode) {
- boolean launchInBackground= true;
- try {
- launchInBackground= configuration.getAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, true);
- } catch (CoreException e) {
- DebugUIPlugin.log(e);
- }
- if (launchInBackground) {
- DebugUIPlugin.launchInBackground(configuration, mode);
- } else {
- DebugUIPlugin.launchInForeground(configuration, mode);
- }
- }
-
-
-
- /**
- * Builds the workspace according to current preference settings, and launches
- * the given configuration in the specified mode, returning the resulting launch
- * object.
- * <p>
- * The following preference effects whether a build is performed before
- * launching (if required):<ul>
- * <li>PREF_BUILD_BEFORE_LAUNCH</li>
- * </ul>
- * </p>
- *
- * @param configuration the configuration to launch
- * @param mode the mode to launch in
- * @param monitor progress monitor
- * @return the resulting launch object
- * @throws CoreException if building or launching fails
- * @since 2.1
- */
- public static ILaunch buildAndLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
- return DebugUIPlugin.buildAndLaunch(configuration, mode, monitor);
- }
-
- /**
- * Returns the perspective to switch to when a configuration of the given type
- * is launched in the given mode, or <code>null</code> if no switch should take
- * place.
- *
- * In 3.3 this method is equivalent to calling <code>getLaunchPerspective(ILaunchConfigurationType type, Set modes, ILaunchDelegate delegate)</code>,
- * with the 'mode' parameter comprising a single element set and passing <code>null</code> as the launch delegate.
- *
- * @param type launch configuration type
- * @param mode launch mode identifier
- * @return perspective identifier or <code>null</code>
- * @since 3.0
- */
- public static String getLaunchPerspective(ILaunchConfigurationType type, String mode) {
- return DebugUIPlugin.getDefault().getPerspectiveManager().getLaunchPerspective(type, mode);
- }
-
- /**
- * Returns the perspective id to switch to when a configuration of the given type launched with the specified delegate
- * is launched in the given mode set, or <code>null</code> if no switch should occurr.
- * @param type the configuration type
- * @param delegate the launch delegate
- * @param modes the set of modes
- * @return the perspective id or <code>null</code> if no switch should occur
- *
- * @since 3.3
- */
- public static String getLaunchPerspective(ILaunchConfigurationType type, ILaunchDelegate delegate, Set modes) {
- return DebugUIPlugin.getDefault().getPerspectiveManager().getLaunchPerspective(type, modes, delegate);
- }
-
- /**
- * Sets the perspective to switch to when a configuration of the given type
- * is launched in the given mode. <code>PERSPECTIVE_NONE</code> indicates no
- * perspective switch should take place. <code>PERSPECTIVE_DEFAULT</code> indicates
- * a default perspective switch should take place, as defined by the associated
- * launch tab group extension.
- *
- * In 3.3 this method is equivalent to calling <code>setLaunchPerspective(ILaunchConfigurationType type, Set modes, ILaunchDelegate delegate, String perspectiveid)</code>,
- * with the parameter 'mode' used in the set modes, and null passed as the delegate
- *
- * @param type launch configuration type
- * @param mode launch mode identifier
- * @param perspective identifier, <code>PERSPECTIVE_NONE</code>, or
- * <code>PERSPECTIVE_DEFAULT</code>
- * @since 3.0
- */
- public static void setLaunchPerspective(ILaunchConfigurationType type, String mode, String perspective) {
- DebugUIPlugin.getDefault().getPerspectiveManager().setLaunchPerspective(type, mode, perspective);
- }
-
- /**
- * Sets the perspective to switch to when a configuration of the specified type and launched using the
- * specified launch delegate is launched in the specified modeset. <code>PERSPECTIVE_NONE</code> indicates no
- * perspective switch should take place.
- *
- * Passing <code>null</code> for the launch delegate is quivalent to using the default perspective for the specified
- * type.
- * @param type the configuration type
- * @param delegate the launch delegate
- * @param modes the set of modes
- * @param perspectiveid identifier or <code>PERSPECTIVE_NONE</code>
- *
- * @since 3.3
- */
- public static void setLaunchPerspective(ILaunchConfigurationType type, ILaunchDelegate delegate, Set modes, String perspectiveid) {
- DebugUIPlugin.getDefault().getPerspectiveManager().setLaunchPerspective(type, modes, delegate, perspectiveid);
- }
-
- /**
- * Returns whether the given launch configuration is private. Generally,
- * private launch configurations should not be displayed to the user. The
- * private status of a launch configuration is determined by the
- * <code>IDebugUIConstants.ATTR_PRIVATE</code> attribute.
- *
- * @param configuration launch configuration
- * @return whether the given launch configuration is private
- * @since 3.0
- */
- public static boolean isPrivate(ILaunchConfiguration configuration) {
- return !LaunchConfigurationManager.isVisible(configuration);
- }
-
- /**
- * Sets whether step filters should be applied to step commands. This
- * setting is a global option applied to all registered debug targets.
- * <p>
- * Since 3.3, this is equivalent to calling <code>DebugPlugin.setUseStepFilters(boolean)</code>.
- * </p>
- * @param useStepFilters whether step filters should be applied to step
- * commands
- * @since 3.0
- * @see org.eclipse.debug.core.model.IStepFilters
- */
- public static void setUseStepFilters(boolean useStepFilters) {
- DebugPlugin.setUseStepFilters(useStepFilters);
- }
-
- /**
- * Returns whether step filters are applied to step commands.
- * <p>
- * Since 3.3, this is equivalent to calling <code>DebugPlugin.isUseStepFilters()</code>.
- * </p>
- * @return whether step filters are applied to step commands
- * @since 3.0
- * @see org.eclipse.debug.core.model.IStepFilters
- */
- public static boolean isUseStepFilters() {
- return DebugPlugin.isUseStepFilters();
- }
-
- /**
- * Returns the console associated with the given process, or
- * <code>null</code> if none.
- *
- * @param process a process
- * @return console associated with the given process, or
- * <code>null</code> if none
- * @since 3.0
- */
- public static IConsole getConsole(IProcess process) {
- return DebugUIPlugin.getDefault().getProcessConsoleManager().getConsole(process);
- }
-
- /**
- * Returns the console associated with the given debug element, or
- * <code>null</code> if none.
- *
- * @param element a debug model element
- * @return console associated with the given element, or
- * <code>null</code> if none
- * @since 3.0
- */
- public static IConsole getConsole(IDebugElement element) {
- IProcess process = element.getDebugTarget().getProcess();
- if (process != null) {
- return getConsole(process);
- }
- return null;
- }
-
- /**
- * Returns all registered launch group extensions.
- *
- * @return all registered launch group extensions
- * @since 3.0
- */
- public static ILaunchGroup[] getLaunchGroups() {
- return DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroups();
- }
-
- /**
- * Returns the last configuration that was launched for specified launch group or
- * <code>null</code>, if there is not one. This method does not provide any form of
- * filtering on the returned launch configurations.
- *
- * @param groupId the unique identifier of a launch group
- * @return the last launched configuration for the specified group or <code>null</code>.
- * @see DebugUITools#getLaunchGroups()
- * @since 3.3
- */
- public static ILaunchConfiguration getLastLaunch(String groupId) {
- return DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLastLaunch(groupId);
- }
-
- /**
- * Returns the launch group that the given launch configuration belongs
- * to, for the specified mode, or <code>null</code> if none.
- *
- * @param configuration
- * @param mode
- * @return the launch group the given launch configuration belongs to, for
- * the specified mode, or <code>null</code> if none
- * @since 3.0
- */
- public static ILaunchGroup getLaunchGroup(ILaunchConfiguration configuration, String mode) {
- try {
- return DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(configuration.getType(), mode);
- }
- catch(CoreException ce) {
- return null;
- }
- }
-
- /**
- * Performs source lookup on the given artifact and returns the result.
- * Optionally, a source locator may be specified.
- *
- * @param artifact object for which source is to be resolved
- * @param locator the source locator to use, or <code>null</code>. When <code>null</code>
- * a source locator is determined from the artifact, if possible. If the artifact
- * is a debug element, the source locator from its associated launch is used.
- * @return a source lookup result
- * @since 3.1
- */
- public static ISourceLookupResult lookupSource(Object artifact, ISourceLocator locator) {
- return SourceLookupFacility.getDefault().lookup(artifact, locator);
- }
-
- /**
- * Displays the given source lookup result in an editor in the given workbench
- * page. Has no effect if the result has an unknown editor id or editor input.
- * The editor is opened, positioned, and annotated.
- * <p>
- * Honors user preference for editors re-use.
- * </p>
- * @param result source lookup result to display
- * @param page the page to display the result in
- * @since 3.1
- */
- public static void displaySource(ISourceLookupResult result, IWorkbenchPage page) {
- SourceLookupFacility.getDefault().display(result, page);
- }
-
- /**
- * Returns the memory rendering manager.
- *
- * @return the memory rendering manager
- * @since 3.1
- */
- public static IMemoryRenderingManager getMemoryRenderingManager() {
- return MemoryRenderingManager.getDefault();
- }
-
- /**
- * Returns the image associated with the specified type of source container
- * or <code>null</code> if none.
- *
- * @param id unique identifier for a source container type
- * @return image associated with the specified type of source container
- * or <code>null</code> if none
- * @since 3.2
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainerType
- */
- public static Image getSourceContainerImage(String id){
- return SourceLookupUIUtils.getSourceContainerImage(id);
- }
-
- /**
- * Returns a new source container browser for the specified type of source container
- * or <code>null</code> if a browser has not been registered.
- *
- * @param id unique identifier for a source container type
- * @return source container browser or <code>null</code> if none
- * @since 3.2
- * @see org.eclipse.debug.ui.sourcelookup.ISourceContainerBrowser
- */
- public static ISourceContainerBrowser getSourceContainerBrowser(String id) {
- return SourceLookupUIUtils.getSourceContainerBrowser(id);
- }
-
- /**
- * Returns the color associated with the specified preference identifier or
- * <code>null</code> if none.
- *
- * @param id preference identifier of the color
- * @return the color associated with the specified preference identifier
- * or <code>null</code> if none
- * @since 3.2
- * @see IDebugUIConstants
- */
- public static Color getPreferenceColor(String id) {
- return DebugUIPlugin.getPreferenceColor(id);
- }
-
- /**
- * Returns the debug context manager.
- *
- * @return debug context manager
- * @since 3.3
- */
- public static IDebugContextManager getDebugContextManager() {
- return DebugContextManager.getDefault();
- }
-
- /**
- * Return the debug context for the given executionEvent or <code>null</code> if none.
- *
- * @param event The execution event that contains the application context
- * @return the current debug context, or <code>null</code>.
- *
- * @since 3.5
- */
- public static ISelection getDebugContextForEvent(ExecutionEvent event) {
- Object o = HandlerUtil.getVariable(event, IConfigurationElementConstants.DEBUG_CONTEXT);
- if (o instanceof ISelection) {
- return (ISelection) o;
- }
- return null;
- }
-
- /**
- * Return the debug context for the given executionEvent.
- *
- * @param event The execution event that contains the application context
- * @return the debug context. Will not return <code>null</code>.
- * @throws ExecutionException If the current selection variable is not found.
- *
- * @since 3.5
- */
- public static ISelection getDebugContextForEventChecked(ExecutionEvent event)
- throws ExecutionException {
- Object o = HandlerUtil.getVariableChecked(event, IConfigurationElementConstants.DEBUG_CONTEXT);
- if (!(o instanceof ISelection)) {
- throw new ExecutionException("Incorrect type for " //$NON-NLS-1$
- + IConfigurationElementConstants.DEBUG_CONTEXT
- + " found while executing " //$NON-NLS-1$
- + event.getCommand().getId()
- + ", expected " + ISelection.class.getName() //$NON-NLS-1$
- + " found " + o.getClass().getName()); //$NON-NLS-1$
- }
- return (ISelection) o;
- }
-
-}

Back to the top