Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.debug.ui/ui/org')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPreferenceInitializer.java1
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsDialog.java3
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties4
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIMessages.properties2
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.properties4
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointFileContainerFactory.java3
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointGroupContainerFactory.java3
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointProjectContainerFactory.java3
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeContainerFactory.java3
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java6
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java7
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java87
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java8
13 files changed, 111 insertions, 23 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPreferenceInitializer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPreferenceInitializer.java
index 9b639cdc8..0483d069e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPreferenceInitializer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPreferenceInitializer.java
@@ -60,7 +60,6 @@ public class DebugUIPreferenceInitializer extends AbstractPreferenceInitializer
prefs.setDefault(IDebugPreferenceConstants.CONSOLE_LOW_WATER_MARK, 80000);
prefs.setDefault(IDebugPreferenceConstants.CONSOLE_HIGH_WATER_MARK, 100000);
prefs.setDefault(IDebugPreferenceConstants.CONSOLE_TAB_WIDTH, 8);
-// prefs.setDefault(IDebugPreferenceConstants.CONSOLE_ENCODING, WorkbenchEncoding.getWorkbenchDefaultEncoding());
PreferenceConverter.setDefault(prefs, IDebugPreferenceConstants.CONSOLE_SYS_OUT_COLOR, new RGB(0, 0, 255));
PreferenceConverter.setDefault(prefs, IDebugPreferenceConstants.CONSOLE_SYS_IN_COLOR, new RGB(0, 200, 125));
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsDialog.java
index 60d1b8f35..de8711ed7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsDialog.java
@@ -571,9 +571,6 @@ public class LaunchConfigurationsDialog extends TitleAreaDialog implements ILaun
setButtonActionNew(new ButtonActionNew(newButton.getText(), newButton));
final Button deleteButton = SWTUtil.createPushButton(buttonComposite, LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Dele&te_14"), null); //$NON-NLS-1$
- gd= (GridData)deleteButton.getLayoutData();
- gd.horizontalAlignment= GridData.BEGINNING;
- gd.grabExcessHorizontalSpace= true;
setButtonActionDelete(new ButtonActionDelete(deleteButton.getText(), deleteButton));
AbstractLaunchConfigurationAction.IConfirmationRequestor requestor =
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties
index b54e3cabf..35eedb132 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties
@@ -21,6 +21,10 @@ CommonTab.Select_a_location_for_the_launch_configuration_13=Select a location fo
CommonTab.Cannot_save_launch_configuration_in_a_closed_project._1=Cannot save launch configuration in a closed project.
CommonTab.10=Launch in bac&kground
CommonTab.0=Save as
+CommonTab.1=File Encoding:
+CommonTab.2=Default (
+CommonTab.3=)
+CommonTab.4=Other
CompileErrorPromptStatusHandler.0=Errors in Project
CompileErrorPromptStatusHandler.1=Errors exist in a required project. Continue launch?
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIMessages.properties
index 250855e2b..a8681932c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIMessages.properties
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIMessages.properties
@@ -18,7 +18,7 @@ sourceTab.downButton = &Down
sourceTab.removeButton = &Remove
sourceTab.addButton = &Add...
sourceTab.tabTitle = Source
-sourceTab.defaultButton = Restore De&fault
+sourceTab.defaultButton = Restore Defa&ult
addSourceLocation.title = Add Source
addSourceLocation.description = Select the type of source to add to the source lookup path
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.properties
index 0a6bb5564..919b31114 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.properties
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.properties
@@ -46,6 +46,10 @@ BreakpointsViewEventHandler.1=Error Updating
BreakpointsViewEventHandler.2=An error occurred while updating one or more breakpoints. The checked state of these breakpoints will not match their enabled state.
BreakpointsViewEventHandler.4=
BreakpointsViewEventHandler.5=Exception accessing breakpoint
+BreakpointGroupContainerFactory.0=(no group)
+BreakpointFileContainerFactory.0=(no file)
+BreakpointTypeContainerFactory.0=(other)
+BreakpointProjectContainerFactory.0=(no project)
DebugViewLabelDecorator.0=Debug
DebugViewLabelDecorator.1=Fetching {0} labels
DebugViewLabelDecorator.2=\ ({0} pending)
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointFileContainerFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointFileContainerFactory.java
index 13b499aaa..16f60828a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointFileContainerFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointFileContainerFactory.java
@@ -20,6 +20,7 @@ import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IResource;
import org.eclipse.debug.core.model.IBreakpoint;
+import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.ISharedImages;
@@ -99,7 +100,7 @@ public class BreakpointFileContainerFactory extends AbstractBreakpointContainerF
BreakpointContainer container= new BreakpointContainer(
(IBreakpoint[]) other.toArray(new IBreakpoint[0]),
this,
- "(no file)",
+ DebugUIViewsMessages.getString("BreakpointFileContainerFactory.0"), //$NON-NLS-1$
parentId);
fOtherImage= PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
container.setImage(fOtherImage);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointGroupContainerFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointGroupContainerFactory.java
index 68e5cd10b..d59786435 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointGroupContainerFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointGroupContainerFactory.java
@@ -19,6 +19,7 @@ import java.util.Set;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.debug.core.model.IBreakpoint;
import org.eclipse.debug.internal.ui.DebugUIPlugin;
+import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
/**
*
@@ -71,7 +72,7 @@ public class BreakpointGroupContainerFactory extends AbstractBreakpointContainer
BreakpointGroupContainer container= new BreakpointGroupContainer(
(IBreakpoint[]) other.toArray(new IBreakpoint[0]),
this,
- "(no group)",
+ DebugUIViewsMessages.getString("BreakpointGroupContainerFactory.0"), //$NON-NLS-1$
parentId);
containers.add(container);
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointProjectContainerFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointProjectContainerFactory.java
index 4eb41ab3c..580273ffb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointProjectContainerFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointProjectContainerFactory.java
@@ -19,6 +19,7 @@ import java.util.Set;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IProject;
import org.eclipse.debug.core.model.IBreakpoint;
+import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.PlatformUI;
@@ -79,7 +80,7 @@ public class BreakpointProjectContainerFactory extends AbstractBreakpointContain
BreakpointContainer container= new BreakpointContainer(
(IBreakpoint[]) other.toArray(new IBreakpoint[0]),
this,
- "(no project)",
+ DebugUIViewsMessages.getString("BreakpointProjectContainerFactory.0"), //$NON-NLS-1$
parentId);
fOtherImage= PlatformUI.getWorkbench().getSharedImages().getImage(SharedImages.IMG_OBJ_PROJECT);
container.setImage(fOtherImage);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeContainerFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeContainerFactory.java
index c1994fc83..b3c449a1a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeContainerFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeContainerFactory.java
@@ -18,6 +18,7 @@ import java.util.Set;
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.model.IBreakpoint;
+import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
/**
*
@@ -37,7 +38,7 @@ public class BreakpointTypeContainerFactory extends AbstractBreakpointContainerF
IBreakpoint breakpoint = breakpoints[i];
String typeName= DebugPlugin.getDefault().getBreakpointManager().getTypeName(breakpoint);
if (typeName == null) {
- typeName= "(other)";
+ typeName= DebugUIViewsMessages.getString("BreakpointTypeContainerFactory.0"); //$NON-NLS-1$
}
List list = (List) map.get(typeName);
if (list == null) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java
index 322baa226..a10b2dc21 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java
@@ -73,7 +73,11 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe
* Proxy to a console document
*/
public ProcessConsole(IProcess process, IConsoleColorProvider colorProvider) {
- super("", IDebugUIConstants.ID_PROCESS_CONSOLE_TYPE, null); //$NON-NLS-1$
+ this(process, colorProvider, null);
+ }
+
+ public ProcessConsole(IProcess process, IConsoleColorProvider colorProvider, String encoding) {
+ super("", IDebugUIConstants.ID_PROCESS_CONSOLE_TYPE, null, encoding, true); //$NON-NLS-1$
fProcess = process;
fColorProvider = colorProvider;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java
index 68eee5553..b4f81e2fc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java
@@ -156,7 +156,12 @@ public class ProcessConsoleManager implements ILaunchListener {
}
//create a new console.
IConsoleColorProvider colorProvider = getColorProvider(process.getAttribute(IProcess.ATTR_PROCESS_TYPE));
- ProcessConsole pc = new ProcessConsole(process, colorProvider);
+ String encoding = null;
+ try {
+ encoding = launch.getLaunchConfiguration().getAttribute(IDebugUIConstants.ATTR_CONSOLE_ENCODING, (String)null);
+ } catch (CoreException e) {
+ }
+ ProcessConsole pc = new ProcessConsole(process, colorProvider, encoding);
pc.setAttribute(IDebugUIConstants.ATTR_CONSOLE_PROCESS, process);
//add new console to console manager.
ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[]{pc});
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 19957f14d..c405c0c08 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
@@ -16,6 +16,7 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IWorkspaceRoot;
@@ -32,6 +33,7 @@ import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationMan
import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsMessages;
import org.eclipse.debug.internal.ui.launchConfigurations.LaunchGroupExtension;
import org.eclipse.debug.internal.ui.launchConfigurations.LaunchHistory;
+import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.CheckStateChangedEvent;
import org.eclipse.jface.viewers.CheckboxTableViewer;
@@ -45,18 +47,21 @@ import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.WorkbenchEncoding;
import org.eclipse.ui.dialogs.ContainerSelectionDialog;
import org.eclipse.ui.help.WorkbenchHelp;
+import org.eclipse.ui.ide.IDEEncoding;
/**
* Launch configuration tab used to specify the location a launch configuration
@@ -93,21 +98,21 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
}
};
+ private Button fDefaultEncodingButton;
+ private Button fAltEncodingButton;
+ private Combo fEncodingCombo;
+
/**
* @see ILaunchConfigurationTab#createControl(Composite)
*/
- public void createControl(Composite parent) {
- Font font = parent.getFont();
-
+ public void createControl(Composite parent) {
Composite comp = new Composite(parent, SWT.NONE);
setControl(comp);
WorkbenchHelp.setHelp(getControl(), IDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_COMMON_TAB);
GridLayout topLayout = new GridLayout();
comp.setLayout(topLayout);
- comp.setFont(font);
Group group = new Group(comp, SWT.NONE);
- group.setFont(font);
GridLayout layout = new GridLayout();
layout.numColumns = 3;
group.setLayout(layout);
@@ -117,13 +122,11 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
setLocalRadioButton(new Button(group, SWT.RADIO));
getLocalRadioButton().setText(LaunchConfigurationsMessages.getString("CommonTab.L&ocal_3")); //$NON-NLS-1$
- getLocalRadioButton().setFont(font);
gd = new GridData();
gd.horizontalSpan = 3;
getLocalRadioButton().setLayoutData(gd);
setSharedRadioButton(new Button(group, SWT.RADIO));
getSharedRadioButton().setText(LaunchConfigurationsMessages.getString("CommonTab.S&hared_4")); //$NON-NLS-1$
- getSharedRadioButton().setFont(font);
getSharedRadioButton().addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent evt) {
handleSharedRadioButtonSelected();
@@ -135,7 +138,6 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
setSharedLocationText(new Text(group, SWT.SINGLE | SWT.BORDER));
gd = new GridData(GridData.FILL_HORIZONTAL);
getSharedLocationText().setLayoutData(gd);
- getSharedLocationText().setFont(font);
getSharedLocationText().addModifyListener(fBasicModifyListener);
setSharedLocationButton(createPushButton(group, LaunchConfigurationsMessages.getString("CommonTab.&Browse_6"), null)); //$NON-NLS-1$
@@ -159,21 +161,19 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
favLayout.numColumns = 2;
favLayout.makeColumnsEqualWidth = true;
favComp.setLayout(favLayout);
- favComp.setFont(font);
Label favLabel = new Label(favComp, SWT.HORIZONTAL | SWT.LEFT);
favLabel.setText(LaunchConfigurationsMessages.getString("CommonTab.Display_in_favorites_menu__10")); //$NON-NLS-1$
gd = new GridData(GridData.BEGINNING);
gd.horizontalSpan = 2;
favLabel.setLayoutData(gd);
- favLabel.setFont(font);
fFavoritesTable = CheckboxTableViewer.newCheckList(favComp, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
Control table = fFavoritesTable.getControl();
gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
gd.horizontalSpan = 1;
table.setLayoutData(gd);
- table.setFont(font);
+
fFavoritesTable.setContentProvider(new FavoritesContentProvider());
fFavoritesTable.setLabelProvider(new FavoritesLabelProvider());
fFavoritesTable.addCheckStateListener(
@@ -187,7 +187,46 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
});
createVerticalSpacer(comp, 1);
+ addEncodingBlock(comp);
+
+ createVerticalSpacer(comp, 1);
createLaunchInBackgroundComponent(comp);
+
+ Dialog.applyDialogFont(parent);
+ }
+
+ private void addEncodingBlock(Composite parent) {
+ List allEncodings = IDEEncoding.getIDEEncodings();
+ String defaultEncoding = WorkbenchEncoding.getWorkbenchDefaultEncoding();
+
+ Group group = new Group(parent, SWT.NONE);
+ group.setText(LaunchConfigurationsMessages.getString("CommonTab.1")); //$NON-NLS-1$
+ GridData gd = new GridData(SWT.BEGINNING, SWT.NORMAL, true, false);
+ gd.horizontalSpan = 2;
+ group.setLayoutData(gd);
+ group.setLayout(new GridLayout(2, false));
+
+ fDefaultEncodingButton = createRadioButton(group, LaunchConfigurationsMessages.getString("CommonTab.2") + defaultEncoding + LaunchConfigurationsMessages.getString("CommonTab.3")); //$NON-NLS-1$ //$NON-NLS-2$
+ gd = new GridData(SWT.BEGINNING, SWT.NORMAL, true, false);
+ gd.horizontalSpan = 2;
+ fDefaultEncodingButton.setLayoutData(gd);
+
+ fAltEncodingButton = createRadioButton(group, LaunchConfigurationsMessages.getString("CommonTab.4")); //$NON-NLS-1$
+ fAltEncodingButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
+
+ fEncodingCombo = new Combo(group, SWT.READ_ONLY);
+ fEncodingCombo.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
+ fEncodingCombo.setItems((String[]) allEncodings.toArray(new String[0]));
+
+ SelectionListener listener = new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ updateLaunchConfigurationDialog();
+ fEncodingCombo.setEnabled(fAltEncodingButton.getSelection() == true);
+ }
+ };
+ fAltEncodingButton.addSelectionListener(listener);
+ fDefaultEncodingButton.addSelectionListener(listener);
+ fEncodingCombo.addSelectionListener(listener);
}
/**
@@ -292,12 +331,30 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
updateSharedLocationFromConfig(configuration);
updateFavoritesFromConfig(configuration);
updateLaunchInBackground(configuration);
+ updateEncoding(configuration);
}
protected void updateLaunchInBackground(ILaunchConfiguration configuration) {
fLaunchInBackgroundButton.setSelection(isLaunchInBackground(configuration));
}
+ protected void updateEncoding(ILaunchConfiguration configuration) {
+ String encoding = null;
+ try {
+ encoding = configuration.getAttribute(IDebugUIConstants.ATTR_CONSOLE_ENCODING, (String)null);
+ } catch (CoreException e) {
+ }
+
+ if (encoding != null) {
+ fAltEncodingButton.setSelection(true);
+ fDefaultEncodingButton.setSelection(false);
+ fEncodingCombo.setText(encoding);
+ } else {
+ fDefaultEncodingButton.setSelection(true);
+ fAltEncodingButton.setSelection(false);
+ }
+ }
+
/**
* Returns whether the given configuration should be launched in the background.
*
@@ -476,6 +533,12 @@ public class CommonTab extends AbstractLaunchConfigurationTab {
updateConfigFromLocalShared(configuration);
updateConfigFromFavorites(configuration);
setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, configuration, fLaunchInBackgroundButton.getSelection(), true);
+ String encoding = null;
+ if(fAltEncodingButton.getSelection()) {
+ encoding = fEncodingCombo.getText();
+ }
+ configuration.setAttribute(IDebugUIConstants.ATTR_CONSOLE_ENCODING, encoding);
+
}
/**
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 118096257..70c27fb49 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
@@ -553,6 +553,7 @@ public interface IDebugUIConstants {
* Debug action set identifier (value <code>"org.eclipse.debug.ui.debugActionSet"</code>).
*/
public static final String DEBUG_ACTION_SET= PLUGIN_ID + ".debugActionSet"; //$NON-NLS-1$
+
/**
* Launch action set identifier (value <code>"org.eclipse.debug.ui.launchActionSet"</code>).
@@ -852,6 +853,13 @@ public interface IDebugUIConstants {
*/
public static final String ATTR_CONSOLE_PROCESS = PLUGIN_ID + ".ATTR_CONSOLE_PROCESS"; //$NON-NLS-1$
+ /**
+ * ProcessConsole attribute - references the encoding that the console should use.
+ *
+ * @since 3.1
+ */
+ public static final String ATTR_CONSOLE_ENCODING = PLUGIN_ID + ".ATTR_CONSOLE_ENCODING"; //$NON-NLS-1$
+
// Extension points
/**

Back to the top