Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse/debug/ui')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java13
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTabGroup.java22
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java905
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugPopup.java9
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java37
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java95
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java13
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/InspectPopupDialog.java9
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/StringVariableSelectionDialog.java13
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java26
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AddMemoryRenderingActionDelegate.java9
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ContextualLaunchAction.java7
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandAction.java15
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandHandler.java8
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ExportBreakpointsOperation.java17
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ImportBreakpointsOperation.java48
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java11
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAsAction.java4
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java7
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/OpenLaunchDialogAction.java7
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RelaunchLastAction.java7
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerBreakpointTypesActionDelegate.java5
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineHandler.java3
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleBreakpointAction.java7
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/FileLink.java21
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTableRendering.java34
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditor.java3
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditorInput.java4
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupDialog.java4
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java19
30 files changed, 623 insertions, 759 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
index fe10bfdd5..bd8ffbe65 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
@@ -435,10 +435,9 @@ public abstract class AbstractDebugView extends PageBookView implements IDebugVi
protected void saveAllCheckedActionStates() {
IToolBarManager tbm= getViewSite().getActionBars().getToolBarManager();
IContributionItem[] items= tbm.getItems();
- for (int i = 0; i < items.length; i++) {
- IContributionItem iContributionItem = items[i];
- if (iContributionItem instanceof ActionContributionItem) {
- ActionContributionItem item= (ActionContributionItem)iContributionItem;
+ for (IContributionItem contitem : items) {
+ if (contitem instanceof ActionContributionItem) {
+ ActionContributionItem item= (ActionContributionItem)contitem;
IAction action= item.getAction();
if (action.getStyle() == IAction.AS_CHECK_BOX && action.isEnabled()) {
saveCheckedActionState(action);
@@ -627,9 +626,9 @@ public abstract class AbstractDebugView extends PageBookView implements IDebugVi
}
IContributionItem[] items = tbm.getItems();
if (items != null) {
- for (int i = 0; i < items.length; i++) {
- if (items[i] instanceof ActionContributionItem) {
- IAction action = ((ActionContributionItem) items[i]).getAction();
+ for (IContributionItem item : items) {
+ if (item instanceof ActionContributionItem) {
+ IAction action = ((ActionContributionItem) item).getAction();
if (!SkipAllBreakpointsAction.ACTION_ID.equals(action.getId())) {
if (action.getStyle() == IAction.AS_CHECK_BOX) {
initActionState(action);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTabGroup.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTabGroup.java
index f66cffd1f..c3472b7b0 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTabGroup.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTabGroup.java
@@ -49,7 +49,7 @@ public abstract class AbstractLaunchConfigurationTabGroup implements ILaunchConf
*
* @param tabs the tabs in this group
*/
- protected void setTabs(ILaunchConfigurationTab[] tabs) {
+ protected void setTabs(ILaunchConfigurationTab... tabs) {
fTabs = tabs;
}
@@ -62,8 +62,8 @@ public abstract class AbstractLaunchConfigurationTabGroup implements ILaunchConf
public void dispose() {
ILaunchConfigurationTab[] tabs = getTabs();
if (tabs != null) {
- for (int i = 0; i < tabs.length; i++) {
- tabs[i].dispose();
+ for (ILaunchConfigurationTab tab : tabs) {
+ tab.dispose();
}
}
}
@@ -76,8 +76,8 @@ public abstract class AbstractLaunchConfigurationTabGroup implements ILaunchConf
@Override
public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
ILaunchConfigurationTab[] tabs = getTabs();
- for (int i = 0; i < tabs.length; i++) {
- tabs[i].setDefaults(configuration);
+ for (ILaunchConfigurationTab tab : tabs) {
+ tab.setDefaults(configuration);
}
}
@@ -89,8 +89,8 @@ public abstract class AbstractLaunchConfigurationTabGroup implements ILaunchConf
@Override
public void initializeFrom(ILaunchConfiguration configuration) {
ILaunchConfigurationTab[] tabs = getTabs();
- for (int i = 0; i < tabs.length; i++) {
- tabs[i].initializeFrom(configuration);
+ for (ILaunchConfigurationTab tab : tabs) {
+ tab.initializeFrom(configuration);
}
}
@@ -102,8 +102,8 @@ public abstract class AbstractLaunchConfigurationTabGroup implements ILaunchConf
@Override
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
ILaunchConfigurationTab[] tabs = getTabs();
- for (int i = 0; i < tabs.length; i++) {
- tabs[i].performApply(configuration);
+ for (ILaunchConfigurationTab tab : tabs) {
+ tab.performApply(configuration);
}
}
@@ -120,8 +120,8 @@ public abstract class AbstractLaunchConfigurationTabGroup implements ILaunchConf
@Override
public void launched(ILaunch launch) {
ILaunchConfigurationTab[] tabs = getTabs();
- for (int i = 0; i < tabs.length; i++) {
- tabs[i].launched(launch);
+ for (ILaunchConfigurationTab tab : tabs) {
+ tab.launched(launch);
}
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
index a90806917..405867a5e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
@@ -15,9 +15,12 @@
*******************************************************************************/
package org.eclipse.debug.ui;
+import static org.eclipse.swt.accessibility.AccessibleListener.getNameAdapter;
+import static org.eclipse.swt.events.SelectionListener.widgetSelectedAdapter;
import java.nio.charset.Charset;
import java.nio.charset.IllegalCharsetNameException;
+import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -51,22 +54,14 @@ import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
@@ -81,13 +76,11 @@ import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.dialogs.ContainerSelectionDialog;
import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
import org.eclipse.ui.ide.IDEEncoding;
import org.eclipse.ui.model.WorkbenchContentProvider;
import org.eclipse.ui.model.WorkbenchLabelProvider;
import org.eclipse.ui.views.navigator.ResourceComparator;
-
-import com.ibm.icu.text.MessageFormat;
+import org.osgi.framework.FrameworkUtil;
/**
* Launch configuration tab used to specify the location a launch configuration
@@ -111,8 +104,10 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
*
* @since 3.6
*/
- private final String SHARED_LAUNCH_CONFIGURATON_DIALOG = IDebugUIConstants.PLUGIN_ID + ".SHARED_LAUNCH_CONFIGURATON_DIALOG"; //$NON-NLS-1$
- private final String WORKSPACE_SELECTION_DIALOG = IDebugUIConstants.PLUGIN_ID + ".WORKSPACE_SELECTION_DIALOG"; //$NON-NLS-1$
+ private static final String SHARED_LAUNCH_CONFIGURATON_DIALOG = IDebugUIConstants.PLUGIN_ID
+ + ".SHARED_LAUNCH_CONFIGURATON_DIALOG"; //$NON-NLS-1$
+ private static final String WORKSPACE_SELECTION_DIALOG = IDebugUIConstants.PLUGIN_ID
+ + ".WORKSPACE_SELECTION_DIALOG"; //$NON-NLS-1$
/**
* This attribute exists solely for the purpose of making sure that invalid shared locations
@@ -129,17 +124,18 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
private Text fSharedLocationText;
private Button fSharedLocationButton;
private Button fLaunchInBackgroundButton;
- private Button fDefaultEncodingButton;
- private Button fAltEncodingButton;
- private Combo fEncodingCombo;
+ private Button fTerminateDescendantsButton;
+ private Button fDefaultEncodingButton;
+ private Button fAltEncodingButton;
+ private Combo fEncodingCombo;
private Button fConsoleOutput;
- private Button fFileOutput;
- private Button fFileBrowse;
- private Text fFileText;
- private Button fVariables;
- private Button fAppend;
+ private Button fFileOutput;
+ private Button fFileBrowse;
+ private Text fFileText;
+ private Button fVariables;
+ private Button fAppend;
private Button fMergeOutput;
- private Button fWorkspaceBrowse;
+ private Button fWorkspaceBrowse;
private Button fInputFileCheckButton;
private Text fInputFileLocationText;
@@ -155,14 +151,9 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
/**
* Modify listener that simply updates the owning launch configuration dialog.
*/
- private ModifyListener fBasicModifyListener = new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent evt) {
- scheduleUpdateJob();
- }
- };
+ private ModifyListener fBasicModifyListener = evt -> scheduleUpdateJob();
- /**
+ /**
* Constructs a new tab with default context help.
*/
public CommonTab() {
@@ -183,6 +174,7 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
createEncodingComponent(comp);
createOutputCaptureComponent(comp);
createLaunchInBackgroundComponent(comp);
+ createTerminateDescendantsButtonComponent(comp);
}
/**
@@ -193,7 +185,8 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
* @since 3.6
*/
IDialogSettings getDialogBoundsSettings(String id) {
- IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
+ IDialogSettings settings = PlatformUI.getDialogSettingsProvider(FrameworkUtil.getBundle(CommonTab.class))
+ .getDialogSettings();
IDialogSettings section = settings.getSection(id);
if (section == null) {
section = settings.addNewSection(id);
@@ -215,12 +208,7 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
table.setFont(parent.getFont());
fFavoritesTable.setContentProvider(new FavoritesContentProvider());
fFavoritesTable.setLabelProvider(new FavoritesLabelProvider());
- fFavoritesTable.addCheckStateListener(new ICheckStateListener() {
- @Override
- public void checkStateChanged(CheckStateChangedEvent event) {
- updateLaunchConfigurationDialog();
- }
- });
+ fFavoritesTable.addCheckStateListener(event -> updateLaunchConfigurationDialog());
}
/**
@@ -236,131 +224,94 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
gd.horizontalSpan = 3;
fLocalRadioButton.setLayoutData(gd);
fSharedRadioButton = createRadioButton(comp, LaunchConfigurationsMessages.CommonTab_S_hared_4);
- fSharedRadioButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent evt) {
- handleSharedRadioButtonSelected();
- }
- });
+ fSharedRadioButton.addSelectionListener(widgetSelectedAdapter(e -> handleSharedRadioButtonSelected()));
+
fSharedLocationText = SWTFactory.createSingleText(comp, 1);
- fSharedLocationText.getAccessible().addAccessibleListener(new AccessibleAdapter() {
- @Override
- public void getName(AccessibleEvent e) {
- e.result = LaunchConfigurationsMessages.CommonTab_S_hared_4;
- }
- });
+ fSharedLocationText.getAccessible().addAccessibleListener(
+ getNameAdapter(e -> e.result = LaunchConfigurationsMessages.CommonTab_S_hared_4));
+
fSharedLocationText.addModifyListener(fBasicModifyListener);
fSharedLocationButton = createPushButton(comp, LaunchConfigurationsMessages.CommonTab__Browse_6, null);
- fSharedLocationButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent evt) {
- handleSharedLocationButtonSelected();
- }
- });
+ fSharedLocationButton.addSelectionListener(widgetSelectedAdapter(e -> handleSharedLocationButtonSelected()));
fLocalRadioButton.setSelection(true);
setSharedEnabled(false);
}
- /**
- * Creates the component set for the capture output composite
- * @param parent the parent to add this component to
- */
+ /**
+ * Creates the component set for the capture output composite
+ * @param parent the parent to add this component to
+ */
private void createOutputCaptureComponent(Composite parent) {
- Group group = SWTFactory.createGroup(parent, LaunchConfigurationsMessages.CommonTab_4, 5, 2, GridData.FILL_HORIZONTAL);
+ Group group = SWTFactory.createGroup(parent, LaunchConfigurationsMessages.CommonTab_4, 5, 2, GridData.FILL_HORIZONTAL);
createInputCaptureComponent(group);
Composite comp = SWTFactory.createComposite(group, group.getFont(), 5, 5, GridData.FILL_BOTH, 0, 0);
fIoComposit = comp;
fFileOutput = createCheckButton(comp, LaunchConfigurationsMessages.CommonTab_6);
- fFileOutput.setLayoutData(new GridData(SWT.BEGINNING, SWT.NORMAL, false, false));
- fFileOutput.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- enableOuputCaptureWidgets(fFileOutput.getSelection());
- updateLaunchConfigurationDialog();
- }
- });
- fFileText = SWTFactory.createSingleText(comp, 4);
- fFileText.getAccessible().addAccessibleListener(new AccessibleAdapter() {
- @Override
- public void getName(AccessibleEvent e) {
- e.result = LaunchConfigurationsMessages.CommonTab_6;
- }
- });
- fFileText.addModifyListener(fBasicModifyListener);
-
- Composite bcomp = SWTFactory.createComposite(comp, 3, 5, GridData.HORIZONTAL_ALIGN_END);
+ fFileOutput.setLayoutData(new GridData(SWT.BEGINNING, SWT.NORMAL, false, false));
+ fFileOutput.addSelectionListener(widgetSelectedAdapter(e -> {
+ enableOuputCaptureWidgets(fFileOutput.getSelection());
+ updateLaunchConfigurationDialog();
+ }));
+ fFileText = SWTFactory.createSingleText(comp, 4);
+ fFileText.getAccessible()
+ .addAccessibleListener(getNameAdapter(e -> e.result = LaunchConfigurationsMessages.CommonTab_6));
+ fFileText.addModifyListener(fBasicModifyListener);
+
+ Composite bcomp = SWTFactory.createComposite(comp, 3, 5, GridData.HORIZONTAL_ALIGN_END);
GridLayout ld = (GridLayout)bcomp.getLayout();
- ld.marginHeight = 1;
- ld.marginWidth = 0;
- fWorkspaceBrowse = createPushButton(bcomp, LaunchConfigurationsMessages.CommonTab_12, null);
- fWorkspaceBrowse.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), new WorkbenchLabelProvider(), new WorkbenchContentProvider());
- dialog.setTitle(LaunchConfigurationsMessages.CommonTab_13);
- dialog.setMessage(LaunchConfigurationsMessages.CommonTab_14);
- dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
- dialog.setComparator(new ResourceComparator(ResourceComparator.NAME));
- dialog.setDialogBoundsSettings(getDialogBoundsSettings(WORKSPACE_SELECTION_DIALOG), Dialog.DIALOG_PERSISTSIZE);
- if (dialog.open() == IDialogConstants.OK_ID) {
- IResource resource = (IResource) dialog.getFirstResult();
- if(resource != null) {
- String arg = resource.getFullPath().toString();
- String fileLoc = VariablesPlugin.getDefault().getStringVariableManager().generateVariableExpression("workspace_loc", arg); //$NON-NLS-1$
- fFileText.setText(fileLoc);
- }
- }
- }
- });
- fFileBrowse = createPushButton(bcomp, LaunchConfigurationsMessages.CommonTab_7, null);
- fFileBrowse.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- String filePath = fFileText.getText();
- FileDialog dialog = new FileDialog(getShell(), SWT.SAVE | SWT.SHEET);
- filePath = dialog.open();
- if (filePath != null) {
- fFileText.setText(filePath);
- }
- }
- });
- fVariables = createPushButton(bcomp, LaunchConfigurationsMessages.CommonTab_9, null);
- fVariables.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- StringVariableSelectionDialog dialog = new StringVariableSelectionDialog(getShell());
- dialog.open();
- String variable = dialog.getVariableExpression();
- if (variable != null) {
- fFileText.insert(variable);
+ ld.marginHeight = 1;
+ ld.marginWidth = 0;
+ fWorkspaceBrowse = createPushButton(bcomp, LaunchConfigurationsMessages.CommonTab_12, null);
+ fWorkspaceBrowse.addSelectionListener(widgetSelectedAdapter(e -> {
+ ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), new WorkbenchLabelProvider(),
+ new WorkbenchContentProvider());
+ dialog.setTitle(LaunchConfigurationsMessages.CommonTab_13);
+ dialog.setMessage(LaunchConfigurationsMessages.CommonTab_14);
+ dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
+ dialog.setComparator(new ResourceComparator(ResourceComparator.NAME));
+ dialog.setDialogBoundsSettings(getDialogBoundsSettings(WORKSPACE_SELECTION_DIALOG),
+ Dialog.DIALOG_PERSISTSIZE);
+ if (dialog.open() == IDialogConstants.OK_ID) {
+ IResource resource = (IResource) dialog.getFirstResult();
+ if (resource != null) {
+ String arg = resource.getFullPath().toString();
+ String fileLoc = VariablesPlugin.getDefault().getStringVariableManager()
+ .generateVariableExpression("workspace_loc", arg); //$NON-NLS-1$
+ fFileText.setText(fileLoc);
}
- }
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {}
- });
- fAppend = createCheckButton(comp, LaunchConfigurationsMessages.CommonTab_11);
+ }
+ }));
+ fFileBrowse = createPushButton(bcomp, LaunchConfigurationsMessages.CommonTab_7, null);
+ fFileBrowse.addSelectionListener(widgetSelectedAdapter(e -> {
+ String filePath = fFileText.getText();
+ FileDialog dialog = new FileDialog(getShell(), SWT.SAVE | SWT.SHEET);
+ filePath = dialog.open();
+ if (filePath != null) {
+ fFileText.setText(filePath);
+ }
+ }));
+ fVariables = createPushButton(bcomp, LaunchConfigurationsMessages.CommonTab_9, null);
+ fVariables.addSelectionListener(widgetSelectedAdapter(e -> {
+ StringVariableSelectionDialog dialog = new StringVariableSelectionDialog(getShell());
+ dialog.open();
+ String variable = dialog.getVariableExpression();
+ if (variable != null) {
+ fFileText.insert(variable);
+ }
+ }));
+ fAppend = createCheckButton(comp, LaunchConfigurationsMessages.CommonTab_11);
GridData gd = new GridData(SWT.LEFT, SWT.TOP, true, false);
gd.horizontalSpan = 5;
- fAppend.setLayoutData(gd);
- fAppend.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- updateLaunchConfigurationDialog();
- }
- });
- }
+ fAppend.setLayoutData(gd);
+ fAppend.addSelectionListener(widgetSelectedAdapter(e -> updateLaunchConfigurationDialog()));
+ }
- private void createInputCaptureComponent(Composite parent){
+ private void createInputCaptureComponent(Composite parent){
Composite comp1 = SWTFactory.createComposite(parent, parent.getFont(), 5, 5, GridData.FILL_BOTH, 0, 0);
fConsoleOutput = createCheckButton(comp1, LaunchConfigurationsMessages.CommonTab_5);
- fConsoleOutput.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- updateLaunchConfigurationDialog();
- }
- });
+ fConsoleOutput.addSelectionListener(widgetSelectedAdapter(e -> updateLaunchConfigurationDialog()));
Composite comp = SWTFactory.createComposite(comp1, comp1.getFont(), 5, 5, GridData.FILL_BOTH, 0, 0);
fInputFileCheckButton = createCheckButton(comp, LaunchConfigurationsMessages.CommonTab_17);
@@ -368,115 +319,97 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
gd.horizontalSpan = 3;
fInputFileCheckButton.setLayoutData(gd);
- fInputFileCheckButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent evt) {
- handleInputFileButtonSelected();
- updateLaunchConfigurationDialog();
- }
- });
+ fInputFileCheckButton.addSelectionListener(widgetSelectedAdapter(e -> {
+ handleInputFileButtonSelected();
+ updateLaunchConfigurationDialog();
+ }));
fInputFileLocationText = SWTFactory.createSingleText(comp, 2);
- fInputFileLocationText.getAccessible().addAccessibleListener(new AccessibleAdapter() {
- @Override
- public void getName(AccessibleEvent e) {
- e.result = LaunchConfigurationsMessages.CommonTab_17;
- }
- });
+ fInputFileLocationText.getAccessible()
+ .addAccessibleListener(getNameAdapter(e -> e.result = LaunchConfigurationsMessages.CommonTab_17));
fInputFileLocationText.addModifyListener(fBasicModifyListener);
Composite bcomp = SWTFactory.createComposite(comp, 3, 5, GridData.HORIZONTAL_ALIGN_END);
GridLayout ld = (GridLayout) bcomp.getLayout();
ld.marginHeight = 1;
ld.marginWidth = 0;
fInputWorkspaceBrowse = createPushButton(bcomp, LaunchConfigurationsMessages.CommonTab_16, null);
- fInputWorkspaceBrowse.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), new WorkbenchLabelProvider(), new WorkbenchContentProvider());
- dialog.setTitle(LaunchConfigurationsMessages.CommonTab_13);
- dialog.setValidator(new ISelectionStatusValidator() {
-
- @Override
- public IStatus validate(Object[] selection) {
- if (selection.length == 0) {
- return new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), 0, IInternalDebugCoreConstants.EMPTY_STRING, null);
- }
- for (int i = 0; i < selection.length; i++) {
- if (!(selection[i] instanceof IFile)) {
- return new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), 0, IInternalDebugCoreConstants.EMPTY_STRING, null);
- }
- }
- return new Status(IStatus.OK, DebugUIPlugin.getUniqueIdentifier(), 0, IInternalDebugCoreConstants.EMPTY_STRING, null);
- }
- });
- dialog.setMessage(LaunchConfigurationsMessages.CommonTab_18);
- dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
- dialog.setComparator(new ResourceComparator(ResourceComparator.NAME));
- dialog.setDialogBoundsSettings(getDialogBoundsSettings(WORKSPACE_SELECTION_DIALOG), Dialog.DIALOG_PERSISTSIZE);
- if (dialog.open() == IDialogConstants.OK_ID) {
- IResource resource = (IResource) dialog.getFirstResult();
- if (resource != null) {
- String arg = resource.getFullPath().toString();
- String fileLoc = VariablesPlugin.getDefault().getStringVariableManager().generateVariableExpression("workspace_loc", arg); //$NON-NLS-1$
- fInputFileLocationText.setText(fileLoc);
+ fInputWorkspaceBrowse.addSelectionListener(widgetSelectedAdapter(e -> {
+ ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), new WorkbenchLabelProvider(),
+ new WorkbenchContentProvider());
+ dialog.setTitle(LaunchConfigurationsMessages.CommonTab_13);
+ dialog.setValidator(selection -> {
+ if (selection.length == 0) {
+ return new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), 0,
+ IInternalDebugCoreConstants.EMPTY_STRING, null);
+ }
+ for (Object f : selection) {
+ if (!(f instanceof IFile)) {
+ return new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), 0,
+ IInternalDebugCoreConstants.EMPTY_STRING, null);
}
}
+ return new Status(IStatus.OK, DebugUIPlugin.getUniqueIdentifier(), 0,
+ IInternalDebugCoreConstants.EMPTY_STRING, null);
+ });
+ dialog.setMessage(LaunchConfigurationsMessages.CommonTab_18);
+ dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
+ dialog.setComparator(new ResourceComparator(ResourceComparator.NAME));
+ dialog.setDialogBoundsSettings(getDialogBoundsSettings(WORKSPACE_SELECTION_DIALOG),
+ Dialog.DIALOG_PERSISTSIZE);
+ if (dialog.open() == IDialogConstants.OK_ID) {
+ IResource resource = (IResource) dialog.getFirstResult();
+ if (resource != null) {
+ String arg = resource.getFullPath().toString();
+ String fileLoc = VariablesPlugin.getDefault().getStringVariableManager()
+ .generateVariableExpression("workspace_loc", arg); //$NON-NLS-1$
+ fInputFileLocationText.setText(fileLoc);
+ }
}
- });
+ }));
fInputFileBrowse = createPushButton(bcomp, LaunchConfigurationsMessages.CommonTab_19, null);
- fInputFileBrowse.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- String filePath = fInputFileLocationText.getText();
- FileDialog dialog = new FileDialog(getShell(), SWT.OK | SWT.SHEET);
- filePath = dialog.open();
- if (filePath != null) {
- fInputFileLocationText.setText(filePath);
- }
+ fInputFileBrowse.addSelectionListener(widgetSelectedAdapter(e -> {
+ String filePath = fInputFileLocationText.getText();
+ FileDialog dialog = new FileDialog(getShell(), SWT.OK | SWT.SHEET);
+ filePath = dialog.open();
+ if (filePath != null) {
+ fInputFileLocationText.setText(filePath);
}
- });
+ }));
fInputVariables = createPushButton(bcomp, LaunchConfigurationsMessages.CommonTab_20, null);
- fInputVariables.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- StringVariableSelectionDialog dialog = new StringVariableSelectionDialog(getShell());
- dialog.open();
- String variable = dialog.getVariableExpression();
- if (variable != null) {
- fInputFileLocationText.insert(variable);
- }
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
+ fInputVariables.addSelectionListener(widgetSelectedAdapter(e -> {
+ StringVariableSelectionDialog dialog = new StringVariableSelectionDialog(getShell());
+ dialog.open();
+ String variable = dialog.getVariableExpression();
+ if (variable != null) {
+ fInputFileLocationText.insert(variable);
}
- });
+ }));
setInputFileEnabled(false);
- }
- /**
- * Enables or disables the output capture widgets based on the the specified enablement
- * @param enable if the output capture widgets should be enabled or not
- * @since 3.2
- */
- private void enableOuputCaptureWidgets(boolean enable) {
- fFileText.setEnabled(enable);
- fFileBrowse.setEnabled(enable);
- fWorkspaceBrowse.setEnabled(enable);
- fVariables.setEnabled(enable);
- fAppend.setEnabled(enable);
- }
-
- /**
- * Returns the default encoding for the specified config
- * @param config the configuration to get the encoding for
- * @return the default encoding
- *
- * @since 3.4
- */
- private String getDefaultEncoding(ILaunchConfiguration config) {
- try {
- IResource[] resources = config.getMappedResources();
+ }
+ /**
+ * Enables or disables the output capture widgets based on the the specified enablement
+ * @param enable if the output capture widgets should be enabled or not
+ * @since 3.2
+ */
+ private void enableOuputCaptureWidgets(boolean enable) {
+ fFileText.setEnabled(enable);
+ fFileBrowse.setEnabled(enable);
+ fWorkspaceBrowse.setEnabled(enable);
+ fVariables.setEnabled(enable);
+ fAppend.setEnabled(enable);
+ }
+
+ /**
+ * Returns the default encoding for the specified config
+ * @param config the configuration to get the encoding for
+ * @return the default encoding
+ *
+ * @since 3.4
+ */
+ private String getDefaultEncoding(ILaunchConfiguration config) {
+ try {
+ IResource[] resources = config.getMappedResources();
if(resources != null && resources.length > 0) {
IResource res = resources[0];
if(res instanceof IFile) {
@@ -486,67 +419,55 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
return ((IContainer)res).getDefaultCharset();
}
}
- }
- catch(CoreException ce) {
- DebugUIPlugin.log(ce);
- }
- return ResourcesPlugin.getEncoding();
- }
-
- /**
- * Creates the encoding component
- * @param parent the parent to add this composite to
- */
- private void createEncodingComponent(Composite parent) {
- Group group = SWTFactory.createGroup(parent, LaunchConfigurationsMessages.CommonTab_1, 2, 1, GridData.FILL_BOTH);
-
- fDefaultEncodingButton = createRadioButton(group, IInternalDebugCoreConstants.EMPTY_STRING);
- GridData gd = new GridData(SWT.BEGINNING, SWT.NORMAL, true, false);
- gd.horizontalSpan = 2;
- fDefaultEncodingButton.setLayoutData(gd);
-
- fAltEncodingButton = createRadioButton(group, LaunchConfigurationsMessages.CommonTab_3);
- fAltEncodingButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-
- fEncodingCombo = new Combo(group, SWT.NONE);
- fEncodingCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- fEncodingCombo.setFont(parent.getFont());
- List<String> allEncodings = IDEEncoding.getIDEEncodings();
- String[] encodingArray = allEncodings.toArray(new String[0]);
- fEncodingCombo.setItems(encodingArray);
- if (encodingArray.length > 0) {
- fEncodingCombo.select(0);
- }
- fEncodingCombo.getAccessible().addAccessibleListener(new AccessibleAdapter() {
- @Override
- public void getName(AccessibleEvent e) {
- e.result = LaunchConfigurationsMessages.CommonTab_3;
- }
- });
- SelectionListener listener = new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if(e.getSource() instanceof Button) {
- Button button = (Button)e.getSource();
- if(button.getSelection()) {
- updateLaunchConfigurationDialog();
- fEncodingCombo.setEnabled(fAltEncodingButton.getSelection() == true);
- }
- }
- else {
- updateLaunchConfigurationDialog();
- }
- }
- };
- fAltEncodingButton.addSelectionListener(listener);
- fDefaultEncodingButton.addSelectionListener(listener);
- fEncodingCombo.addSelectionListener(listener);
- fEncodingCombo.addKeyListener(new KeyAdapter() {
- @Override
- public void keyReleased(KeyEvent e) {
- scheduleUpdateJob();
+ }
+ catch(CoreException ce) {
+ DebugUIPlugin.log(ce);
+ }
+ return ResourcesPlugin.getEncoding();
+ }
+
+ /**
+ * Creates the encoding component
+ * @param parent the parent to add this composite to
+ */
+ private void createEncodingComponent(Composite parent) {
+ Group group = SWTFactory.createGroup(parent, LaunchConfigurationsMessages.CommonTab_1, 2, 1, GridData.FILL_BOTH);
+
+ fDefaultEncodingButton = createRadioButton(group, IInternalDebugCoreConstants.EMPTY_STRING);
+ GridData gd = new GridData(SWT.BEGINNING, SWT.NORMAL, true, false);
+ gd.horizontalSpan = 2;
+ fDefaultEncodingButton.setLayoutData(gd);
+
+ fAltEncodingButton = createRadioButton(group, LaunchConfigurationsMessages.CommonTab_3);
+ fAltEncodingButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
+
+ fEncodingCombo = new Combo(group, SWT.NONE);
+ fEncodingCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ fEncodingCombo.setFont(parent.getFont());
+ List<String> allEncodings = IDEEncoding.getIDEEncodings();
+ String[] encodingArray = allEncodings.toArray(new String[0]);
+ fEncodingCombo.setItems(encodingArray);
+ if (encodingArray.length > 0) {
+ fEncodingCombo.select(0);
+ }
+ fEncodingCombo.getAccessible()
+ .addAccessibleListener(getNameAdapter(e -> e.result = LaunchConfigurationsMessages.CommonTab_3));
+
+ SelectionListener listener = widgetSelectedAdapter(e -> {
+ if (e.getSource() instanceof Button) {
+ Button button = (Button) e.getSource();
+ if (button.getSelection()) {
+ updateLaunchConfigurationDialog();
+ fEncodingCombo.setEnabled(fAltEncodingButton.getSelection());
+ }
+ } else {
+ updateLaunchConfigurationDialog();
}
});
+ fAltEncodingButton.addSelectionListener(listener);
+ fDefaultEncodingButton.addSelectionListener(listener);
+ fEncodingCombo.addSelectionListener(listener);
+ fEncodingCombo.addKeyListener(KeyListener.keyReleasedAdapter(e -> scheduleUpdateJob()));
}
/**
@@ -578,12 +499,23 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
data.horizontalSpan = 2;
fLaunchInBackgroundButton.setLayoutData(data);
fLaunchInBackgroundButton.setFont(parent.getFont());
- fLaunchInBackgroundButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- updateLaunchConfigurationDialog();
- }
- });
+ fLaunchInBackgroundButton.addSelectionListener(widgetSelectedAdapter(e -> updateLaunchConfigurationDialog()));
+ }
+
+ /**
+ * Creates the controls needed to edit the terminate descendants attribute of an
+ * external tool
+ *
+ * @param parent the composite to create the controls in
+ */
+ private void createTerminateDescendantsButtonComponent(Composite parent) {
+ fTerminateDescendantsButton = createCheckButton(parent,
+ LaunchConfigurationsMessages.CommonTab_AttributeLabel_TerminateDescendants);
+ GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
+ data.horizontalSpan = 2;
+ fTerminateDescendantsButton.setLayoutData(data);
+ fTerminateDescendantsButton.setFont(parent.getFont());
+ fTerminateDescendantsButton.addSelectionListener(widgetSelectedAdapter(e -> updateLaunchConfigurationDialog()));
}
/**
@@ -621,11 +553,11 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
private String getDefaultSharedConfigLocation(ILaunchConfiguration config) {
String path = IInternalDebugCoreConstants.EMPTY_STRING;
try {
- IResource[] res = config.getMappedResources();
- if(res != null) {
+ IResource[] mappedResources = config.getMappedResources();
+ if(mappedResources != null) {
IProject proj;
- for (int i = 0; i < res.length; i++) {
- proj = res[i].getProject();
+ for (IResource resource : mappedResources) {
+ proj = resource.getProject();
if(proj != null && proj.isAccessible()) {
return proj.getFullPath().toOSString();
}
@@ -707,56 +639,47 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
updateLaunchInBackground(configuration);
updateEncoding(configuration);
updateConsoleOutput(configuration);
+
+ boolean terminateDescendants = getAttribute(configuration, DebugPlugin.ATTR_TERMINATE_DESCENDANTS, true);
+ fTerminateDescendantsButton.setSelection(terminateDescendants);
}
- /**
- * Updates the console output form the local configuration
- * @param configuration the local configuration
- */
- private void updateConsoleOutput(ILaunchConfiguration configuration) {
- boolean outputToConsole = true;
- String stdinFromFile = null;
- String outputFile = null;
- boolean append = false;
- boolean mergeOutput = false;
+ /**
+ * Updates the console output form the local configuration
+ * @param configuration the local configuration
+ */
+ private void updateConsoleOutput(ILaunchConfiguration configuration) {
+ boolean outputToConsole = getAttribute(configuration, IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, true);
+ String stdinFromFile = getAttribute(configuration, IDebugUIConstants.ATTR_CAPTURE_STDIN_FILE, (String) null);
+ String outputFile = getAttribute(configuration, IDebugUIConstants.ATTR_CAPTURE_IN_FILE, (String) null);
+ boolean append = getAttribute(configuration, IDebugUIConstants.ATTR_APPEND_TO_FILE, false);
+ boolean mergeOutput = getAttribute(configuration, DebugPlugin.ATTR_MERGE_OUTPUT, false);
boolean supportsMergeOutput = false;
-
- try {
- outputToConsole = configuration.getAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, true);
- stdinFromFile = configuration.getAttribute(IDebugUIConstants.ATTR_CAPTURE_STDIN_FILE, (String) null);
-
- outputFile = configuration.getAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_FILE, (String)null);
- append = configuration.getAttribute(IDebugUIConstants.ATTR_APPEND_TO_FILE, false);
- mergeOutput = configuration.getAttribute(DebugPlugin.ATTR_MERGE_OUTPUT, false);
+ try {
supportsMergeOutput = configuration.getType().supportsOutputMerging();
- } catch (CoreException e) {
- }
+ } catch (CoreException e) {
+ }
fConsoleOutput.setSelection(outputToConsole);
- fAppend.setSelection(append);
+ fAppend.setSelection(append);
if (supportsMergeOutput) {
fMergeOutput = createCheckButton(fIoComposit, LaunchConfigurationsMessages.CommonTab_21);
GridData gd = new GridData(SWT.LEFT, SWT.TOP, true, false);
gd.horizontalSpan = 5;
fMergeOutput.setLayoutData(gd);
- fMergeOutput.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- updateLaunchConfigurationDialog();
- }
- });
+ fMergeOutput.addSelectionListener(widgetSelectedAdapter(e -> updateLaunchConfigurationDialog()));
fMergeOutput.setSelection(mergeOutput);
}
else if (fMergeOutput != null) {
fMergeOutput.dispose();
fMergeOutput = null;
}
- boolean haveOutputFile= outputFile != null;
- if (haveOutputFile) {
- fFileText.setText(outputFile);
- }
- fFileOutput.setSelection(haveOutputFile);
- enableOuputCaptureWidgets(haveOutputFile);
+ boolean haveOutputFile= outputFile != null;
+ if (haveOutputFile) {
+ fFileText.setText(outputFile);
+ }
+ fFileOutput.setSelection(haveOutputFile);
+ enableOuputCaptureWidgets(haveOutputFile);
boolean haveInputFile = stdinFromFile != null;
if (haveInputFile) {
@@ -764,13 +687,13 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
}
fInputFileCheckButton.setSelection(haveInputFile);
setInputFileEnabled(haveInputFile);
- }
+ }
- /**
- * Updates the launch on background check button
- * @param configuration the local launch configuration
- */
- protected void updateLaunchInBackground(ILaunchConfiguration configuration) {
+ /**
+ * Updates the launch on background check button
+ * @param configuration the local launch configuration
+ */
+ protected void updateLaunchInBackground(ILaunchConfiguration configuration) {
fLaunchInBackgroundButton.setSelection(isLaunchInBackground(configuration));
}
@@ -779,24 +702,20 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
* @param configuration the local configuration
*/
private void updateEncoding(ILaunchConfiguration configuration) {
- String encoding = null;
- try {
- encoding = configuration.getAttribute(DebugPlugin.ATTR_CONSOLE_ENCODING, (String)null);
- } catch (CoreException e) {
- }
- String defaultEncoding = getDefaultEncoding(configuration);
- fDefaultEncodingButton.setText(MessageFormat.format(LaunchConfigurationsMessages.CommonTab_2, new Object[] { defaultEncoding }));
- fDefaultEncodingButton.pack();
- if (encoding != null) {
- fAltEncodingButton.setSelection(true);
- fDefaultEncodingButton.setSelection(false);
- fEncodingCombo.setText(encoding);
- fEncodingCombo.setEnabled(true);
- } else {
- fDefaultEncodingButton.setSelection(true);
- fAltEncodingButton.setSelection(false);
- fEncodingCombo.setEnabled(false);
- }
+ String encoding = getAttribute(configuration, DebugPlugin.ATTR_CONSOLE_ENCODING, (String) null);
+ String defaultEncoding = getDefaultEncoding(configuration);
+ fDefaultEncodingButton.setText(MessageFormat.format(LaunchConfigurationsMessages.CommonTab_2, defaultEncoding));
+ fDefaultEncodingButton.pack();
+ if (encoding != null) {
+ fAltEncodingButton.setSelection(true);
+ fDefaultEncodingButton.setSelection(false);
+ fEncodingCombo.setText(encoding);
+ fEncodingCombo.setEnabled(true);
+ } else {
+ fDefaultEncodingButton.setSelection(true);
+ fAltEncodingButton.setSelection(false);
+ fEncodingCombo.setEnabled(false);
+ }
}
/**
@@ -806,13 +725,7 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
* @return whether the configuration is configured to launch in the background
*/
public static boolean isLaunchInBackground(ILaunchConfiguration configuration) {
- boolean launchInBackground= true;
- try {
- launchInBackground= configuration.getAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, true);
- } catch (CoreException ce) {
- DebugUIPlugin.log(ce);
- }
- return launchInBackground;
+ return getAttribute(configuration, IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, true);
}
/**
@@ -823,29 +736,26 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
private void updateFavoritesFromConfig(ILaunchConfiguration config) {
fFavoritesTable.setInput(config);
fFavoritesTable.setCheckedElements(new Object[]{});
- try {
- List<String> groups = config.getAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, new ArrayList<String>());
- if (groups.isEmpty()) {
- // check old attributes for backwards compatible
- if (config.getAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, false)) {
- groups.add(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP);
- }
- if (config.getAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, false)) {
- groups.add(IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
- }
+ List<String> groups = getAttribute(config, IDebugUIConstants.ATTR_FAVORITE_GROUPS, new ArrayList<>());
+
+ if (groups.isEmpty()) {
+ // check old attributes for backwards compatible
+ if (getAttribute(config, IDebugUIConstants.ATTR_DEBUG_FAVORITE, false)) {
+ groups.add(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP);
}
- if (!groups.isEmpty()) {
- List<LaunchGroupExtension> list = new ArrayList<>();
- for (String id : groups) {
- LaunchGroupExtension extension = getLaunchConfigurationManager().getLaunchGroup(id);
- if (extension != null) {
- list.add(extension);
- }
+ if (getAttribute(config, IDebugUIConstants.ATTR_RUN_FAVORITE, false)) {
+ groups.add(IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
+ }
+ }
+ if (!groups.isEmpty()) {
+ List<LaunchGroupExtension> list = new ArrayList<>();
+ for (String id : groups) {
+ LaunchGroupExtension extension = getLaunchConfigurationManager().getLaunchGroup(id);
+ if (extension != null) {
+ list.add(extension);
}
- fFavoritesTable.setCheckedElements(list.toArray());
}
- } catch (CoreException e) {
- DebugUIPlugin.log(e);
+ fFavoritesTable.setCheckedElements(list.toArray());
}
}
@@ -887,49 +797,72 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
*/
@SuppressWarnings("deprecation")
private void updateConfigFromFavorites(ILaunchConfigurationWorkingCopy config) {
- try {
- Object[] checked = fFavoritesTable.getCheckedElements();
- boolean debug = config.getAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, false);
- boolean run = config.getAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, false);
- if (debug || run) {
- // old attributes
- List<LaunchGroupExtension> groups = new ArrayList<>();
- int num = 0;
- if (debug) {
- groups.add(getLaunchConfigurationManager().getLaunchGroup(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP));
- num++;
- }
- if (run) {
- num++;
- groups.add(getLaunchConfigurationManager().getLaunchGroup(IDebugUIConstants.ID_RUN_LAUNCH_GROUP));
- }
- // see if there are any changes
- if (num == checked.length) {
- boolean different = false;
- for (int i = 0; i < checked.length; i++) {
- if (!groups.contains(checked[i])) {
- different = true;
- break;
- }
- }
- if (!different) {
- return;
+ Object[] checked = fFavoritesTable.getCheckedElements();
+ boolean debug = getAttribute(config, IDebugUIConstants.ATTR_DEBUG_FAVORITE, false);
+ boolean run = getAttribute(config, IDebugUIConstants.ATTR_RUN_FAVORITE, false);
+ if (debug || run) {
+ // old attributes
+ List<LaunchGroupExtension> groups = new ArrayList<>();
+ int num = 0;
+ if (debug) {
+ groups.add(getLaunchConfigurationManager().getLaunchGroup(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP));
+ num++;
+ }
+ if (run) {
+ num++;
+ groups.add(getLaunchConfigurationManager().getLaunchGroup(IDebugUIConstants.ID_RUN_LAUNCH_GROUP));
+ }
+ // see if there are any changes
+ if (num == checked.length) {
+ boolean different = false;
+ for (Object checked1 : checked) {
+ if (!groups.contains(checked1)) {
+ different = true;
+ break;
}
}
- }
- config.setAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, (String)null);
- config.setAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, (String)null);
- List<String> groups = null;
- for (int i = 0; i < checked.length; i++) {
- LaunchGroupExtension group = (LaunchGroupExtension)checked[i];
- if (groups == null) {
- groups = new ArrayList<>();
+ if (!different) {
+ return;
}
- groups.add(group.getIdentifier());
}
- config.setAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, groups);
- } catch (CoreException e) {
- DebugUIPlugin.log(e);
+ }
+ config.setAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, (String) null);
+ config.setAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, (String) null);
+ List<String> groups = null;
+ for (Object c : checked) {
+ LaunchGroupExtension group = (LaunchGroupExtension) c;
+ if (groups == null) {
+ groups = new ArrayList<>();
+ }
+ groups.add(group.getIdentifier());
+ }
+ config.setAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, groups);
+ }
+
+ private static boolean getAttribute(ILaunchConfiguration config, String attribute, boolean defaultValue) {
+ try {
+ return config.getAttribute(attribute, defaultValue);
+ } catch (CoreException ce) {
+ DebugUIPlugin.log(ce);
+ return defaultValue;
+ }
+ }
+
+ private static String getAttribute(ILaunchConfiguration config, String attribute, String defaultValue) {
+ try {
+ return config.getAttribute(attribute, defaultValue);
+ } catch (CoreException ce) {
+ DebugUIPlugin.log(ce);
+ return defaultValue;
+ }
+ }
+
+ private static List<String> getAttribute(ILaunchConfiguration config, String attribute, List<String> defaultValue) {
+ try {
+ return config.getAttribute(attribute, defaultValue);
+ } catch (CoreException ce) {
+ DebugUIPlugin.log(ce);
+ return defaultValue;
}
}
@@ -949,42 +882,39 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
return validateLocalShared() && validateRedirectFile() && validateEncoding() && validateStdinFile();
}
- /**
- * validates the encoding selection
- * @return true if the validate encoding is allowable, false otherwise
- */
- private boolean validateEncoding() {
- if (fAltEncodingButton.getSelection()) {
- if (fEncodingCombo.getSelectionIndex() == -1) {
- if (!isValidEncoding(fEncodingCombo.getText().trim())) {
- setErrorMessage(LaunchConfigurationsMessages.CommonTab_15);
- return false;
- }
- }
- }
- return true;
- }
-
- /**
- * Validates if the redirect file is valid
- * @return true if the filename is not zero, false otherwise
- */
- private boolean validateRedirectFile() {
- if(fFileOutput.getSelection()) {
- int len = fFileText.getText().trim().length();
- if (len == 0) {
- setErrorMessage(LaunchConfigurationsMessages.CommonTab_8);
- return false;
- }
- }
- return true;
- }
-
- /**
- * validates the local shared config file location
- * @return true if the local shared file exists, false otherwise
- */
- private boolean validateLocalShared() {
+ /**
+ * validates the encoding selection
+ * @return true if the validate encoding is allowable, false otherwise
+ */
+ private boolean validateEncoding() {
+ if (fAltEncodingButton.getSelection() && fEncodingCombo.getSelectionIndex() == -1
+ && !isValidEncoding(fEncodingCombo.getText().trim())) {
+ setErrorMessage(LaunchConfigurationsMessages.CommonTab_15);
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates if the redirect file is valid
+ * @return true if the filename is not zero, false otherwise
+ */
+ private boolean validateRedirectFile() {
+ if(fFileOutput.getSelection()) {
+ int len = fFileText.getText().trim().length();
+ if (len == 0) {
+ setErrorMessage(LaunchConfigurationsMessages.CommonTab_8);
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * validates the local shared config file location
+ * @return true if the local shared file exists, false otherwise
+ */
+ private boolean validateLocalShared() {
if (isShared()) {
String path = fSharedLocationText.getText().trim();
IContainer container = getContainer(path);
@@ -1025,18 +955,24 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
updateConfigFromLocalShared(configuration);
updateConfigFromFavorites(configuration);
- setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, configuration, fLaunchInBackgroundButton.getSelection(), true);
+
+ boolean launchInBackground = fLaunchInBackgroundButton.getSelection();
+ setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, configuration, launchInBackground, true);
+
+ boolean terminateDescendants = fTerminateDescendantsButton.getSelection();
+ setAttribute(DebugPlugin.ATTR_TERMINATE_DESCENDANTS, configuration, terminateDescendants, true);
+
String encoding = null;
if(fAltEncodingButton.getSelection()) {
- encoding = fEncodingCombo.getText().trim();
+ encoding = fEncodingCombo.getText().trim();
}
configuration.setAttribute(DebugPlugin.ATTR_CONSOLE_ENCODING, encoding);
boolean captureOutput = false;
if (fConsoleOutput.getSelection()) {
- captureOutput = true;
+ captureOutput = true;
configuration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, (String) null);
} else {
- configuration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, false);
+ configuration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, false);
}
if (fInputFileCheckButton.getSelection()) {
configuration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_STDIN_FILE, fInputFileLocationText.getText());
@@ -1044,16 +980,16 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
configuration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_STDIN_FILE, (String) null);
}
if (fFileOutput.getSelection()) {
- captureOutput = true;
- String file = fFileText.getText();
- configuration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_FILE, file);
- if(fAppend.getSelection()) {
- configuration.setAttribute(IDebugUIConstants.ATTR_APPEND_TO_FILE, true);
- } else {
- configuration.setAttribute(IDebugUIConstants.ATTR_APPEND_TO_FILE, (String)null);
- }
+ captureOutput = true;
+ String file = fFileText.getText();
+ configuration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_FILE, file);
+ if(fAppend.getSelection()) {
+ configuration.setAttribute(IDebugUIConstants.ATTR_APPEND_TO_FILE, true);
+ } else {
+ configuration.setAttribute(IDebugUIConstants.ATTR_APPEND_TO_FILE, (String)null);
+ }
} else {
- configuration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_FILE, (String)null);
+ configuration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_FILE, (String)null);
}
if (fMergeOutput != null) {
if (fMergeOutput.getSelection()) {
@@ -1064,9 +1000,9 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
}
if (!captureOutput) {
- configuration.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, false);
+ configuration.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, false);
} else {
- configuration.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, (String)null);
+ configuration.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, (String)null);
}
}
@@ -1113,6 +1049,7 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
getAttributesLabelsForPrototype().put(IDebugUIConstants.ATTR_APPEND_TO_FILE, LaunchConfigurationsMessages.CommonTab_AttributeLabel_AppendToFile);
getAttributesLabelsForPrototype().put(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, LaunchConfigurationsMessages.CommonTab_AttributeLabel_LaunchInBackground);
getAttributesLabelsForPrototype().put(IDebugUIConstants.ATTR_FAVORITE_GROUPS, LaunchConfigurationsMessages.CommonTab_AttributeLabel_FavoriteGroups);
+ getAttributesLabelsForPrototype().put(DebugPlugin.ATTR_TERMINATE_DESCENDANTS, LaunchConfigurationsMessages.CommonTab_AttributeLabel_TerminateDescendants);
}
/**
@@ -1125,8 +1062,7 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
ILaunchGroup[] groups = DebugUITools.getLaunchGroups();
List<ILaunchGroup> possibleGroups = new ArrayList<>();
ILaunchConfiguration configuration = (ILaunchConfiguration)inputElement;
- for (int i = 0; i < groups.length; i++) {
- ILaunchGroup extension = groups[i];
+ for (ILaunchGroup extension : groups) {
LaunchHistory history = getLaunchConfigurationManager().getLaunchHistory(extension.getIdentifier());
if (history != null && history.accepts(configuration)) {
possibleGroups.add(extension);
@@ -1153,15 +1089,10 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
@Override
public Image getColumnImage(Object element, int columnIndex) {
- Image image = fImages.get(element);
- if (image == null) {
- ImageDescriptor descriptor = ((LaunchGroupExtension)element).getImageDescriptor();
- if (descriptor != null) {
- image = descriptor.createImage();
- fImages.put(element, image);
- }
- }
- return image;
+ return fImages.computeIfAbsent(element, e -> {
+ ImageDescriptor descriptor = ((LaunchGroupExtension) e).getImageDescriptor();
+ return descriptor != null ? descriptor.createImage() : null;
+ });
}
@Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugPopup.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugPopup.java
index d939d751d..d8afa766d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugPopup.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugPopup.java
@@ -13,11 +13,12 @@
*******************************************************************************/
package org.eclipse.debug.ui;
+import java.text.MessageFormat;
+
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.commands.IHandler;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.dialogs.PopupDialog;
@@ -31,8 +32,7 @@ import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.handlers.IHandlerActivation;
import org.eclipse.ui.handlers.IHandlerService;
import org.eclipse.ui.keys.IBindingService;
-
-import com.ibm.icu.text.MessageFormat;
+import org.osgi.framework.FrameworkUtil;
/**
* A <code>PopupDialog</code> that is automatically positioned relative
@@ -171,8 +171,7 @@ public abstract class DebugPopup extends PopupDialog {
@Override
protected IDialogSettings getDialogSettings() {
- IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
- return settings;
+ return PlatformUI.getDialogSettingsProvider(FrameworkUtil.getBundle(DebugPopup.class)).getDialogSettings();
}
@Override
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
index 886f32ef6..f5e1e6f17 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2018 IBM Corporation and others.
+ * Copyright (c) 2000, 2021 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -16,7 +16,6 @@ package org.eclipse.debug.ui;
import java.util.ArrayList;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
@@ -29,6 +28,7 @@ import org.eclipse.core.commands.operations.IUndoableOperation;
import org.eclipse.core.commands.operations.ObjectUndoContext;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.Adapters;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IConfigurationElement;
@@ -73,6 +73,7 @@ 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.internal.ui.views.breakpoints.DeleteBreakpointMarkersOperation;
import org.eclipse.debug.ui.actions.IToggleBreakpointsTargetManager;
import org.eclipse.debug.ui.contexts.IDebugContextListener;
import org.eclipse.debug.ui.contexts.IDebugContextManager;
@@ -102,7 +103,6 @@ import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.console.IConsole;
import org.eclipse.ui.handlers.HandlerUtil;
-import org.eclipse.ui.ide.undo.DeleteMarkersOperation;
import org.eclipse.ui.ide.undo.WorkspaceUndoUtil;
@@ -220,11 +220,9 @@ public class DebugUITools {
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];
+ for (IExtension extension : extensions) {
IConfigurationElement[] configElements= extension.getConfigurationElements();
- for (int j= 0; j < configElements.length; j++) {
- IConfigurationElement elt= configElements[j];
+ for (IConfigurationElement elt : configElements) {
String id= elt.getAttribute("id"); //$NON-NLS-1$
if (id != null && id.equals(identifier)) {
return new LazyModelPresentation(elt);
@@ -304,6 +302,13 @@ public class DebugUITools {
* @since 3.7
*/
public static void deleteBreakpoints(IBreakpoint[] breakpoints, final Shell shell, IProgressMonitor progressMonitor) throws CoreException {
+ if (breakpoints.length == 0) {
+ // Note: this is not only a small performance optimization but also the fix for
+ // bug 344352. When removing no breakpoints the DeleteMarkersOperation will show
+ // an error dialog about missing markers.
+ return;
+ }
+
IMarker[] markers= new IMarker[breakpoints.length];
int markerCount;
for (markerCount= 0; markerCount < breakpoints.length; markerCount++) {
@@ -322,11 +327,6 @@ public class DebugUITools {
DebugPlugin.getDefault().getBreakpointManager().removeBreakpoints(breakpoints, !allowUndo);
if (allowUndo) {
-
- for (int i= 0; i < markers.length; i++) {
- markers[i].setAttribute(DebugPlugin.ATTR_BREAKPOINT_IS_DELETED, true);
- }
-
IAdaptable context= null;
if (shell != null) {
context= new IAdaptable() {
@@ -342,7 +342,7 @@ public class DebugUITools {
}
String operationName= markers.length == 1 ? ActionMessages.DeleteBreakpointOperationName : ActionMessages.DeleteBreakpointsOperationName;
- IUndoableOperation deleteMarkerOperation= new DeleteMarkersOperation(markers, operationName);
+ IUndoableOperation deleteMarkerOperation = new DeleteBreakpointMarkersOperation(markers, operationName);
deleteMarkerOperation.removeContext(WorkspaceUndoUtil.getWorkspaceUndoContext());
deleteMarkerOperation.addContext(DebugUITools.getBreakpointsUndoContext());
IOperationHistory operationHistory= PlatformUI.getWorkbench().getOperationSupport().getOperationHistory();
@@ -537,8 +537,7 @@ public class DebugUITools {
@Deprecated
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];
+ for (ILaunchGroup group : groups) {
if (group.getMode().equals(mode) && group.getCategory() == null) {
return openLaunchConfigurationDialogOnGroup(shell, selection, group.getIdentifier());
}
@@ -859,8 +858,7 @@ public class DebugUITools {
try {
IResource[] configResource = iLaunch.getLaunchConfiguration().getMappedResources();
if (configResource != null && configResource.length == 1) {
- for (Iterator<Object> iter = fgLaunchToggleTerminateMap.keySet().iterator(); iter.hasNext();) {
- Object key = iter.next();
+ for (Object key : fgLaunchToggleTerminateMap.keySet()) {
if (key instanceof IEditorPart) {
IEditorInput input = ((IEditorPart) key).getEditorInput();
if (input.getAdapter(IResource.class).equals(configResource[0])) {
@@ -871,7 +869,7 @@ public class DebugUITools {
TreePath[] treePath = selection.getPaths();
if (treePath != null && treePath.length == 1) {
Object lastSegmentObj = treePath[0].getLastSegment();
- IResource selectedResource = ((IAdaptable) lastSegmentObj).getAdapter(IResource.class);
+ IResource selectedResource = Adapters.adapt(lastSegmentObj, IResource.class);
if (selectedResource!= null && selectedResource.equals(configResource[0])) {
return isShiftTerminateLaunch(key);
}
@@ -879,8 +877,7 @@ public class DebugUITools {
}
}
} else {
- for (Iterator<Object> iter = fgLaunchToggleTerminateMap.keySet().iterator(); iter.hasNext();) {
- Object key = iter.next();
+ for (Object key : fgLaunchToggleTerminateMap.keySet()) {
if (key instanceof IStructuredSelection) {
Object toggleValue = getToggleTerminateValue(key);
if (toggleValue instanceof TerminateToggleValue) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java
index b83d7bbe5..966500e90 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java
@@ -18,6 +18,7 @@
*******************************************************************************/
package org.eclipse.debug.ui;
+import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -63,7 +64,6 @@ import org.eclipse.jface.viewers.IBaseLabelProvider;
import org.eclipse.jface.viewers.IContentProvider;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ITableLabelProvider;
@@ -88,8 +88,6 @@ import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Shell;
@@ -98,8 +96,6 @@ import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.ui.PlatformUI;
-import com.ibm.icu.text.MessageFormat;
-
/**
* Launch configuration tab for configuring the environment passed into
* Runtime.exec(...) when a config is launched.
@@ -314,12 +310,7 @@ public class EnvironmentTab extends AbstractLaunchConfigurationTab {
environmentTable.setContentProvider(new EnvironmentVariableContentProvider());
environmentTable.setLabelProvider(new EnvironmentVariableLabelProvider());
environmentTable.setColumnProperties(new String[] { P_VARIABLE, P_VALUE });
- environmentTable.addSelectionChangedListener(new ISelectionChangedListener() {
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- handleTableSelectionChanged(event);
- }
- });
+ environmentTable.addSelectionChangedListener(this::handleTableSelectionChanged);
// Setup right-click context menu
Menu menuTable = new Menu(table);
@@ -367,29 +358,23 @@ public class EnvironmentTab extends AbstractLaunchConfigurationTab {
}
});
- environmentTable.addSelectionChangedListener(new ISelectionChangedListener() {
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- IStructuredSelection selection = environmentTable.getStructuredSelection();
- if (selection.size() == 1) {
- miRemove.setText(LaunchConfigurationsMessages.EnvironmentTab_Remove_6);
- } else if (selection.size() > 1) {
- miRemove.setText(LaunchConfigurationsMessages.EnvironmentTab_Remove_All);
- }
+ environmentTable.addSelectionChangedListener(event -> {
+ IStructuredSelection selection = environmentTable.getStructuredSelection();
+ if (selection.size() == 1) {
+ miRemove.setText(LaunchConfigurationsMessages.EnvironmentTab_Remove_6);
+ } else if (selection.size() > 1) {
+ miRemove.setText(LaunchConfigurationsMessages.EnvironmentTab_Remove_All);
}
});
// Disable certain context menu item's if no table item is selected
- table.addListener(SWT.MenuDetect, new Listener() {
- @Override
- public void handleEvent(Event event) {
- if (table.getSelectionCount() <= 0) {
- miRemove.setEnabled(false);
- miCopy.setEnabled(false);
- } else {
- miRemove.setEnabled(true);
- miCopy.setEnabled(true);
- }
+ table.addListener(SWT.MenuDetect, event -> {
+ if (table.getSelectionCount() <= 0) {
+ miRemove.setEnabled(false);
+ miCopy.setEnabled(false);
+ } else {
+ miRemove.setEnabled(true);
+ miCopy.setEnabled(true);
}
});
@@ -412,12 +397,8 @@ public class EnvironmentTab extends AbstractLaunchConfigurationTab {
// Setup environment variable name column
final TableViewerColumn tcv1 = new TableViewerColumn(environmentTable, SWT.NONE, 0);
- tcv1.setLabelProvider(new ColumnLabelProvider() {
- @Override
- public String getText(Object element) {
- return ((EnvironmentVariable) element).getName();
- }
- });
+ tcv1.setLabelProvider(
+ ColumnLabelProvider.createTextProvider(element -> ((EnvironmentVariable) element).getName()));
TableColumn tc1 = tcv1.getColumn();
tc1.setText(envTableColumnHeaders[0]);
@@ -438,12 +419,8 @@ public class EnvironmentTab extends AbstractLaunchConfigurationTab {
// Setup environment variable value column
final TableViewerColumn tcv2 = new TableViewerColumn(environmentTable, SWT.NONE, 1);
- tcv2.setLabelProvider(new ColumnLabelProvider() {
- @Override
- public String getText(Object element) {
- return ((EnvironmentVariable) element).getValue();
- }
- });
+ tcv2.setLabelProvider(
+ ColumnLabelProvider.createTextProvider(element -> ((EnvironmentVariable) element).getValue()));
TableColumn tc2 = tcv2.getColumn();
tc2.setText(envTableColumnHeaders[1]);
@@ -579,9 +556,8 @@ public class EnvironmentTab extends AbstractLaunchConfigurationTab {
* @return whether the new name should be used or not
*/
private boolean canRenameVariable(String newVariableName) {
- TableItem[] items = environmentTable.getTable().getItems();
- for (int i = 0; i < items.length; i++) {
- EnvironmentVariable existingVariable = (EnvironmentVariable) items[i].getData();
+ for (TableItem item : environmentTable.getTable().getItems()) {
+ EnvironmentVariable existingVariable = (EnvironmentVariable) item.getData();
if (existingVariable.getName().equals(newVariableName)) {
boolean overWrite = MessageDialog.openQuestion(getShell(),
@@ -608,8 +584,8 @@ public class EnvironmentTab extends AbstractLaunchConfigurationTab {
protected boolean addVariable(EnvironmentVariable variable) {
String name = variable.getName();
TableItem[] items = environmentTable.getTable().getItems();
- for (int i = 0; i < items.length; i++) {
- EnvironmentVariable existingVariable = (EnvironmentVariable) items[i].getData();
+ for (TableItem item : items) {
+ EnvironmentVariable existingVariable = (EnvironmentVariable) item.getData();
if (existingVariable.getName().equals(name)) {
boolean overWrite = MessageDialog.openQuestion(getShell(),
@@ -685,8 +661,8 @@ public class EnvironmentTab extends AbstractLaunchConfigurationTab {
// get Environment Variables from the table
TableItem[] items = environmentTable.getTable().getItems();
- for (int i = 0; i < items.length; i++) {
- EnvironmentVariable var = (EnvironmentVariable) items[i].getData();
+ for (TableItem item : items) {
+ EnvironmentVariable var = (EnvironmentVariable) item.getData();
envVariables.remove(var.getName());
}
@@ -696,8 +672,8 @@ public class EnvironmentTab extends AbstractLaunchConfigurationTab {
int button = dialog.open();
if (button == Window.OK) {
Object[] selected = dialog.getResult();
- for (int i = 0; i < selected.length; i++) {
- environmentTable.add(selected[i]);
+ for (Object o : selected) {
+ environmentTable.add(o);
}
}
@@ -735,7 +711,7 @@ public class EnvironmentTab extends AbstractLaunchConfigurationTab {
MultipleInputDialog dialog = new MultipleInputDialog(getShell(),
LaunchConfigurationsMessages.EnvironmentTab_11);
dialog.addTextField(NAME_LABEL, originalName, false);
- if (value != null && value.contains(System.getProperty("line.separator"))) { //$NON-NLS-1$
+ if (value != null && value.contains(System.lineSeparator())) {
dialog.addMultilinedVariablesField(VALUE_LABEL, value, true);
} else {
dialog.addVariablesField(VALUE_LABEL, value, true);
@@ -883,8 +859,8 @@ public class EnvironmentTab extends AbstractLaunchConfigurationTab {
// configuration's attributes.
TableItem[] items = environmentTable.getTable().getItems();
Map<String, String> map = new HashMap<>(items.length);
- for (int i = 0; i < items.length; i++) {
- EnvironmentVariable var = (EnvironmentVariable) items[i].getData();
+ for (TableItem item : items) {
+ EnvironmentVariable var = (EnvironmentVariable) item.getData();
map.put(var.getName(), var.getValue());
}
if (map.isEmpty()) {
@@ -1037,13 +1013,10 @@ public class EnvironmentTab extends AbstractLaunchConfigurationTab {
public Object[] getElements(Object inputElement) {
EnvironmentVariable[] elements = null;
if (inputElement instanceof HashMap) {
- Comparator<Object> comparator = new Comparator<Object>() {
- @Override
- public int compare(Object o1, Object o2) {
- String s1 = (String) o1;
- String s2 = (String) o2;
- return s1.compareTo(s2);
- }
+ Comparator<Object> comparator = (o1, o2) -> {
+ String s1 = (String) o1;
+ String s2 = (String) o2;
+ return s1.compareTo(s2);
};
TreeMap<Object, Object> envVars = new TreeMap<>(comparator);
envVars.putAll((Map<?, ?>) inputElement);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java
index 1fd65d468..208e033e8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java
@@ -966,9 +966,8 @@ public interface IDebugUIConstants {
String ATTR_CAPTURE_IN_CONSOLE = PLUGIN_ID + ".ATTR_CONSOLE_OUTPUT_ON"; //$NON-NLS-1$
/**
- * Launch configuration boolean attribute specifying whether input for the
- * launched process will be captured from file. Default value is
- * <code>null</code>.
+ * Launch configuration attribute to specifying a file whose content is supplied
+ * to the launched process input stream. Default value is <code>null</code>.
*
* @since 3.11
*/
@@ -1281,6 +1280,13 @@ public interface IDebugUIConstants {
String PREF_DETAIL_PANE_FONT= "org.eclipse.debug.ui.DetailPaneFont"; //$NON-NLS-1$
/**
+ * Preference to enable variable view inline on text editors.
+ *
+ * @since 3.16
+ */
+ String PREF_SHOW_VARIABLES_INLINE = "org.eclipse.debug.ui.ShowVariableInline"; //$NON-NLS-1$
+
+ /**
* Instruction pointer image for editor ruler for the currently executing
* instruction in the top stack frame.
*
@@ -1348,4 +1354,5 @@ public interface IDebugUIConstants {
* @since 3.8
*/
String COLUMN_ID_VARIABLE_VALUE_TYPE = COLUMN_PRESENTATION_ID_VARIABLE + ".COL_VALUE_TYPE"; //$NON-NLS-1$
+
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/InspectPopupDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/InspectPopupDialog.java
index 244d2d55f..f49774165 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/InspectPopupDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/InspectPopupDialog.java
@@ -110,9 +110,7 @@ public class InspectPopupDialog extends DebugPopup {
if (view != null) {
// copy over properties
IPresentationContext copy = ((TreeModelViewer)view.getViewer()).getPresentationContext();
- String[] properties = copy.getProperties();
- for (int i = 0; i < properties.length; i++) {
- String key = properties[i];
+ for (String key : copy.getProperties()) {
fContext.setProperty(key, copy.getProperty(key));
}
}
@@ -140,9 +138,8 @@ public class InspectPopupDialog extends DebugPopup {
if (view != null) {
StructuredViewer structuredViewer = (StructuredViewer) view.getViewer();
if (structuredViewer != null) {
- ViewerFilter[] filters = structuredViewer.getFilters();
- for (int i = 0; i < filters.length; i++) {
- fViewer.addFilter(filters[i]);
+ for (ViewerFilter filter : structuredViewer.getFilters()) {
+ fViewer.addFilter(filter);
}
}
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/StringVariableSelectionDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/StringVariableSelectionDialog.java
index 8db2295f0..e2f8c1dc1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/StringVariableSelectionDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/StringVariableSelectionDialog.java
@@ -49,6 +49,7 @@ import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.dialogs.ElementListSelectionDialog;
+import org.osgi.framework.FrameworkUtil;
/**
* A dialog that prompts the user to choose and configure a string
@@ -183,13 +184,13 @@ public class StringVariableSelectionDialog extends ElementListSelectionDialog {
ArrayList<Object> filtered = new ArrayList<>();
filtered.addAll(Arrays.asList(elements));
if(!fFilters.isEmpty() && !fShowAllSelected) {
- for (int i = 0; i < elements.length; i++) {
- if(elements[i] instanceof IDynamicVariable) {
+ for (Object element : elements) {
+ if (element instanceof IDynamicVariable) {
boolean bFiltered = false;
for (int j = 0; (j < fFilters.size()) && !bFiltered; j++) {
VariableFilter filter = fFilters.get(j);
- if(filter.isFiltered((IDynamicVariable)elements[i])) {
- filtered.remove(elements[i]);
+ if (filter.isFiltered((IDynamicVariable) element)) {
+ filtered.remove(element);
bFiltered = true;
}
}
@@ -387,7 +388,9 @@ public class StringVariableSelectionDialog extends ElementListSelectionDialog {
@Override
protected IDialogSettings getDialogBoundsSettings() {
- IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
+ IDialogSettings settings = PlatformUI
+ .getDialogSettingsProvider(FrameworkUtil.getBundle(StringVariableSelectionDialog.class))
+ .getDialogSettings();
IDialogSettings section = settings.getSection(getDialogSettingsSectionName());
if (section == null) {
section = settings.addNewSection(getDialogSettingsSectionName());
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java
index d0fc7c389..f68a5a13d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java
@@ -14,9 +14,11 @@
package org.eclipse.debug.ui.actions;
+import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
+import java.util.concurrent.CompletableFuture;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
@@ -51,6 +53,7 @@ import org.eclipse.swt.SWT;
import org.eclipse.swt.events.MenuAdapter;
import org.eclipse.swt.events.MenuEvent;
import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
@@ -58,8 +61,6 @@ import org.eclipse.ui.IActionDelegate2;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.IWorkbenchWindowPulldownDelegate2;
-import com.ibm.icu.text.MessageFormat;
-
/**
* Abstract implementation of an action that displays a drop-down launch
* history for a specific launch group.
@@ -181,8 +182,8 @@ public abstract class AbstractLaunchHistoryAction implements IActionDelegate2, I
*/
private boolean existsConfigTypesForMode() {
ILaunchConfigurationType[] configTypes = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationTypes();
- for (int i = 0; i < configTypes.length; i++) {
- if (configTypes[i].supportsMode(getMode())) {
+ for (ILaunchConfigurationType configType : configTypes) {
+ if (configType.supportsMode(getMode())) {
return true;
}
}
@@ -198,7 +199,10 @@ public abstract class AbstractLaunchHistoryAction implements IActionDelegate2, I
* </p>
*/
protected void updateTooltip() {
- getAction().setToolTipText(getToolTip());
+ CompletableFuture.supplyAsync(this::getToolTip)
+ .thenAccept(tooltip ->
+ Display.getDefault().asyncExec(() -> getAction().setToolTipText(tooltip))
+ );
}
/**
@@ -314,8 +318,8 @@ public abstract class AbstractLaunchHistoryAction implements IActionDelegate2, I
if (fRecreateMenu) {
Menu m = (Menu)e.widget;
MenuItem[] items = m.getItems();
- for (int i=0; i < items.length; i++) {
- items[i].dispose();
+ for (MenuItem item : items) {
+ item.dispose();
}
fillMenu(m);
fRecreateMenu= false;
@@ -347,8 +351,7 @@ public abstract class AbstractLaunchHistoryAction implements IActionDelegate2, I
// Add favorites
int accelerator = 1;
- for (int i = 0; i < favoriteList.length; i++) {
- ILaunchConfiguration launch= favoriteList[i];
+ for (ILaunchConfiguration launch : favoriteList) {
LaunchAction action= new LaunchAction(launch, getMode());
addToMenu(menu, action, accelerator);
accelerator++;
@@ -360,8 +363,7 @@ public abstract class AbstractLaunchHistoryAction implements IActionDelegate2, I
}
// Add history launches next
- for (int i = 0; i < historyList.length; i++) {
- ILaunchConfiguration launch= historyList[i];
+ for (ILaunchConfiguration launch : historyList) {
LaunchAction action= new LaunchAction(launch, getMode());
addToMenu(menu, action, accelerator);
accelerator++;
@@ -423,7 +425,7 @@ public abstract class AbstractLaunchHistoryAction implements IActionDelegate2, I
/**
* @since 3.12
*/
- protected void runInternal(IAction action, boolean isShift) {
+ protected void runInternal(IAction action, @SuppressWarnings("unused") boolean isShift) {
run(action);
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AddMemoryRenderingActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AddMemoryRenderingActionDelegate.java
index 30eba5386..2abcd920a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AddMemoryRenderingActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AddMemoryRenderingActionDelegate.java
@@ -118,8 +118,8 @@ public class AddMemoryRenderingActionDelegate extends Action implements IViewAct
public void menuShown(MenuEvent e) {
Menu m = (Menu)e.widget;
MenuItem[] items = m.getItems();
- for (int i=0; i < items.length; i++) {
- items[i].dispose();
+ for (MenuItem item : items) {
+ item.dispose();
}
fillMenu(m);
}
@@ -133,9 +133,8 @@ public class AddMemoryRenderingActionDelegate extends Action implements IViewAct
{
IMemoryRenderingType[] types = fActionDelegate.getMemoryRenderingTypes(fPart, fCurrentSelection);
- for (int i=0; i<types.length; i++)
- {
- AddMemoryRenderingAction action = new AddMemoryRenderingAction(types[i]);
+ for (IMemoryRenderingType type : types) {
+ AddMemoryRenderingAction action = new AddMemoryRenderingAction(type);
ActionContributionItem item = new ActionContributionItem(action);
item.fill(parent, -1);
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ContextualLaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ContextualLaunchAction.java
index a763267c5..f3a9da714 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ContextualLaunchAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ContextualLaunchAction.java
@@ -86,8 +86,7 @@ public abstract class ContextualLaunchAction implements IObjectActionDelegate, I
fMode = mode;
ILaunchGroup[] groups = DebugUITools.getLaunchGroups();
fGroupsByCategory = new HashMap<>(3);
- for (int i = 0; i < groups.length; i++) {
- ILaunchGroup group = groups[i];
+ for (ILaunchGroup group : groups) {
if (group.getMode().equals(mode)) {
if (group.getCategory() == null) {
fGroup = group;
@@ -132,8 +131,8 @@ public abstract class ContextualLaunchAction implements IObjectActionDelegate, I
if (fFillMenu) {
Menu m = (Menu)e.widget;
MenuItem[] items = m.getItems();
- for (int i=0; i < items.length; i++) {
- items[i].dispose();
+ for (MenuItem item : items) {
+ item.dispose();
}
fillMenu(m);
fFillMenu = false;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandAction.java
index c3ce545d2..528fe429e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandAction.java
@@ -16,7 +16,6 @@ package org.eclipse.debug.ui.actions;
import org.eclipse.debug.core.IRequest;
import org.eclipse.debug.internal.ui.commands.actions.DebugCommandService;
-import org.eclipse.debug.internal.ui.commands.actions.ICommandParticipant;
import org.eclipse.debug.internal.ui.commands.actions.IEnabledTarget;
import org.eclipse.debug.ui.DebugUITools;
import org.eclipse.debug.ui.contexts.DebugContextEvent;
@@ -82,12 +81,7 @@ public abstract class DebugCommandAction extends Action implements IDebugContext
*/
private IAction fAction;
- private IEnabledTarget fEnabledTarget = new IEnabledTarget() {
- @Override
- public void setEnabled(boolean enabled) {
- DebugCommandAction.this.setEnabled(enabled);
- }
- };
+ private IEnabledTarget fEnabledTarget = DebugCommandAction.this::setEnabled;
/**
* Constructor
@@ -122,12 +116,7 @@ public abstract class DebugCommandAction extends Action implements IDebugContext
private boolean execute(final Object[] targets) {
return fUpdateService.executeCommand(
getCommandType(), targets,
- new ICommandParticipant() {
- @Override
- public void requestDone(org.eclipse.debug.core.IRequest request) {
- DebugCommandAction.this.postExecute(request, targets);
- }
- });
+ request -> DebugCommandAction.this.postExecute(request, targets));
}
/**
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandHandler.java
index 442bbc396..973128ba6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandHandler.java
@@ -25,7 +25,6 @@ import org.eclipse.core.commands.HandlerEvent;
import org.eclipse.core.expressions.IEvaluationContext;
import org.eclipse.debug.core.IRequest;
import org.eclipse.debug.internal.ui.commands.actions.DebugCommandService;
-import org.eclipse.debug.internal.ui.commands.actions.ICommandParticipant;
import org.eclipse.debug.internal.ui.commands.actions.IEnabledTarget;
import org.eclipse.debug.ui.DebugUITools;
import org.eclipse.debug.ui.contexts.DebugContextEvent;
@@ -228,12 +227,7 @@ public abstract class DebugCommandHandler extends AbstractHandler {
DebugCommandService service = DebugCommandService.getService(window);
return service.executeCommand(
getCommandType(), targets,
- new ICommandParticipant() {
- @Override
- public void requestDone(org.eclipse.debug.core.IRequest request) {
- DebugCommandHandler.this.postExecute(request, targets);
- }
- });
+ request -> DebugCommandHandler.this.postExecute(request, targets));
}
/**
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ExportBreakpointsOperation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ExportBreakpointsOperation.java
index 9d26718bf..40ad4cfb5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ExportBreakpointsOperation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ExportBreakpointsOperation.java
@@ -21,6 +21,7 @@ import java.io.StringWriter;
import java.io.Writer;
import java.lang.reflect.InvocationTargetException;
import java.nio.charset.StandardCharsets;
+import java.text.MessageFormat;
import java.util.Map.Entry;
import org.eclipse.core.resources.IMarker;
@@ -41,8 +42,6 @@ import org.eclipse.ui.IWorkingSetManager;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.XMLMemento;
-import com.ibm.icu.text.MessageFormat;
-
/**
* Exports breakpoints to a file or string buffer.
* <p>
@@ -90,11 +89,10 @@ public class ExportBreakpointsOperation implements IRunnableWithProgress {
SubMonitor localmonitor = SubMonitor.convert(monitor, ImportExportMessages.ExportOperation_0, fBreakpoints.length);
XMLMemento memento = XMLMemento.createWriteRoot(IImportExportConstants.IE_NODE_BREAKPOINTS);
try (Writer writer = fWriter) {
- for (int i = 0; i < fBreakpoints.length; i++) {
+ for (IBreakpoint breakpoint : fBreakpoints) {
if (localmonitor.isCanceled()) {
return;
}
- IBreakpoint breakpoint = fBreakpoints[i];
//in the event we are in working set view, we can have multiple selection of the same breakpoint
//so do a simple check for it
IMarker marker = breakpoint.getMarker();
@@ -170,10 +168,9 @@ public class ExportBreakpointsOperation implements IRunnableWithProgress {
IWorkingSetManager mgr = PlatformUI.getWorkbench().getWorkingSetManager();
StringBuilder buffer = new StringBuilder();
IWorkingSet[] sets = mgr.getWorkingSets();
- for (int i = 0; i < sets.length; i++) {
- if(IDebugUIConstants.BREAKPOINT_WORKINGSET_ID.equals(sets[i].getId()) &&
- containsBreakpoint(sets[i], breakpoint)) {
- buffer.append(IImportExportConstants.DELIMITER).append(sets[i].getName());
+ for (IWorkingSet set : sets) {
+ if (IDebugUIConstants.BREAKPOINT_WORKINGSET_ID.equals(set.getId()) && containsBreakpoint(set, breakpoint)) {
+ buffer.append(IImportExportConstants.DELIMITER).append(set.getName());
}
}
return buffer.toString();
@@ -188,8 +185,8 @@ public class ExportBreakpointsOperation implements IRunnableWithProgress {
*/
private boolean containsBreakpoint(IWorkingSet set, IBreakpoint breakpoint) {
IAdaptable[] elements = set.getElements();
- for (int i = 0; i < elements.length; i++) {
- if (elements[i].equals(breakpoint)) {
+ for (IAdaptable element : elements) {
+ if (element.equals(breakpoint)) {
return true;
}
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ImportBreakpointsOperation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ImportBreakpointsOperation.java
index 945cc6422..a01b70189 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ImportBreakpointsOperation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ImportBreakpointsOperation.java
@@ -23,6 +23,7 @@ import java.io.Reader;
import java.io.StringReader;
import java.lang.reflect.InvocationTargetException;
import java.nio.charset.StandardCharsets;
+import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@@ -53,8 +54,6 @@ import org.eclipse.ui.IWorkingSetManager;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.XMLMemento;
-import com.ibm.icu.text.MessageFormat;
-
/**
* Imports breakpoints from a file or string buffer into the workspace.
* <p>
@@ -183,11 +182,11 @@ public class ImportBreakpointsOperation implements IRunnableWithProgress {
localmonitor.setWorkRemaining(nodes.length);
Map<String, Object> attributes = null;
IBreakpointImportParticipant[] participants = null;
- for(int i = 0; i < nodes.length; i++) {
+ for (IMemento node : nodes) {
if(localmonitor.isCanceled()) {
return;
}
- attributes = collectBreakpointProperties(nodes[i]);
+ attributes = collectBreakpointProperties(node);
if(attributes == null) {
continue;
}
@@ -197,7 +196,6 @@ public class ImportBreakpointsOperation implements IRunnableWithProgress {
} else {
resource = workspace;
}
-
// filter resource breakpoints that do not exist in this workspace
if(resource != null) {
try {
@@ -245,14 +243,13 @@ public class ImportBreakpointsOperation implements IRunnableWithProgress {
*/
protected IMarker findExistingMarker(Map<String, Object> attributes, IBreakpointImportParticipant[] participants) {
IBreakpoint[] bps = fManager.getBreakpoints();
- for(int i = 0; i < bps.length; i++) {
- for(int j = 0; j < participants.length; j++) {
+ for (IBreakpoint bp : bps) {
+ for (IBreakpointImportParticipant participant : participants) {
try {
- if(participants[j].matches(attributes, bps[i])) {
- return bps[i].getMarker();
+ if (participant.matches(attributes, bp)) {
+ return bp.getMarker();
}
- }
- catch(CoreException ce) {}
+ }catch(CoreException ce) {}
}
}
return null;
@@ -285,8 +282,8 @@ public class ImportBreakpointsOperation implements IRunnableWithProgress {
//copy all the marker attributes to the map
IMemento[] children = child.getChildren(IImportExportConstants.IE_NODE_ATTRIB);
- for(int i = 0; i < children.length; i++) {
- readAttribute(children[i], map);
+ for (IMemento c : children) {
+ readAttribute(c, map);
}
//collect attributes from the 'resource' node
@@ -349,8 +346,8 @@ public class ImportBreakpointsOperation implements IRunnableWithProgress {
updateWorkingSets(names, breakpoint);
}
if(participants != null) {
- for(int i = 0; i < participants.length; i++) {
- participants[i].verify(breakpoint);
+ for (IBreakpointImportParticipant participant : participants) {
+ participant.verify(breakpoint);
}
}
}
@@ -376,14 +373,14 @@ public class ImportBreakpointsOperation implements IRunnableWithProgress {
IWorkingSetManager mgr = PlatformUI.getWorkbench().getWorkingSetManager();
ArrayList<IWorkingSet> sets = new ArrayList<>();
collectContainingWorkingsets(breakpoint, sets);
- for (int i = 0; i < wsnames.length; i++) {
- if("".equals(wsnames[i])) { //$NON-NLS-1$
+ for (String wsname : wsnames) {
+ if ("".equals(wsname)) { //$NON-NLS-1$
continue;
}
- IWorkingSet set = mgr.getWorkingSet(wsnames[i]);
- if(set == null) {
+ IWorkingSet set = mgr.getWorkingSet(wsname);
+ if (set == null) {
//create working set
- set = mgr.createWorkingSet(wsnames[i], new IAdaptable[] {});
+ set = mgr.createWorkingSet(wsname, new IAdaptable[] {});
set.setId(IDebugUIConstants.BREAKPOINT_WORKINGSET_ID);
mgr.addWorkingSet(set);
}
@@ -416,10 +413,9 @@ public class ImportBreakpointsOperation implements IRunnableWithProgress {
private void collectContainingWorkingsets(IBreakpoint breakpoint, List<IWorkingSet> collector) {
IWorkingSetManager mgr = PlatformUI.getWorkbench().getWorkingSetManager();
IWorkingSet[] sets = mgr.getWorkingSets();
- for (int i = 0; i < sets.length; i++) {
- if(IDebugUIConstants.BREAKPOINT_WORKINGSET_ID.equals(sets[i].getId()) &&
- containsBreakpoint(sets[i], breakpoint)) {
- collector.add(sets[i]);
+ for (IWorkingSet set : sets) {
+ if (IDebugUIConstants.BREAKPOINT_WORKINGSET_ID.equals(set.getId()) && containsBreakpoint(set, breakpoint)) {
+ collector.add(set);
}
}
}
@@ -432,8 +428,8 @@ public class ImportBreakpointsOperation implements IRunnableWithProgress {
*/
private boolean containsBreakpoint(IWorkingSet set, IBreakpoint breakpoint) {
IAdaptable[] elements = set.getElements();
- for (int i = 0; i < elements.length; i++) {
- if (elements[i].equals(breakpoint)) {
+ for (IAdaptable element : elements) {
+ if (element.equals(breakpoint)) {
return true;
}
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java
index 1e010a204..41c5cb3ed 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java
@@ -14,6 +14,7 @@
package org.eclipse.debug.ui.actions;
+import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Set;
@@ -36,8 +37,6 @@ import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Event;
import org.eclipse.ui.PlatformUI;
-import com.ibm.icu.text.MessageFormat;
-
/**
* Launches a launch configuration in a specific mode.
* <p>
@@ -143,12 +142,12 @@ public class LaunchAction extends Action {
*/
private void removeFromLaunchHistories(ILaunchConfiguration config, ILaunchGroup[] groups) {
LaunchHistory history = null;
- for(int i = 0; i < groups.length; i++) {
- history = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchHistory(groups[i].getIdentifier());
- if(history != null) {
+ for (ILaunchGroup group : groups) {
+ history = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchHistory(group.getIdentifier());
+ if (history != null) {
history.removeFromHistory(fConfiguration);
} else {
- DebugUIPlugin.logErrorMessage(MessageFormat.format("Unable to remove configuration [{0}] from launch history. The launch history for mode [{1}] does not exist.", new Object[] { config.getName(), groups[i].getMode() })); //$NON-NLS-1$
+ DebugUIPlugin.logErrorMessage(MessageFormat.format("Unable to remove configuration [{0}] from launch history. The launch history for mode [{1}] does not exist.", new Object[]{config.getName(), group.getMode()})); //$NON-NLS-1$
}
}
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAsAction.java
index b0d800b58..082b7c817 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAsAction.java
@@ -182,8 +182,8 @@ public class LaunchAsAction extends Action implements IMenuCreator, IWorkbenchWi
public void menuShown(MenuEvent e) {
Menu m = (Menu)e.widget;
MenuItem[] items = m.getItems();
- for (int i=0; i < items.length; i++) {
- items[i].dispose();
+ for (MenuItem item : items) {
+ item.dispose();
}
fillMenu();
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java
index 17dcd129a..dd9b6994c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java
@@ -275,8 +275,8 @@ public class LaunchShortcutsAction extends Action implements IMenuCreator, IWork
public void menuShown(MenuEvent e) {
Menu m = (Menu)e.widget;
MenuItem[] items = m.getItems();
- for (int i=0; i < items.length; i++) {
- items[i].dispose();
+ for (MenuItem item : items) {
+ item.dispose();
}
fillMenu();
}
@@ -335,8 +335,7 @@ public class LaunchShortcutsAction extends Action implements IMenuCreator, IWork
*/
private boolean existsConfigTypesForMode() {
ILaunchConfigurationType[] configTypes = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationTypes();
- for (int i = 0; i < configTypes.length; i++) {
- ILaunchConfigurationType configType = configTypes[i];
+ for (ILaunchConfigurationType configType : configTypes) {
if (configType.supportsMode(getMode())) {
return true;
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/OpenLaunchDialogAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/OpenLaunchDialogAction.java
index 9eabdfa9b..b2535ba23 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/OpenLaunchDialogAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/OpenLaunchDialogAction.java
@@ -14,6 +14,8 @@
package org.eclipse.debug.ui.actions;
+import java.text.MessageFormat;
+
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.ILaunchConfigurationType;
@@ -35,8 +37,6 @@ import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.IWorkbenchWindowActionDelegate;
import org.eclipse.ui.PlatformUI;
-import com.ibm.icu.text.MessageFormat;
-
/**
* Opens the launch configuration dialog in the context of a launch group.
* <p>
@@ -115,8 +115,7 @@ public class OpenLaunchDialogAction extends Action implements IActionDelegate2,
*/
private boolean existsConfigTypesForMode() {
ILaunchConfigurationType[] configTypes = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationTypes();
- for (int i = 0; i < configTypes.length; i++) {
- ILaunchConfigurationType configType = configTypes[i];
+ for (ILaunchConfigurationType configType : configTypes) {
if (configType.supportsMode(getMode())) {
return true;
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RelaunchLastAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RelaunchLastAction.java
index 14ec2c03e..b0fe19821 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RelaunchLastAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RelaunchLastAction.java
@@ -15,6 +15,8 @@
package org.eclipse.debug.ui.actions;
+import java.text.MessageFormat;
+
import org.eclipse.core.commands.Command;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
@@ -47,8 +49,6 @@ import org.eclipse.ui.IWorkbenchWindowActionDelegate;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.commands.ICommandService;
-import com.ibm.icu.text.MessageFormat;
-
/**
* Re-launches the last launch.
*
@@ -195,8 +195,7 @@ public abstract class RelaunchLastAction implements IWorkbenchWindowActionDelega
*/
private boolean existsConfigTypesForMode() {
ILaunchConfigurationType[] configTypes = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationTypes();
- for (int i = 0; i < configTypes.length; i++) {
- ILaunchConfigurationType configType = configTypes[i];
+ for (ILaunchConfigurationType configType : configTypes) {
if (configType.supportsMode(getMode())) {
return true;
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerBreakpointTypesActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerBreakpointTypesActionDelegate.java
index fcf6627e9..60c14b0a9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerBreakpointTypesActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerBreakpointTypesActionDelegate.java
@@ -241,9 +241,8 @@ public class RulerBreakpointTypesActionDelegate implements IEditorActionDelegate
@Override
public void menuShown(MenuEvent e) {
Menu m = (Menu)e.widget;
- MenuItem[] items = m.getItems();
- for (int i=0; i < items.length; i++) {
- items[i].dispose();
+ for (MenuItem item : m.getItems()) {
+ item.dispose();
}
fillMenu(m);
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineHandler.java
index 8a6b7ad75..c1bc665d7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineHandler.java
@@ -67,8 +67,7 @@ public class RunToLineHandler implements IDebugEventSetListener, IBreakpointMana
@Override
public void handleDebugEvents(DebugEvent[] events) {
- for (int i = 0; i < events.length; i++) {
- DebugEvent event= events[i];
+ for (DebugEvent event : events) {
Object source= event.getSource();
if (source instanceof IThread && event.getKind() == DebugEvent.SUSPEND &&
event.getDetail() == DebugEvent.BREAKPOINT) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleBreakpointAction.java
index 5f020524e..ca2d2c969 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleBreakpointAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleBreakpointAction.java
@@ -52,12 +52,7 @@ public class ToggleBreakpointAction extends Action implements IUpdate {
private IWorkbenchPart fPart;
private IDocument fDocument;
private IVerticalRulerInfo fRulerInfo;
- private IToggleBreakpointsTargetManagerListener fListener = new IToggleBreakpointsTargetManagerListener() {
- @Override
- public void preferredTargetsChanged() {
- update();
- }
- };
+ private IToggleBreakpointsTargetManagerListener fListener = this::update;
/**
* Constructs a new action to toggle a breakpoint in the given
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/FileLink.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/FileLink.java
index 04cf4febd..897526c27 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/FileLink.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/FileLink.java
@@ -57,14 +57,15 @@ public class FileLink implements IConsoleHyperlink {
/**
* Constructs a hyperlink to the specified file.
*
- * @param file the file to open when activated
- * @param editorId the identifier of the editor to open the file in, or
- * <code>null</code> if the default editor should be used
- * @param fileOffset the offset in the file to select when activated, or -1
- * @param fileLength the length of text to select in the file when activated
- * or -1
- * @param fileLineNumber the line number to select in the file when
- * activated, or -1
+ * @param file the file to open when activated
+ * @param editorId the identifier of the editor to open the file in, or
+ * <code>null</code> if the default editor should be used
+ * @param fileOffset the offset in the file to select when activated, or -1
+ * @param fileLength the length of text to select in the file when activated
+ * or -1
+ * @param fileLineNumber the line number to select in the file when activated,
+ * or -1. First line number is 1. Only used if
+ * <em>fileOffset</em> is not set.
*/
public FileLink(IFile file, String editorId, int fileOffset, int fileLength, int fileLineNumber) {
fFile = file;
@@ -82,7 +83,7 @@ public class FileLink implements IConsoleHyperlink {
if (page != null) {
try {
IEditorPart editorPart = page.openEditor(new FileEditorInput(fFile), getEditorId() , true);
- if (fFileLineNumber > 0) {
+ if (fFileLineNumber > 0 || (fFileOffset >= 0 && fFileLength >= 0)) {
ITextEditor textEditor = null;
if (editorPart instanceof ITextEditor) {
textEditor = (ITextEditor) editorPart;
@@ -90,8 +91,8 @@ public class FileLink implements IConsoleHyperlink {
textEditor = editorPart.getAdapter(ITextEditor.class);
}
if (textEditor != null) {
- IEditorInput input = editorPart.getEditorInput();
if (fFileOffset < 0) {
+ IEditorInput input = editorPart.getEditorInput();
IDocumentProvider provider = textEditor.getDocumentProvider();
try {
provider.connect(input);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTableRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTableRendering.java
index 122dab8e1..6d96bedb6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTableRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTableRendering.java
@@ -1450,17 +1450,15 @@ public abstract class AbstractTableRendering extends AbstractBaseTableRendering
// clean up old columns
TableColumn[] oldColumns = fTableViewer.getTable().getColumns();
- for (int i=0; i<oldColumns.length; i++)
- {
- oldColumns[i].dispose();
+ for (TableColumn oldColumn : oldColumns) {
+ oldColumn.dispose();
}
// clean up old cell editors
CellEditor[] oldCellEditors = fTableViewer.getCellEditors();
- for (int i=0; i<oldCellEditors.length; i++)
- {
- oldCellEditors[i].dispose();
+ for (CellEditor oldCellEditor : oldCellEditors) {
+ oldCellEditor.dispose();
}
}
@@ -2377,9 +2375,8 @@ public abstract class AbstractTableRendering extends AbstractBaseTableRendering
fTableCursor = null;
// clean up cell editors
- for (int i=0; i<fEditors.length; i++)
- {
- fEditors[i].dispose();
+ for (CellEditor editor : fEditors) {
+ editor.dispose();
}
// remove font change listener when the view tab is disposed
@@ -2751,9 +2748,7 @@ public abstract class AbstractTableRendering extends AbstractBaseTableRendering
int colNum = -1;
int numCol = fTableViewer.getColumnProperties().length;
- for (int j=0; j<tableItems.length; j++)
- {
- TableItem item = tableItems[j];
+ for (TableItem item : tableItems) {
for (int i=0; i<numCol; i++)
{
Rectangle bound = item.getBounds(i);
@@ -3350,9 +3345,8 @@ public abstract class AbstractTableRendering extends AbstractBaseTableRendering
// check each of the items and find the minimum
TableItem[] items = table.getItems();
int minHeight = table.getItemHeight();
- for (int i=0; i<items.length; i++)
- {
- minHeight = Math.min(items[i].getBounds(0).height, minHeight);
+ for (TableItem item : items) {
+ minHeight = Math.min(item.getBounds(0).height, minHeight);
}
return minHeight;
@@ -3676,14 +3670,12 @@ public abstract class AbstractTableRendering extends AbstractBaseTableRendering
private TableItem getItem(Point point)
{
TableItem[] items = fTableViewer.getTable().getItems();
- for (int i=0; i<items.length; i++)
- {
- Point start = new Point(items[i].getBounds(0).x, items[i].getBounds(0).y);
+ for (TableItem item : items) {
+ Point start = new Point(item.getBounds(0).x, item.getBounds(0).y);
start = fTableViewer.getTable().toDisplay(start);
- Point end = new Point(start.x + items[i].getBounds(0).width, start.y + items[i].getBounds(0).height);
-
+ Point end = new Point(start.x + item.getBounds(0).width, start.y + item.getBounds(0).height);
if (start.y < point.y && point.y < end.y) {
- return items[i];
+ return item;
}
}
return null;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditor.java
index e718db992..709dd4758 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditor.java
@@ -269,8 +269,7 @@ public class CommonSourceNotFoundEditor extends EditorPart implements IReusableE
Object artifact = getArtifact();
if (artifact instanceof IDebugElement) {
IDebugElement element = (IDebugElement)artifact;
- for (int i = 0; i < launches.length; i++) {
- ILaunch launch = launches[i];
+ for (ILaunch launch : launches) {
if (launch.equals(element.getLaunch())) {
closeEditor();
return;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditorInput.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditorInput.java
index f0a3ed757..7fee68f8e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditorInput.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditorInput.java
@@ -13,6 +13,8 @@
*******************************************************************************/
package org.eclipse.debug.ui.sourcelookup;
+import java.text.MessageFormat;
+
import org.eclipse.core.runtime.PlatformObject;
import org.eclipse.debug.internal.core.IInternalDebugCoreConstants;
import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupUIMessages;
@@ -22,8 +24,6 @@ import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IPersistableElement;
-import com.ibm.icu.text.MessageFormat;
-
/**
* Editor input for the <code>CommonSourceNotFoundEditor</code>. The editor
* input can be created on an artifact that has a source association.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupDialog.java
index 92440853b..3aa4351e6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupDialog.java
@@ -34,6 +34,7 @@ import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.PlatformUI;
+import org.osgi.framework.FrameworkUtil;
/**
* A dialog for editing the source lookup path of a
@@ -128,7 +129,8 @@ public class SourceLookupDialog extends TitleAreaDialog {
@Override
protected IDialogSettings getDialogBoundsSettings() {
- IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
+ IDialogSettings settings = PlatformUI
+ .getDialogSettingsProvider(FrameworkUtil.getBundle(SourceLookupDialog.class)).getDialogSettings();
IDialogSettings section = settings.getSection(getClass().getName());
if (section == null) {
section = settings.addNewSection(getClass().getName());
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java
index 722cef429..0a0425397 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java
@@ -86,18 +86,17 @@ public class WorkingSetSourceContainer extends CompositeSourceContainer{
}
ArrayList<ISourceContainer> locationList = new ArrayList<>();
- for (int i = 0; i < elements.length; i++) {
- IResource resource = elements[i].getAdapter(IResource.class);
-
+ for (IAdaptable element : elements) {
+ IResource resource = element.getAdapter(IResource.class);
if (resource != null) {
switch (resource.getType()) {
- case IResource.FOLDER:
- locationList.add(new FolderSourceContainer((IFolder)resource, true));
- break;
- case IResource.PROJECT:
- locationList.add(new ProjectSourceContainer((IProject)resource, true));
- break;
- //if the element corresponds to an IFile, do nothing
+ case IResource.FOLDER:
+ locationList.add(new FolderSourceContainer((IFolder)resource, true));
+ break;
+ case IResource.PROJECT:
+ locationList.add(new ProjectSourceContainer((IProject)resource, true));
+ break;
+ //if the element corresponds to an IFile, do nothing
default:
break;
}

Back to the top