1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-03 15:15:25 +02:00
This commit is contained in:
Andrew Gvozdev 2012-04-30 18:47:36 -04:00
parent ab036f4bfc
commit 2212f5ce33
17 changed files with 340 additions and 375 deletions

View file

@ -61,6 +61,10 @@ public class Messages extends NLS {
public static String BuildToolSettingsPage_tool_advancedSettings;
public static String BuildToolSettingsPage_tool_command;
public static String BuildToolSettingsPage_tool_commandLinePattern;
public static String BuiltinSpecsDetectorOptionPage_AllocateConsole;
public static String BuiltinSpecsDetectorOptionPage_Browse;
public static String BuiltinSpecsDetectorOptionPage_ChooseFile;
public static String BuiltinSpecsDetectorOptionPage_CompilerSpecsCommand;
public static String CConfigWizardPage_0;
public static String CConfigWizardPage_1;
public static String CConfigWizardPage_10;
@ -105,6 +109,12 @@ public class Messages extends NLS {
public static String DiscoveryTab_ErrorClearingEntries;
public static String EnvironmentTab_15;
public static String EnvironmentTab_23;
public static String GCCBuildCommandParserOptionPage_CompilerPattern;
public static String GCCBuildCommandParserOptionPage_ContainerForDiscoveredEntries;
public static String GCCBuildCommandParserOptionPage_File;
public static String GCCBuildCommandParserOptionPage_Folder;
public static String GCCBuildCommandParserOptionPage_Project;
public static String GCCBuildCommandParserOptionPage_ResolvePaths;
public static String MacrosBlock_label_delete_all_confirm_message;
public static String MacrosBlock_label_delete_all_confirm_title;
public static String MacrosBlock_label_delete_confirm_message;

View file

@ -304,3 +304,15 @@ NewCfgDialog_5=Import predefined
ToolChainSelectionPage_Description=Select the initial toolchain for this project.
ToolChainSelectionPage_Title=Select Tool Chain
# Language Settings Providers
BuiltinSpecsDetectorOptionPage_AllocateConsole=Allocate console in the Console View
BuiltinSpecsDetectorOptionPage_Browse=Browse...
BuiltinSpecsDetectorOptionPage_ChooseFile=Choose file
BuiltinSpecsDetectorOptionPage_CompilerSpecsCommand=Command to get compiler specs:
GCCBuildCommandParserOptionPage_CompilerPattern=Compiler command pattern:
GCCBuildCommandParserOptionPage_ContainerForDiscoveredEntries=Container to keep discovered entries
GCCBuildCommandParserOptionPage_File=File (use when settings vary for different files)
GCCBuildCommandParserOptionPage_Folder=Folder (use when settings are the same for all files in each folder)
GCCBuildCommandParserOptionPage_Project=Project (use when settings are the same for all files in the project)
GCCBuildCommandParserOptionPage_ResolvePaths=Use heuristics to resolve paths

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2009, 2010 Andrew Gvozdev and others.
* Copyright (c) 2009, 2012 Andrew Gvozdev and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@ -8,15 +8,13 @@
* Contributors:
* Andrew Gvozdev - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.managedbuilder.internal.ui.language.settings.providers;
import org.eclipse.cdt.managedbuilder.internal.ui.Messages;
import org.eclipse.cdt.managedbuilder.language.settings.providers.AbstractBuiltinSpecsDetector;
import org.eclipse.cdt.ui.language.settings.providers.AbstractLanguageSettingProviderOptionPage;
import org.eclipse.cdt.utils.ui.controls.ControlFactory;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.swt.SWT;
@ -37,122 +35,121 @@ import org.eclipse.swt.widgets.Text;
*/
public final class BuiltinSpecsDetectorOptionPage extends AbstractLanguageSettingProviderOptionPage {
private boolean fEditable;
private Text inputCommand;
private Button allocateConsoleCheckBox;
@Override
public void createControl(Composite parent) {
fEditable = parent.isEnabled();
Composite composite = new Composite(parent, SWT.NONE);
{
GridLayout layout = new GridLayout();
layout.numColumns = 2;
layout.marginWidth = 1;
layout.marginHeight = 1;
layout.marginRight = 1;
composite.setLayout(layout);
composite.setLayoutData(new GridData(GridData.FILL_BOTH));
Dialog.applyDialogFont(composite);
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 2;
composite.setLayoutData(gd);
}
AbstractBuiltinSpecsDetector provider = (AbstractBuiltinSpecsDetector) getProvider();
// Compiler specs command
{
Label label = ControlFactory.createLabel(composite, "Command to get compiler specs:");
GridData gd = new GridData();
gd.horizontalSpan = 2;
label.setLayoutData(gd);
label.setEnabled(fEditable);
}
{
inputCommand = ControlFactory.createTextField(composite, SWT.SINGLE | SWT.BORDER);
String command = provider.getCommand();
inputCommand.setText(command!=null ? command : "");
inputCommand.setEnabled(fEditable);
inputCommand.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
String text = inputCommand.getText();
AbstractBuiltinSpecsDetector provider = (AbstractBuiltinSpecsDetector) getProvider();
if (!text.equals(provider.getCommand())) {
AbstractBuiltinSpecsDetector selectedProvider = (AbstractBuiltinSpecsDetector) getProviderWorkingCopy();
selectedProvider.setCommand(text);
refreshItem(selectedProvider);
}
}
});
}
{
Button button = ControlFactory.createPushButton(composite, "Browse...");
button.setEnabled(fEditable);
button.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent evt) {
FileDialog dialog = new FileDialog(getShell(), SWT.NONE);
dialog.setText(/*PreferencesMessages.BuildLogPreferencePage_ChooseLogFile*/"Choose file");
String fileName = inputCommand.getText();
// taking chance that the first word is a compiler path
int space = fileName.indexOf(' ');
if (space > 0) {
fileName = fileName.substring(0, space);
}
IPath folder = new Path(fileName).removeLastSegments(1);
dialog.setFilterPath(folder.toOSString());
String chosenFile = dialog.open();
if (chosenFile != null) {
inputCommand.insert(chosenFile);
}
}
});
}
{
allocateConsoleCheckBox = new Button(composite, SWT.CHECK);
allocateConsoleCheckBox.setText("Allocate console in the Console View");
allocateConsoleCheckBox.setSelection(provider.isConsoleEnabled());
allocateConsoleCheckBox.setEnabled(fEditable);
allocateConsoleCheckBox.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
boolean enabled = allocateConsoleCheckBox.getSelection();
AbstractBuiltinSpecsDetector provider = (AbstractBuiltinSpecsDetector) getProvider();
if (enabled != provider.isConsoleEnabled()) {
AbstractBuiltinSpecsDetector selectedProvider = (AbstractBuiltinSpecsDetector) getProviderWorkingCopy();
selectedProvider.setConsoleEnabled(enabled);
refreshItem(selectedProvider);
}
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
});
}
Composite composite = createCompositeForPageArea(parent);
createCompilerCommandInputControl(composite, provider);
createBrowseButton(composite);
createConsoleCheckbox(composite, provider);
setControl(composite);
}
@Override
public void performApply(IProgressMonitor monitor) throws CoreException {
// handled by LanguageSettingsProviderTab
/**
* Create composite for the page.
*/
private Composite createCompositeForPageArea(Composite parent) {
Composite composite = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout();
layout.numColumns = 2;
layout.marginWidth = 1;
layout.marginHeight = 1;
layout.marginRight = 1;
composite.setLayout(layout);
composite.setLayoutData(new GridData(GridData.FILL_BOTH));
Dialog.applyDialogFont(composite);
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 2;
composite.setLayoutData(gd);
return composite;
}
@Override
public void performDefaults() {
// handled by LanguageSettingsProviderTab
/**
* Create input control for compiler command.
*/
private void createCompilerCommandInputControl(Composite composite, AbstractBuiltinSpecsDetector provider) {
Label label = ControlFactory.createLabel(composite, Messages.BuiltinSpecsDetectorOptionPage_CompilerSpecsCommand);
GridData gd = new GridData();
gd.horizontalSpan = 2;
label.setLayoutData(gd);
label.setEnabled(fEditable);
inputCommand = ControlFactory.createTextField(composite, SWT.SINGLE | SWT.BORDER);
String command = provider.getCommand();
inputCommand.setText(command!=null ? command : ""); //$NON-NLS-1$
inputCommand.setEnabled(fEditable);
inputCommand.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
String text = inputCommand.getText();
AbstractBuiltinSpecsDetector provider = (AbstractBuiltinSpecsDetector) getProvider();
if (!text.equals(provider.getCommand())) {
AbstractBuiltinSpecsDetector selectedProvider = (AbstractBuiltinSpecsDetector) getProviderWorkingCopy();
selectedProvider.setCommand(text);
refreshItem(selectedProvider);
}
}
});
}
/**
* Create "Browse" button.
*/
private void createBrowseButton(Composite composite) {
Button button = ControlFactory.createPushButton(composite, Messages.BuiltinSpecsDetectorOptionPage_Browse);
button.setEnabled(fEditable);
button.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent evt) {
FileDialog dialog = new FileDialog(getShell(), SWT.NONE);
dialog.setText(Messages.BuiltinSpecsDetectorOptionPage_ChooseFile);
String fileName = inputCommand.getText();
// taking chance that the first word is a compiler path
int space = fileName.indexOf(' ');
if (space > 0) {
fileName = fileName.substring(0, space);
}
IPath folder = new Path(fileName).removeLastSegments(1);
dialog.setFilterPath(folder.toOSString());
String chosenFile = dialog.open();
if (chosenFile != null) {
inputCommand.insert(chosenFile);
}
}
});
}
/**
* Create check-box for console.
*/
private void createConsoleCheckbox(Composite composite, AbstractBuiltinSpecsDetector provider) {
allocateConsoleCheckBox = new Button(composite, SWT.CHECK);
allocateConsoleCheckBox.setText(Messages.BuiltinSpecsDetectorOptionPage_AllocateConsole);
allocateConsoleCheckBox.setSelection(provider.isConsoleEnabled());
allocateConsoleCheckBox.setEnabled(fEditable);
allocateConsoleCheckBox.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
boolean enabled = allocateConsoleCheckBox.getSelection();
AbstractBuiltinSpecsDetector provider = (AbstractBuiltinSpecsDetector) getProvider();
if (enabled != provider.isConsoleEnabled()) {
AbstractBuiltinSpecsDetector selectedProvider = (AbstractBuiltinSpecsDetector) getProviderWorkingCopy();
selectedProvider.setConsoleEnabled(enabled);
refreshItem(selectedProvider);
}
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
});
}
}

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2009, 2010 Andrew Gvozdev and others.
* Copyright (c) 2009, 2012 Andrew Gvozdev and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@ -8,14 +8,12 @@
* Contributors:
* Andrew Gvozdev - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.managedbuilder.internal.ui.language.settings.providers;
import org.eclipse.cdt.managedbuilder.internal.ui.Messages;
import org.eclipse.cdt.managedbuilder.language.settings.providers.AbstractBuildCommandParser;
import org.eclipse.cdt.ui.language.settings.providers.AbstractLanguageSettingProviderOptionPage;
import org.eclipse.cdt.utils.ui.controls.ControlFactory;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
@ -31,26 +29,37 @@ import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
/**
* Options page for TODO
* Options page for {@link AbstractBuildCommandParser}.
*
*/
public final class GCCBuildCommandParserOptionPage extends AbstractLanguageSettingProviderOptionPage {
private boolean fEditable;
private Text inputCommand;
private Button expandRelativePathCheckBox;
private Button scopeProjectRadioButton;
private Button scopeFolderRadioButton;
private Button scopeFileRadioButton;
@Override
public void createControl(Composite parent) {
fEditable = parent.isEnabled();
AbstractBuildCommandParser provider = (AbstractBuildCommandParser) getProvider();
final Composite composite = new Composite(parent, SWT.NONE);
Composite composite = new Composite(parent, SWT.NONE);
createCompositeForPageArea(composite);
createCompilerPatternInputControl(provider, composite);
createResourceScopeGroup(provider, composite);
createResolvePathsCheckbox(composite, provider);
setControl(composite);
}
/**
* Create composite for the page.
*/
private void createCompositeForPageArea(final Composite composite) {
{
GridLayout layout = new GridLayout();
layout.numColumns = 2;
@ -65,189 +74,158 @@ public final class GCCBuildCommandParserOptionPage extends AbstractLanguageSetti
gd.horizontalSpan = 2;
composite.setLayoutData(gd);
}
}
AbstractBuildCommandParser provider = (AbstractBuildCommandParser) getProvider();
/**
* Create input control for compiler pattern.
*/
private void createCompilerPatternInputControl(AbstractBuildCommandParser provider, Composite composite) {
Label label = ControlFactory.createLabel(composite, Messages.GCCBuildCommandParserOptionPage_CompilerPattern);
GridData gd = new GridData();
gd.horizontalSpan = 1;
label.setLayoutData(gd);
label.setEnabled(fEditable);
// Compiler specs command
{
Label label = ControlFactory.createLabel(composite, "Compiler command pattern:");
GridData gd = new GridData();
gd.horizontalSpan = 1;
label.setLayoutData(gd);
label.setEnabled(fEditable);
}
inputCommand = ControlFactory.createTextField(composite, SWT.SINGLE | SWT.BORDER);
String compilerPattern = provider.getCompilerPattern();
inputCommand.setText(compilerPattern!=null ? compilerPattern : ""); //$NON-NLS-1$
{
inputCommand = ControlFactory.createTextField(composite, SWT.SINGLE | SWT.BORDER);
String compilerPattern = provider.getCompilerPattern();
inputCommand.setText(compilerPattern!=null ? compilerPattern : "");
gd = new GridData();
gd.horizontalSpan = 1;
gd.grabExcessHorizontalSpace = true;
gd.horizontalAlignment = SWT.FILL;
inputCommand.setLayoutData(gd);
inputCommand.setEnabled(fEditable);
GridData gd = new GridData();
gd.horizontalSpan = 1;
gd.grabExcessHorizontalSpace = true;
gd.horizontalAlignment = SWT.FILL;
inputCommand.setLayoutData(gd);
inputCommand.setEnabled(fEditable);
inputCommand.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
String text = inputCommand.getText();
AbstractBuildCommandParser provider = (AbstractBuildCommandParser) getProvider();
if (!text.equals(provider.getCompilerPattern())) {
AbstractBuildCommandParser selectedProvider = (AbstractBuildCommandParser) getProviderWorkingCopy();
selectedProvider.setCompilerPattern(text);
refreshItem(selectedProvider);
}
inputCommand.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
String text = inputCommand.getText();
AbstractBuildCommandParser provider = (AbstractBuildCommandParser) getProvider();
if (!text.equals(provider.getCompilerPattern())) {
AbstractBuildCommandParser selectedProvider = (AbstractBuildCommandParser) getProviderWorkingCopy();
selectedProvider.setCompilerPattern(text);
refreshItem(selectedProvider);
}
});
}
}
});
}
{
expandRelativePathCheckBox = new Button(composite, SWT.CHECK);
expandRelativePathCheckBox.setText("Use heuristics to resolve paths");
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 2;
expandRelativePathCheckBox.setLayoutData(gd);
/**
* Create check-box for resolving paths.
*/
private void createResolvePathsCheckbox(Composite composite, AbstractBuildCommandParser provider) {
expandRelativePathCheckBox = new Button(composite, SWT.CHECK);
expandRelativePathCheckBox.setText(Messages.GCCBuildCommandParserOptionPage_ResolvePaths);
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 2;
expandRelativePathCheckBox.setLayoutData(gd);
expandRelativePathCheckBox.setSelection(provider.isResolvingPaths());
expandRelativePathCheckBox.setEnabled(fEditable);
expandRelativePathCheckBox.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
boolean enabled = expandRelativePathCheckBox.getSelection();
AbstractBuildCommandParser provider = (AbstractBuildCommandParser) getProvider();
if (enabled != provider.isResolvingPaths()) {
AbstractBuildCommandParser selectedProvider = (AbstractBuildCommandParser) getProviderWorkingCopy();
selectedProvider.setResolvingPaths(enabled);
refreshItem(selectedProvider);
}
expandRelativePathCheckBox.setSelection(provider.isResolvingPaths());
expandRelativePathCheckBox.setEnabled(fEditable);
expandRelativePathCheckBox.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
boolean enabled = expandRelativePathCheckBox.getSelection();
AbstractBuildCommandParser provider = (AbstractBuildCommandParser) getProvider();
if (enabled != provider.isResolvingPaths()) {
AbstractBuildCommandParser selectedProvider = (AbstractBuildCommandParser) getProviderWorkingCopy();
selectedProvider.setResolvingPaths(enabled);
refreshItem(selectedProvider);
}
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
});
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
});
}
/**
* Create group and radio buttons for container to keep discovered entries.
*/
private void createResourceScopeGroup(AbstractBuildCommandParser provider, Composite composite) {
Group resourceScopeGroup = new Group(composite, SWT.NONE);
{
// resourceScopeGroup.setText("Define scope of discovered entries");
// resourceScopeGroup.setText("Apply discovered entries to");
resourceScopeGroup.setText("Scope to keep discovered entries");
resourceScopeGroup.setLayout(new GridLayout(2, false));
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 2;
resourceScopeGroup.setLayoutData(gd);
}
resourceScopeGroup.setText(Messages.GCCBuildCommandParserOptionPage_ContainerForDiscoveredEntries);
resourceScopeGroup.setLayout(new GridLayout(2, false));
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 2;
resourceScopeGroup.setLayoutData(gd);
{
scopeFileRadioButton = new Button(resourceScopeGroup, SWT.RADIO);
scopeFileRadioButton.setText("Per file, use when settings vary for different files");
// applyToResourceRadioButton.setText("File level, use when settings vary for different files");
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 2;
scopeFileRadioButton.setLayoutData(gd);
scopeFileRadioButton = new Button(resourceScopeGroup, SWT.RADIO);
scopeFileRadioButton.setText(Messages.GCCBuildCommandParserOptionPage_File);
gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 2;
scopeFileRadioButton.setLayoutData(gd);
scopeFileRadioButton.setSelection(provider.getResourceScope() == AbstractBuildCommandParser.ResourceScope.FILE);
scopeFileRadioButton.setEnabled(fEditable);
scopeFileRadioButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
boolean enabled = scopeFileRadioButton.getSelection();
AbstractBuildCommandParser provider = (AbstractBuildCommandParser) getProvider();
if (enabled != (provider.getResourceScope() == AbstractBuildCommandParser.ResourceScope.FILE)) {
AbstractBuildCommandParser selectedProvider = (AbstractBuildCommandParser) getProviderWorkingCopy();
selectedProvider.setResourceScope(AbstractBuildCommandParser.ResourceScope.FILE);
refreshItem(selectedProvider);
}
scopeFileRadioButton.setSelection(provider.getResourceScope() == AbstractBuildCommandParser.ResourceScope.FILE);
scopeFileRadioButton.setEnabled(fEditable);
scopeFileRadioButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
boolean enabled = scopeFileRadioButton.getSelection();
AbstractBuildCommandParser provider = (AbstractBuildCommandParser) getProvider();
if (enabled != (provider.getResourceScope() == AbstractBuildCommandParser.ResourceScope.FILE)) {
AbstractBuildCommandParser selectedProvider = (AbstractBuildCommandParser) getProviderWorkingCopy();
selectedProvider.setResourceScope(AbstractBuildCommandParser.ResourceScope.FILE);
refreshItem(selectedProvider);
}
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
});
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
scopeFolderRadioButton = new Button(resourceScopeGroup, SWT.RADIO);
scopeFolderRadioButton.setText(Messages.GCCBuildCommandParserOptionPage_Folder);
gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 2;
scopeFolderRadioButton.setLayoutData(gd);
scopeFolderRadioButton.setSelection(provider.getResourceScope() == AbstractBuildCommandParser.ResourceScope.FOLDER);
scopeFolderRadioButton.setEnabled(fEditable);
scopeFolderRadioButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
boolean enabled = scopeFolderRadioButton.getSelection();
AbstractBuildCommandParser provider = (AbstractBuildCommandParser) getProvider();
if (enabled != (provider.getResourceScope() == AbstractBuildCommandParser.ResourceScope.FOLDER)) {
AbstractBuildCommandParser selectedProvider = (AbstractBuildCommandParser) getProviderWorkingCopy();
selectedProvider.setResourceScope(AbstractBuildCommandParser.ResourceScope.FOLDER);
refreshItem(selectedProvider);
}
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
});
});
scopeProjectRadioButton = new Button(resourceScopeGroup, SWT.RADIO);
scopeProjectRadioButton.setText(Messages.GCCBuildCommandParserOptionPage_Project);
gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 2;
scopeProjectRadioButton.setLayoutData(gd);
}
{
scopeFolderRadioButton = new Button(resourceScopeGroup, SWT.RADIO);
scopeFolderRadioButton.setText("Per folder, use when settings are the same for all files in each folder");
// applyToEnclosingFolderRadioButton.setText("Enclosing folder, use when settings are the same for all files in a folder");
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 2;
scopeFolderRadioButton.setLayoutData(gd);
scopeFolderRadioButton.setSelection(provider.getResourceScope() == AbstractBuildCommandParser.ResourceScope.FOLDER);
scopeFolderRadioButton.setEnabled(fEditable);
scopeFolderRadioButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
boolean enabled = scopeFolderRadioButton.getSelection();
AbstractBuildCommandParser provider = (AbstractBuildCommandParser) getProvider();
if (enabled != (provider.getResourceScope() == AbstractBuildCommandParser.ResourceScope.FOLDER)) {
AbstractBuildCommandParser selectedProvider = (AbstractBuildCommandParser) getProviderWorkingCopy();
selectedProvider.setResourceScope(AbstractBuildCommandParser.ResourceScope.FOLDER);
refreshItem(selectedProvider);
}
scopeProjectRadioButton.setSelection(provider.getResourceScope() == AbstractBuildCommandParser.ResourceScope.PROJECT);
scopeProjectRadioButton.setEnabled(fEditable);
scopeProjectRadioButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
boolean enabled = scopeProjectRadioButton.getSelection();
AbstractBuildCommandParser provider = (AbstractBuildCommandParser) getProvider();
if (enabled != (provider.getResourceScope() == AbstractBuildCommandParser.ResourceScope.PROJECT)) {
AbstractBuildCommandParser selectedProvider = (AbstractBuildCommandParser) getProviderWorkingCopy();
selectedProvider.setResourceScope(AbstractBuildCommandParser.ResourceScope.PROJECT);
refreshItem(selectedProvider);
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
});
}
{
scopeProjectRadioButton = new Button(resourceScopeGroup, SWT.RADIO);
scopeProjectRadioButton.setText("Per project, use when settings are the same for all files in the project");
// applyToProjectRadioButton.setText("Project level, use when settings are the same for all files in the project");
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 2;
scopeProjectRadioButton.setLayoutData(gd);
scopeProjectRadioButton.setSelection(provider.getResourceScope() == AbstractBuildCommandParser.ResourceScope.PROJECT);
scopeProjectRadioButton.setEnabled(fEditable);
scopeProjectRadioButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
boolean enabled = scopeProjectRadioButton.getSelection();
AbstractBuildCommandParser provider = (AbstractBuildCommandParser) getProvider();
if (enabled != (provider.getResourceScope() == AbstractBuildCommandParser.ResourceScope.PROJECT)) {
AbstractBuildCommandParser selectedProvider = (AbstractBuildCommandParser) getProviderWorkingCopy();
selectedProvider.setResourceScope(AbstractBuildCommandParser.ResourceScope.PROJECT);
refreshItem(selectedProvider);
}
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
});
}
setControl(composite);
}
@Override
public void performApply(IProgressMonitor monitor) throws CoreException {
// handled by LanguageSettingsProviderTab
}
@Override
public void performDefaults() {
// handled by LanguageSettingsProviderTab
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
});
}
}

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2010, 2011 Andrew Gvozdev and others.
* Copyright (c) 2010, 2012 Andrew Gvozdev and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@ -8,16 +8,18 @@
* Contributors:
* Andrew Gvozdev - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.managedbuilder.internal.ui.language.settings.providers;
import java.net.URL;
import org.eclipse.cdt.internal.ui.buildconsole.CBuildConsole;
import org.eclipse.cdt.managedbuilder.language.settings.providers.AbstractBuiltinSpecsDetector;
import org.eclipse.cdt.ui.language.settings.providers.LanguageSettingsProvidersImages;
/**
* Console adapter for {@link AbstractBuiltinSpecsDetector}.
*/
public class ScannerDiscoveryConsole extends CBuildConsole {
/**
* {@inheritDoc}
* @param consoleId - a console ID is expected here which then is used as menu context ID.
@ -28,12 +30,10 @@ public class ScannerDiscoveryConsole extends CBuildConsole {
@Override
public void init(String consoleId, String name, URL defaultIconUrl) {
URL iconUrl = LanguageSettingsProvidersImages.getImageUrl(consoleId);
if (iconUrl==null) {
if (iconUrl == null) {
iconUrl = defaultIconUrl;
}
super.init(consoleId, name, iconUrl);
}
}

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2011, 2011 Andrew Gvozdev and others.
* Copyright (c) 2011, 2012 Andrew Gvozdev and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@ -8,7 +8,6 @@
* Contributors:
* Andrew Gvozdev - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.managedbuilder.internal.ui.language.settings.providers;
import java.io.IOException;
@ -16,6 +15,7 @@ import java.net.URL;
import org.eclipse.cdt.core.ConsoleOutputStream;
import org.eclipse.cdt.internal.core.ICConsole;
import org.eclipse.cdt.managedbuilder.language.settings.providers.AbstractBuiltinSpecsDetector;
import org.eclipse.cdt.ui.CDTSharedImages;
import org.eclipse.cdt.ui.language.settings.providers.LanguageSettingsProvidersImages;
import org.eclipse.core.resources.IProject;
@ -29,22 +29,17 @@ import org.eclipse.ui.console.MessageConsole;
import org.eclipse.ui.console.MessageConsoleStream;
/**
* TODO
* Console adapter for global {@link AbstractBuiltinSpecsDetector}.
*
* Note that this console is not colored.
*
*/
public class ScannerDiscoveryGlobalConsole implements ICConsole {
private MessageConsole console;
private ConsoleOutputStreamAdapter stream;
private class ConsoleOutputStreamAdapter extends ConsoleOutputStream {
private MessageConsoleStream fConsoleStream;
private boolean isOpen;
public ConsoleOutputStreamAdapter(MessageConsoleStream stream) {
fConsoleStream = stream;
isOpen = true;
}
@Override
public void write(int arg0) throws IOException {
@ -63,7 +58,6 @@ public class ScannerDiscoveryGlobalConsole implements ICConsole {
@Override
public void close() throws IOException {
fConsoleStream.close();
isOpen = false;
}
}
@ -118,8 +112,6 @@ public class ScannerDiscoveryGlobalConsole implements ICConsole {
console.activate();
consoleManager.addConsoles(new IConsole[]{ console });
}
// stream = new ConsoleOutputStreamAdapter(console.newMessageStream());
}
}

View file

@ -12,6 +12,7 @@
package org.eclipse.cdt.managedbuilder.ui.preferences;
import org.eclipse.cdt.core.settings.model.ICResourceDescription;
import org.eclipse.cdt.internal.ui.language.settings.providers.LanguageSettingsProvidersPage;
import org.eclipse.cdt.managedbuilder.internal.ui.Messages;
import org.eclipse.cdt.ui.newui.AbstractCPropertyTab;
import org.eclipse.cdt.ui.newui.CDTPrefUtil;
@ -122,7 +123,7 @@ public class PropertyPageDefsTab extends AbstractCPropertyTab {
show_mng.setSelection(!CDTPrefUtil.getBool(CDTPrefUtil.KEY_NOMNG));
show_tool.setSelection(!CDTPrefUtil.getBool(CDTPrefUtil.KEY_NOTOOLM));
show_exp.setSelection(CDTPrefUtil.getBool(CDTPrefUtil.KEY_EXPORT));
show_providers_tab.setSelection(!CDTPrefUtil.getBool(CDTPrefUtil.KEY_NO_SHOW_PROVIDERS));
show_providers_tab.setSelection(!CDTPrefUtil.getBool(LanguageSettingsProvidersPage.KEY_NO_SHOW_PROVIDERS));
show_tipbox.setSelection(CDTPrefUtil.getBool(CDTPrefUtil.KEY_TIPBOX));
switch (CDTPrefUtil.getInt(CDTPrefUtil.KEY_DISC_NAMES)) {
@ -146,7 +147,7 @@ public class PropertyPageDefsTab extends AbstractCPropertyTab {
CDTPrefUtil.setBool(CDTPrefUtil.KEY_NOMNG, !show_mng.getSelection());
CDTPrefUtil.setBool(CDTPrefUtil.KEY_NOTOOLM, !show_tool.getSelection());
CDTPrefUtil.setBool(CDTPrefUtil.KEY_EXPORT, show_exp.getSelection());
CDTPrefUtil.setBool(CDTPrefUtil.KEY_NO_SHOW_PROVIDERS, !show_providers_tab.getSelection());
CDTPrefUtil.setBool(LanguageSettingsProvidersPage.KEY_NO_SHOW_PROVIDERS, !show_providers_tab.getSelection());
CDTPrefUtil.setBool(CDTPrefUtil.KEY_TIPBOX, show_tipbox.getSelection());
int x = 0;
if (b_1.getSelection()) x = 1;

View file

@ -11,6 +11,7 @@
package org.eclipse.cdt.managedbuilder.ui.preferences;
import org.eclipse.cdt.core.settings.model.ICResourceDescription;
import org.eclipse.cdt.internal.ui.language.settings.providers.LanguageSettingsProvidersPage;
import org.eclipse.cdt.managedbuilder.internal.ui.Messages;
import org.eclipse.cdt.ui.newui.AbstractCPropertyTab;
import org.eclipse.cdt.ui.newui.CDTPrefUtil;
@ -22,7 +23,7 @@ import org.eclipse.swt.widgets.Composite;
/**
* @since 5.1
*
*
* @noextend This class is not intended to be subclassed by clients.
* @noinstantiate This class is not intended to be instantiated by clients.
*/
@ -38,11 +39,11 @@ public class WizardDefaultsTab extends AbstractCPropertyTab {
usercomp.setLayout(new GridLayout(1, false));
show_sup = new Button(usercomp, SWT.CHECK);
show_sup.setText(Messages.WizardDefaultsTab_0);
show_sup.setText(Messages.WizardDefaultsTab_0);
show_sup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
show_oth = new Button(usercomp, SWT.CHECK);
show_oth.setText(Messages.WizardDefaultsTab_1);
show_oth.setText(Messages.WizardDefaultsTab_1);
show_oth.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
checkBoxTryNewSD = new Button(usercomp, SWT.CHECK);
@ -51,16 +52,16 @@ public class WizardDefaultsTab extends AbstractCPropertyTab {
show_sup.setSelection(!CDTPrefUtil.getBool(CDTPrefUtil.KEY_NOSUPP));
show_oth.setSelection(CDTPrefUtil.getBool(CDTPrefUtil.KEY_OTHERS));
checkBoxTryNewSD.setSelection(CDTPrefUtil.getBool(CDTPrefUtil.KEY_NEWSD));
checkBoxTryNewSD.setSelection(CDTPrefUtil.getBool(LanguageSettingsProvidersPage.KEY_NEWSD));
}
@Override
protected void performOK() {
CDTPrefUtil.setBool(CDTPrefUtil.KEY_NOSUPP, !show_sup.getSelection());
CDTPrefUtil.setBool(CDTPrefUtil.KEY_OTHERS, show_oth.getSelection());
CDTPrefUtil.setBool(CDTPrefUtil.KEY_NEWSD, checkBoxTryNewSD.getSelection());
CDTPrefUtil.setBool(LanguageSettingsProvidersPage.KEY_NEWSD, checkBoxTryNewSD.getSelection());
}
@Override
protected void performDefaults() {
show_sup.setSelection(true);

View file

@ -16,6 +16,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.cdt.internal.ui.language.settings.providers.LanguageSettingsProvidersPage;
import org.eclipse.cdt.managedbuilder.core.IToolChain;
import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager;
import org.eclipse.cdt.managedbuilder.internal.ui.Messages;
@ -61,8 +62,8 @@ public class NewMakeProjFromExistingPage extends WizardPage {
IWorkspaceRoot root;
List tcList;
Map<String, IToolChain> tcMap = new HashMap<String, IToolChain>();
/**
* True if the user entered a non-empty string in the project name field. In that state, we avoid
* automatically filling the project name field with the directory name (last segment of the location) he
@ -102,9 +103,9 @@ public class NewMakeProjFromExistingPage extends WizardPage {
// restore settings from preferences
boolean isTryNewSD = true;
boolean contains = CUIPlugin.getDefault().getPreferenceStore().contains(CDTPrefUtil.KEY_NEWSD);
boolean contains = CUIPlugin.getDefault().getPreferenceStore().contains(LanguageSettingsProvidersPage.KEY_NEWSD);
if (contains) {
isTryNewSD = CDTPrefUtil.getBool(CDTPrefUtil.KEY_NEWSD);
isTryNewSD = CDTPrefUtil.getBool(LanguageSettingsProvidersPage.KEY_NEWSD);
}
checkBoxTryNewSD.setSelection(isTryNewSD);
@ -130,7 +131,7 @@ public class NewMakeProjFromExistingPage extends WizardPage {
}
}
});
// Note that the modify listener gets called not only when the user enters text but also when we
// programatically set the field. This listener only gets called when the user modifies the field
projectName.addKeyListener(new KeyAdapter() {
@ -140,17 +141,17 @@ public class NewMakeProjFromExistingPage extends WizardPage {
}
});
}
/**
* Validates the contents of the page, setting the page error message and Finish button state accordingly
*
*
* @since 8.1
*/
protected void validatePage() {
// Don't generate an error if project name or location is empty, but do disable Finish button.
// Don't generate an error if project name or location is empty, but do disable Finish button.
String msg = null;
boolean complete = true; // ultimately treated as false if msg != null
String name = getProjectName();
if (name.isEmpty()) {
complete = false;
@ -278,11 +279,11 @@ public class NewMakeProjFromExistingPage extends WizardPage {
tcList = new List(group, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL);
GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
// Base the List control size on the number of total toolchains, up to 15 entries, but allocate for no
// less than five (small list boxes look strange). A vertical scrollbar will appear as needed
updateTcMap(false);
gd.heightHint = tcList.getItemHeight() * (1 + Math.max(Math.min(tcMap.size(), 15), 5)); // +1 for <none>
gd.heightHint = tcList.getItemHeight() * (1 + Math.max(Math.min(tcMap.size(), 15), 5)); // +1 for <none>
tcList.setLayoutData(gd);
tcList.add(Messages.NewMakeProjFromExistingPage_11);
@ -300,11 +301,11 @@ public class NewMakeProjFromExistingPage extends WizardPage {
supportedOnly.setSelection(true);
updateTcWidget(true);
}
}
/**
* Load our map and with the suitable toolchains and then populate the List control
*
*
* @param supportedOnly
* if true, consider only supported toolchains
*/
@ -323,7 +324,7 @@ public class NewMakeProjFromExistingPage extends WizardPage {
/**
* Load our map with the suitable toolchains.
*
*
* @param supportedOnly
* if true, add only toolchains that are available and which support the host platform
*/

View file

@ -52,11 +52,15 @@ public class ScannerDiscoveryLegacySupport {
private static Map<String, String> legacyProfiles = null;
/**
* Get preferences node for org.eclipse.cdt.core.
*/
private static Preferences getPreferences(IProject project) {
if (project == null)
if (project == null) {
return InstanceScope.INSTANCE.getNode(PREFERENCES_QUALIFIER).node(LANGUAGE_SETTINGS_PROVIDERS_NODE);
else
} else {
return new LocalProjectScope(project).getNode(PREFERENCES_QUALIFIER).node(LANGUAGE_SETTINGS_PROVIDERS_NODE);
}
}
/**

View file

@ -65,9 +65,6 @@ public class LanguageSettingEntryDialog extends AbstractPropertyDialog {
private Button checkBoxBuiltIn;
private Button checkBoxFramework;
private Button checkBoxAllCfgs;
private Button checkBoxAllLangs;
private Button buttonOk;
private Button buttonCancel;
@ -393,26 +390,6 @@ public class LanguageSettingEntryDialog extends AbstractPropertyDialog {
}
});
// Separator
@SuppressWarnings("unused")
Label separator = new Label(compCheckboxes, SWT.SEPARATOR | SWT.HORIZONTAL | SWT.SHADOW_NONE);
// Checkbox "All configurations"
checkBoxAllCfgs = new Button(compCheckboxes, SWT.CHECK);
checkBoxAllCfgs.setText(Messages.IncludeDialog_2);
gd = new GridData(GridData.FILL_HORIZONTAL);
checkBoxAllCfgs.setLayoutData(gd);
checkBoxAllCfgs.setEnabled(false);
checkBoxAllCfgs.setToolTipText("Not implemented yet");
// Checkbox "All languages"
checkBoxAllLangs = new Button(compCheckboxes, SWT.CHECK);
checkBoxAllLangs.setText(Messages.IncludeDialog_3);
gd = new GridData(GridData.FILL_HORIZONTAL);
checkBoxAllLangs.setLayoutData(gd);
checkBoxAllLangs.setEnabled(false);
checkBoxAllLangs.setToolTipText("Not implemented yet");
// Buttons
Composite compButtons = new Composite (parent, SWT.FILL);
gd = new GridData(SWT.RIGHT, SWT.BOTTOM, false, false);
@ -516,8 +493,6 @@ public class LanguageSettingEntryDialog extends AbstractPropertyDialog {
String name = inputName.getText();
text1 = name;
String value = inputValue.getText();
check1 = checkBoxAllCfgs.getSelection();
check3 = checkBoxAllLangs.getSelection();
result = true;
int flagBuiltIn = checkBoxBuiltIn.getSelection() ? ICSettingEntry.BUILTIN : 0;

View file

@ -346,7 +346,6 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
final TreeColumn columnLanguages = new TreeColumn(treeLanguages, SWT.NONE);
columnLanguages.setText(Messages.AbstractLangsListTab_Languages);
// TODO AG - why 200?
columnLanguages.setWidth(200);
columnLanguages.setResizable(false);
columnLanguages.setToolTipText(Messages.AbstractLangsListTab_Languages);
@ -354,7 +353,6 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
treeLanguages.addPaintListener(new PaintListener() {
@Override
public void paintControl(PaintEvent e) {
// TODO AG - why 5?
int x = treeLanguages.getBounds().width - 5;
if (columnLanguages.getWidth() != x) {
columnLanguages.setWidth(x);
@ -383,7 +381,6 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
});
treeCol.setText(Messages.LanguageSettingsProviderTab_SettingEntries);
// TODO AG - why 200?
treeCol.setWidth(200);
treeCol.setResizable(false);
treeCol.setToolTipText(Messages.LanguageSettingsProviderTab_SettingEntriesTooltip);
@ -579,7 +576,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
ILanguageSettingsProvider provider = getSelectedProvider();
boolean isAllowedEditing = provider instanceof ILanguageSettingsEditableProvider
&& LanguageSettingsProviderAssociationManager.isAllowedToEditEntries(provider);
if (!isAllowedEditing) {
if (provider != null && !isAllowedEditing) {
status = new Status(IStatus.INFO, CUIPlugin.PLUGIN_ID, Messages.LanguageSettingsEntriesTab_Entries_Not_Editable);
}
}
@ -693,6 +690,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
treeEntries.showItem(entryItem);
treeEntries.select(entryItem);
}
updateStatusLine();
}
}
@ -1115,7 +1113,7 @@ providers: for (ILanguageSettingsProvider provider : oldProviders) {
@Override
public boolean canBeVisible() {
if (CDTPrefUtil.getBool(CDTPrefUtil.KEY_NO_SHOW_PROVIDERS)) {
if (CDTPrefUtil.getBool(LanguageSettingsProvidersPage.KEY_NO_SHOW_PROVIDERS)) {
return false;
}

View file

@ -19,8 +19,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
@ -73,7 +71,6 @@ import org.eclipse.cdt.internal.ui.newui.StatusMessageLine;
*/
public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
private static final String WORKSPACE_PREFERENCE_PAGE = "org.eclipse.cdt.ui.preferences.BuildSettingProperties"; //$NON-NLS-1$
// TODO: generalize
private static final String TEST_PLUGIN_ID_PATTERN = "org.eclipse.cdt.*.tests.*"; //$NON-NLS-1$
private static final String CLEAR_STR = Messages.LanguageSettingsProviderTab_Clear;
@ -211,8 +208,6 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
}
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(provider);
Assert.isTrue(rawProvider instanceof ILanguageSettingsEditableProvider);
ILanguageSettingsEditableProvider newProvider = LanguageSettingsManager.getProviderCopy((ILanguageSettingsEditableProvider)rawProvider, true);
if (newProvider != null) {
replaceSelectedProvider(newProvider);
@ -352,13 +347,6 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
return (List)Arrays.asList(tableProvidersViewer.getCheckedElements());
}
/**
* Shortcut for getting the current resource for the property page.
*/
private IResource getResource() {
return (IResource)page.getElement();
}
/**
* Replace the selected provider in UI and in configuration.
*/
@ -529,15 +517,12 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
public void widgetSelected(SelectionEvent e) {
boolean inProjectArea = projectStorageCheckBox.getSelection();
ILanguageSettingsProvider newProvider = getWorkingCopy(getSelectedProvider().getId());
Assert.isTrue(newProvider instanceof LanguageSettingsSerializableProvider);
LanguageSettingsManager.setStoringEntriesInProjectArea((LanguageSettingsSerializableProvider) newProvider, inProjectArea);
replaceSelectedProvider(newProvider);
createOptionsPage(newProvider);
displaySelectedOptionPage();
updateButtons();
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
@ -550,7 +535,6 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
*/
private void createLinkToPreferences(final Composite parent, int span) {
linkToWorkspacePreferences = new Link(parent, SWT.NONE);
// NLS.bind(Messages.GeneralMessages_NonAccessibleID, provider.getId());
String href = NLS.bind("<a href=\"workspace\">{0}</a>", Messages.LanguageSettingsProviderTab_WorkspaceSettings); //$NON-NLS-1$
linkToWorkspacePreferences.setText(NLS.bind(Messages.LanguageSettingsProviderTab_OptionsCanBeChangedInPreferencesDiscoveryTab, href));
GridData gd = new GridData();
@ -1177,7 +1161,7 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
@Override
public boolean canBeVisible() {
if (CDTPrefUtil.getBool(CDTPrefUtil.KEY_NO_SHOW_PROVIDERS)) {
if (CDTPrefUtil.getBool(LanguageSettingsProvidersPage.KEY_NO_SHOW_PROVIDERS)) {
return false;
}

View file

@ -24,6 +24,11 @@ import org.eclipse.cdt.ui.newui.ICPropertyTab;
* @noinstantiate This class is not intended to be instantiated by clients.
*/
public class LanguageSettingsProvidersPage extends AbstractPage {
/** @since 5.4 */ // temporary key, subject to removal
public static final String KEY_NO_SHOW_PROVIDERS = "properties.providers.tab.disable"; //$NON-NLS-1$
/** @since 5.4 */ // temporary key, subject to removal
public static final String KEY_NEWSD = "wizard.try.new.sd.enable"; //$NON-NLS-1$
private static boolean isLanguageSettingsProvidersEnabled = false;
private static IProject project = null;

View file

@ -10,7 +10,8 @@
*******************************************************************************/
package org.eclipse.cdt.ui.language.settings.providers;
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsProvider;
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager;
@ -35,7 +36,6 @@ public abstract class AbstractLanguageSettingProviderOptionPage extends Abstract
* @param providerId - ID of the provider the options page is for.
*/
public void init(AbstractCPropertyTab providerTab, String providerId) {
Assert.isTrue(providerTab instanceof LanguageSettingsProviderTab);
this.providerTab = (LanguageSettingsProviderTab) providerTab;
this.providerId = providerId;
}
@ -66,4 +66,14 @@ public abstract class AbstractLanguageSettingProviderOptionPage extends Abstract
providerTab.refreshItem(provider);
}
@Override
public void performApply(IProgressMonitor monitor) throws CoreException {
// normally should be handled by LanguageSettingsProviderTab
}
@Override
public void performDefaults() {
// normally should be handled by LanguageSettingsProviderTab
}
}

View file

@ -33,15 +33,11 @@ import org.eclipse.cdt.internal.ui.workingsets.WorkingSetConfigurationManager;
public class CDTPrefUtil {
// boolean keys (KEY_NO-s are to be inverted !)
public static final String KEY_NOSUPP = "wizard.show.unsupported.disable"; //$NON-NLS-1$
/** @since 5.4 */ // AG FIXME - remove before CDT Juno release
public static final String KEY_NEWSD = "wizard.try.new.sd.enable"; //$NON-NLS-1$
public static final String KEY_OTHERS = "wizard.group.others.enable"; //$NON-NLS-1$
public static final String KEY_NOMNG = "properties.manage.config.disable"; //$NON-NLS-1$
public static final String KEY_DTREE = "properties.data.hierarchy.enable"; //$NON-NLS-1$
public static final String KEY_NOTOOLM = "properties.toolchain.modification.disable"; //$NON-NLS-1$
public static final String KEY_EXPORT = "properties.export.page.enable"; //$NON-NLS-1$
/** @since 5.4 */
public static final String KEY_NO_SHOW_PROVIDERS = "properties.providers.tab.disable"; //$NON-NLS-1$
/** @since 5.2 Show the "Include Files" settings entry tab */
public static final String KEY_SHOW_INC_FILES = "properties.includefiles.page.enable"; //$NON-NLS-1$
/** @since 5.2 */

View file

@ -50,6 +50,7 @@ import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.cdt.ui.newui.CDTPrefUtil;
import org.eclipse.cdt.ui.newui.PageLayout;
import org.eclipse.cdt.internal.ui.language.settings.providers.LanguageSettingsProvidersPage;
import org.eclipse.cdt.internal.ui.newui.Messages;
public class CDTMainWizardPage extends WizardNewProjectCreationPage implements IWizardItemsListListener {
@ -164,9 +165,9 @@ import org.eclipse.cdt.internal.ui.newui.Messages;
// restore settings from preferences
boolean isTryNewSD = true;
boolean contains = CUIPlugin.getDefault().getPreferenceStore().contains(CDTPrefUtil.KEY_NEWSD);
boolean contains = CUIPlugin.getDefault().getPreferenceStore().contains(LanguageSettingsProvidersPage.KEY_NEWSD);
if (contains) {
isTryNewSD = CDTPrefUtil.getBool(CDTPrefUtil.KEY_NEWSD);
isTryNewSD = CDTPrefUtil.getBool(LanguageSettingsProvidersPage.KEY_NEWSD);
}
checkBoxTryNewSD.setSelection(isTryNewSD);
}