1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00
This commit is contained in:
Andrew Gvozdev 2012-04-26 09:00:26 -04:00
parent 89a9259918
commit b4b53b3bc6
6 changed files with 391 additions and 508 deletions

View file

@ -1,3 +1,13 @@
/*******************************************************************************
* 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
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Andrew Gvozdev - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.internal.ui.language.settings.providers;
import org.eclipse.cdt.ui.dialogs.AbstractCOptionPage;

View file

@ -95,14 +95,15 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
private static final int BUTTON_MOVE_UP = 4;
private static final int BUTTON_MOVE_DOWN = 5;
private final static String[] BUTTON_LABELS = {
ADD_STR,
EDIT_STR,
DEL_STR,
null,
MOVEUP_STR,
MOVEDOWN_STR,
};
private final static String[] BUTTON_LABELS = new String[6];
{
BUTTON_LABELS[BUTTON_ADD] = ADD_STR;
BUTTON_LABELS[BUTTON_EDIT] = EDIT_STR;
BUTTON_LABELS[BUTTON_DELETE] = DEL_STR;
BUTTON_LABELS[BUTTON_MOVE_UP] = MOVEUP_STR;
BUTTON_LABELS[BUTTON_MOVE_DOWN] = MOVEDOWN_STR;
}
private static final String CLEAR_STR = Messages.LanguageSettingsProviderTab_Clear;
private Map<String, List<ILanguageSettingsProvider>> initialProvidersMap = new HashMap<String, List<ILanguageSettingsProvider>>();
@ -311,8 +312,21 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
return provider.getSettingEntries(cfgDescription, rc, currentLanguageId);
}
private void createTreeForLanguages(Composite comp) {
treeLanguages = new Tree(comp, SWT.BORDER | SWT.SINGLE | SWT.H_SCROLL);
private void trackInitialSettings() {
if (!page.isForPrefs()) {
ICConfigurationDescription[] cfgDescriptions = page.getCfgsEditable();
for (ICConfigurationDescription cfgDescription : cfgDescriptions) {
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
String cfgId = cfgDescription.getId();
List<ILanguageSettingsProvider> initialProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
initialProvidersMap.put(cfgId, initialProviders);
}
}
}
}
private void createTreeForLanguages(Composite parent) {
treeLanguages = new Tree(parent, SWT.BORDER | SWT.SINGLE | SWT.H_SCROLL);
treeLanguages.setLayoutData(new GridData(GridData.FILL_VERTICAL));
treeLanguages.setHeaderVisible(true);
@ -347,8 +361,8 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
});
}
private void createTreeForEntries(Composite comp) {
treeEntries = new Tree(comp, SWT.BORDER | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
private void createTreeForEntries(Composite parent) {
treeEntries = new Tree(parent, SWT.BORDER | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
treeEntries.setLayoutData(new GridData(GridData.FILL_VERTICAL));
treeEntries.setHeaderVisible(true);
treeEntries.setLinesVisible(true);
@ -394,43 +408,24 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
}
private void trackInitialSettings() {
if (page.isForPrefs()) {
// AG TODO
} else {
ICConfigurationDescription[] cfgDescriptions = page.getCfgsEditable();
for (ICConfigurationDescription cfgDescription : cfgDescriptions) {
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
String cfgId = cfgDescription.getId();
List<ILanguageSettingsProvider> initialProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
initialProvidersMap.put(cfgId, initialProviders);
}
}
}
private void createSashForm() {
sashFormEntries = new SashForm(usercomp,SWT.HORIZONTAL);
GridData gd = new GridData(GridData.FILL_BOTH);
gd.horizontalSpan = 2;
gd.grabExcessVerticalSpace = true;
sashFormEntries.setLayoutData(gd);
GridLayout layout = new GridLayout();
sashFormEntries.setLayout(layout);
createTreeForLanguages(sashFormEntries);
createTreeForEntries(sashFormEntries);
sashFormEntries.setWeights(DEFAULT_ENTRIES_SASH_WEIGHTS);
}
@Override
public void createControls(Composite parent) {
super.createControls(parent);
currentLanguageId = null;
usercomp.setLayout(new GridLayout());
GridData gd = (GridData) usercomp.getLayoutData();
// Discourage settings entry table from trying to show all its items at once, see bug 264330
gd.heightHint =1;
if (page instanceof Page_LanguageSettingsProviders) {
masterPropertyPage = (Page_LanguageSettingsProviders) page;
}
trackInitialSettings();
createSashForm();
// Status line
fStatusLine = new StatusMessageLine(usercomp, SWT.LEFT, 2);
// "Show built-ins" checkbox
private void createBuiltInsCheckBox() {
builtInCheckBox = setupCheck(usercomp, Messages.AbstractLangsListTab_ShowBuiltin, 1, GridData.FILL_HORIZONTAL);
builtInCheckBox.addSelectionListener(new SelectionAdapter() {
@Override
@ -440,8 +435,9 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
});
builtInCheckBox.setSelection(true);
builtInCheckBox.setEnabled(true);
}
// "I want to try new scanner discovery" temporary checkbox
private void createEnableProvidersCheckBox() {
enableProvidersCheckBox = setupCheck(usercomp, Messages.CDTMainWizardPage_TrySD90, 2, GridData.FILL_HORIZONTAL);
enableProvidersCheckBox.addSelectionListener(new SelectionAdapter() {
@Override
@ -473,28 +469,34 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
// display but disable the checkbox for file/folder resource
enableProvidersCheckBox.setEnabled(page.isForProject());
enableTabControls(enableProvidersCheckBox.getSelection());
}
@Override
public void createControls(Composite parent) {
super.createControls(parent);
currentLanguageId = null;
usercomp.setLayout(new GridLayout());
GridData gd = (GridData) usercomp.getLayoutData();
// Discourage settings entry table from trying to show all its items at once, see bug 264330
gd.heightHint =1;
if (page instanceof Page_LanguageSettingsProviders) {
masterPropertyPage = (Page_LanguageSettingsProviders) page;
}
trackInitialSettings();
createSashForm();
fStatusLine = new StatusMessageLine(usercomp, SWT.LEFT, 2);
createBuiltInsCheckBox();
// "I want to try new scanner discovery" temporary checkbox
createEnableProvidersCheckBox();
initButtons(BUTTON_LABELS);
updateData(getResDesc());
}
private void createSashForm() {
sashFormEntries = new SashForm(usercomp,SWT.HORIZONTAL);
GridData gd = new GridData(GridData.FILL_BOTH);
gd.horizontalSpan = 2;
gd.grabExcessVerticalSpace = true;
sashFormEntries.setLayoutData(gd);
GridLayout layout = new GridLayout();
sashFormEntries.setLayout(layout);
createTreeForLanguages(sashFormEntries);
createTreeForEntries(sashFormEntries);
sashFormEntries.setWeights(DEFAULT_ENTRIES_SASH_WEIGHTS);
}
private void enableTabControls(boolean enable) {
sashFormEntries.setEnabled(enable);
treeLanguages.setEnabled(enable);
@ -778,16 +780,6 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
return provider;
}
private ICLanguageSettingEntry doEdit(ICLanguageSettingEntry ent) {
ICLanguageSettingEntry selectedEntry = getSelectedEntry();
ICConfigurationDescription cfgDecsription = getConfigurationDescription();
LanguageSettingEntryDialog dlg = new LanguageSettingEntryDialog(usercomp.getShell(), cfgDecsription, selectedEntry);
if (dlg.open()) {
return dlg.getEntries()[0];
}
return null;
}
private void performEdit(ILanguageSettingsProvider selectedProvider, ICLanguageSettingEntry selectedEntry) {
if (selectedProvider instanceof ILanguageSettingsEditableProvider && selectedEntry != null) {
ICConfigurationDescription cfgDecsription = getConfigurationDescription();
@ -1107,15 +1099,4 @@ providers: for (ILanguageSettingsProvider provider : oldProviders) {
return true;
}
/**
* Shortcut for setting setting entries for current context.
*
*/
private void setSettingEntries(ILanguageSettingsEditableProvider provider, List<ICLanguageSettingEntry> entries) {
ICConfigurationDescription cfgDescription = getConfigurationDescription();
IResource rc = getResource();
if (currentLanguageId!=null)
provider.setSettingEntries(cfgDescription, rc, currentLanguageId, entries);
}
}

View file

@ -1,3 +1,13 @@
/*******************************************************************************
* 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
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Andrew Gvozdev - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.internal.ui.language.settings.providers;
import java.net.MalformedURLException;

View file

@ -8,7 +8,6 @@
* Contributors:
* Andrew Gvozdev - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.internal.ui.language.settings.providers;
import java.util.ArrayList;
@ -23,6 +22,8 @@ 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;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.CheckStateChangedEvent;
@ -74,38 +75,17 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
// TODO: generalize
private static final String TEST_PLUGIN_ID_PATTERN = "org.eclipse.cdt.*.tests.*"; //$NON-NLS-1$
// private static final String RENAME_STR = "Rename...";
// private static final String RUN_STR = Messages.LanguageSettingsProviderTab_Run;
private static final String CLEAR_STR = Messages.LanguageSettingsProviderTab_Clear;
private static final String RESET_STR = "Reset";
// private static final int BUTTON_RENAME = 0;
// private static final int BUTTON_RUN = 0;
private static final int BUTTON_CLEAR = 0;
private static final int BUTTON_RESET = 1;
// there is a separator instead of button #2
private static final int BUTTON_MOVE_UP = 3;
private static final int BUTTON_MOVE_DOWN = 4;
private final static String[] BUTTON_LABELS_PROJECT = {
// RENAME_STR,
// RUN_STR,
CLEAR_STR,
RESET_STR,
null,
MOVEUP_STR,
MOVEDOWN_STR,
};
private final static String[] BUTTON_LABELS_PREF = {
// RENAME_STR,
// RUN_STR,
CLEAR_STR,
RESET_STR,
};
private static final int[] DEFAULT_CONFIGURE_SASH_WEIGHTS = new int[] { 50, 50 };
private SashForm sashFormConfigure;
private SashForm sashFormProviders;
private Table tableProviders;
private CheckboxTableViewer tableProvidersViewer;
@ -117,7 +97,7 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
private StatusMessageLine fStatusLine;
private Button sharedProviderCheckBox = null;
private Link linkWorkspacePreferences = null;
private Link linkToWorkspacePreferences = null;
private Button projectStorageCheckBox = null;
private Page_LanguageSettingsProviders masterPropertyPage = null;
@ -152,6 +132,7 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
ILanguageSettingsEditableProvider newProvider = LanguageSettingsManager.getProviderCopy((ILanguageSettingsEditableProvider)rawProvider, true);
if (newProvider != null) {
replaceSelectedProvider(newProvider);
// Warning: Do not initializeOptionsPage() here as the method can be called from an existing page
}
return newProvider;
@ -160,16 +141,22 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
private boolean isReconfiguredForProject(ILanguageSettingsProvider provider) {
String id = provider.getId();
// check for the provider mismatch in configuration list vs. default list from the tool-chain
ICConfigurationDescription cfgDescription = getConfigurationDescription();
String[] defaultIds = ((ILanguageSettingsProvidersKeeper) cfgDescription).getDefaultLanguageSettingsProvidersIds();
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
if (defaultIds != null && Arrays.asList(defaultIds).contains(id) != providers.contains(provider)) {
// check for the provider mismatch in configuration list vs. default list from the tool-chain
if (defaultIds != null && (Arrays.asList(defaultIds).contains(id) != providers.contains(provider))) {
return true;
}
// check if provider belongs to configuration (i.e. checked in the table)
if (!providers.contains(provider)) {
return false;
}
// check if "shared" flag matches default shared preference from extension point definition
if (providers.contains(provider) && LanguageSettingsManager.isPreferShared(id) != LanguageSettingsManager.isWorkspaceProvider(provider)) {
if (LanguageSettingsManager.isPreferShared(id) != LanguageSettingsManager.isWorkspaceProvider(provider)) {
return true;
}
@ -182,11 +169,11 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
private boolean isEditedForProject(ILanguageSettingsProvider provider) {
String id = provider.getId();
// check for the provider mismatch in configuration list vs. initial list
ICConfigurationDescription cfgDescription = getConfigurationDescription();
List<ILanguageSettingsProvider> initialProviders = initialProvidersByCfg.get(cfgDescription.getId());
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
List<ILanguageSettingsProvider> providers = getCheckedProviders();
// check for the provider mismatch in configuration list vs. initial list
ILanguageSettingsProvider initialProvider = findProvider(id, initialProviders);
if ((initialProvider != null) != providers.contains(provider)) {
return true;
@ -213,7 +200,6 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
return overlayKeys;
}
String[] overlayKeys = super.getOverlayKeys(provider);
if (page.isForProject()) {
@ -294,7 +280,7 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
}
private void trackInitialSettings() {
if (page.isForProject()) {
if (!page.isForPrefs()) {
ICConfigurationDescription[] cfgDescriptions = page.getCfgsEditable();
for (ICConfigurationDescription cfgDescription : cfgDescriptions) {
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
@ -310,6 +296,7 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
@Override
public void createControls(Composite parent) {
super.createControls(parent);
usercomp.setLayout(new GridLayout());
GridData gd = (GridData) usercomp.getLayoutData();
// Discourage settings entry table from trying to show all its items at once, see bug 264330
@ -321,16 +308,31 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
trackInitialSettings();
// SashForms for each mode
createConfigureSashForm();
createSashForm();
// Status line
fStatusLine = new StatusMessageLine(usercomp, SWT.LEFT, 2);
if (!page.isForPrefs()) {
createEnableProvidersCheckBox();
}
String[] buttonLabels;
if (page.isForPrefs()) {
initButtons(BUTTON_LABELS_PREF);
buttonLabels = new String[2];
buttonLabels[BUTTON_CLEAR] = CLEAR_STR;
buttonLabels[BUTTON_RESET] = RESET_STR;
} else {
buttonLabels = new String[5];
buttonLabels[BUTTON_CLEAR] = CLEAR_STR;
buttonLabels[BUTTON_RESET] = RESET_STR;
buttonLabels[BUTTON_MOVE_UP] = MOVEUP_STR;
buttonLabels[BUTTON_MOVE_DOWN] = MOVEDOWN_STR;
}
initButtons(buttonLabels);
updateData(getResDesc());
}
private void createEnableProvidersCheckBox() {
// "I want to try new scanner discovery" temporary checkbox
enableProvidersCheckBox = setupCheck(usercomp, Messages.CDTMainWizardPage_TrySD90, 2, GridData.FILL_HORIZONTAL);
enableProvidersCheckBox.addSelectionListener(new SelectionAdapter() {
@ -350,35 +352,39 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
}
enableControls(enabled);
updateStatusLine();
}
});
if (masterPropertyPage!=null)
if (masterPropertyPage!=null) {
enableProvidersCheckBox.setSelection(masterPropertyPage.isLanguageSettingsProvidersEnabled());
else
} else {
enableProvidersCheckBox.setSelection(ScannerDiscoveryLegacySupport.isLanguageSettingsProvidersFunctionalityEnabled(page.getProject()));
}
// display but disable the checkbox for file/folder resource
enableProvidersCheckBox.setEnabled(page.isForProject());
enableControls(enableProvidersCheckBox.getSelection());
initButtons(BUTTON_LABELS_PROJECT);
}
updateData(getResDesc());
}
private void createConfigureSashForm() {
// SashForm for Configure
sashFormConfigure = new SashForm(usercomp, SWT.VERTICAL);
private void createSashForm() {
sashFormProviders = new SashForm(usercomp, SWT.VERTICAL);
GridLayout layout = new GridLayout();
sashFormConfigure.setLayout(layout);
sashFormProviders.setLayout(layout);
GridData gd = new GridData(GridData.FILL_BOTH);
gd.horizontalSpan = 2;
sashFormProviders.setLayoutData(gd);
// Providers table
Composite compositeSashForm = new Composite(sashFormConfigure, SWT.BORDER | SWT.SINGLE);
compositeSashForm.setLayout(new GridLayout());
createTreeForProviders(sashFormProviders);
createOptionsPane(sashFormProviders);
sashFormProviders.setWeights(DEFAULT_CONFIGURE_SASH_WEIGHTS);
}
private void createTreeForProviders(Composite parent) {
Composite composite = new Composite(parent, SWT.BORDER | SWT.SINGLE);
composite.setLayout(new GridLayout());
// items checkboxes only for project properties page
tableProviders = new Table(compositeSashForm, page.isForPrefs() ? SWT.NONE : SWT.CHECK);
tableProviders = new Table(composite, page.isForPrefs() ? SWT.NONE : SWT.CHECK);
tableProviders.setLayoutData(new GridData(GridData.FILL_BOTH));
tableProviders.addSelectionListener(new SelectionAdapter() {
@Override
@ -394,134 +400,140 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
tableProvidersViewer.addCheckStateListener(new ICheckStateListener() {
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
// TODO: clean-up - too many manipulations in this method
ILanguageSettingsProvider provider = (ILanguageSettingsProvider) event.getElement();
saveCheckedProviders(provider);
int pos = presentedProviders.indexOf(provider);
tableProviders.setSelection(pos);
ILanguageSettingsProvider checkedProvider = (ILanguageSettingsProvider) event.getElement();
String id = checkedProvider.getId();
ILanguageSettingsProvider newProvider = null;
if (event.getChecked()) {
if (LanguageSettingsManager.isWorkspaceProvider(provider)) {
if (!LanguageSettingsManager.isPreferShared(provider.getId())) {
// Switch to non-shared provider instance
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(provider);
if (LanguageSettingsManager.isWorkspaceProvider(checkedProvider) && !LanguageSettingsManager.isPreferShared(id)) {
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(checkedProvider);
if (rawProvider instanceof ILanguageSettingsEditableProvider) {
ILanguageSettingsEditableProvider newProvider = LanguageSettingsManager.getProviderCopy((ILanguageSettingsEditableProvider) rawProvider, false);
if (newProvider != null) {
provider = newProvider;
replaceSelectedProvider(provider);
ICConfigurationDescription cfgDescription = getConfigurationDescription();
initializeOptionsPage(provider, cfgDescription);
}
}
newProvider = LanguageSettingsManager.getProviderCopy((ILanguageSettingsEditableProvider) rawProvider, false);
}
}
} else {
if (!LanguageSettingsManager.isWorkspaceProvider(provider)) {
provider = LanguageSettingsManager.getWorkspaceProvider(provider.getId());
replaceSelectedProvider(provider);
ICConfigurationDescription cfgDescription = getConfigurationDescription();
initializeOptionsPage(provider, cfgDescription);
if (!LanguageSettingsManager.isWorkspaceProvider(checkedProvider)) {
newProvider = LanguageSettingsManager.getWorkspaceProvider(id);
}
}
int pos = presentedProviders.indexOf(checkedProvider);
tableProviders.setSelection(pos);
if (newProvider != null) {
replaceSelectedProvider(newProvider); // will refresh and save checked providers
initializeOptionsPage(newProvider);
} else {
tableProvidersViewer.refresh(checkedProvider);
saveCheckedProviders();
// option page is reused
}
displaySelectedOptionPage();
tableProvidersViewer.update(provider, null);
updateButtons();
}});
createOptionsControl();
sashFormConfigure.setWeights(DEFAULT_CONFIGURE_SASH_WEIGHTS);
enableSashForm(sashFormConfigure, true);
}
});
}
private Link createLinkToPreferences(final Composite parent, int span) {
Link link = new Link(parent, SWT.NONE);
private void createLinkToPreferences(final Composite parent, int span) {
linkToWorkspacePreferences = new Link(parent, SWT.NONE);
linkToWorkspacePreferences.setText("Options of global providers below can be changed in <a href=\"workspace\">Workspace Settings</a>, Discovery Tab.");
GridData gd = new GridData();
gd.horizontalSpan = span;
link.setLayoutData(gd);
linkToWorkspacePreferences.setLayoutData(gd);
link.addListener(SWT.Selection, new Listener() {
linkToWorkspacePreferences.addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(Event event) {
// Use event.text to tell which link was used
PreferencesUtil.createPreferenceDialogOn(parent.getShell(), WORKSPACE_PREFERENCE_PAGE, null, null).open();
}
});
return link;
}
// Called from globalProviderCheckBox listener
private ILanguageSettingsProvider toggleGlobalProvider(ILanguageSettingsProvider oldProvider, boolean toGlobal) {
private ILanguageSettingsProvider toggleGlobalProvider(ILanguageSettingsProvider provider, boolean toGlobal) {
ILanguageSettingsProvider newProvider = null;
String id = oldProvider.getId();
String id = provider.getId();
if (toGlobal) {
newProvider = LanguageSettingsManager.getWorkspaceProvider(id);
} else {
// Local provider instance chosen
// Toggle to configuration-owned provider
try {
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(oldProvider);
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(provider);
if (rawProvider instanceof ILanguageSettingsEditableProvider) {
newProvider = ((ILanguageSettingsEditableProvider) rawProvider).cloneShallow();
}
} catch (CloneNotSupportedException e) {
CUIPlugin.log("Error cloning provider " + oldProvider.getId(), e);
CUIPlugin.log("Error cloning provider " + id, e);
}
}
if (newProvider != null) {
replaceSelectedProvider(newProvider);
ICConfigurationDescription cfgDescription = getConfigurationDescription();
initializeOptionsPage(newProvider, cfgDescription);
initializeOptionsPage(newProvider);
displaySelectedOptionPage();
updateButtons();
} else {
newProvider = oldProvider;
newProvider = provider;
}
return newProvider;
}
private void replaceSelectedProvider(ILanguageSettingsProvider newProvider) {
int pos = tableProviders.getSelectionIndex();
presentedProviders.set(pos, newProvider);
tableProvidersViewer.setInput(presentedProviders);
tableProviders.setSelection(pos);
ICConfigurationDescription cfgDescription = null;
if (!page.isForPrefs()) {
cfgDescription = getConfigurationDescription();
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
List<ILanguageSettingsProvider> cfgProviders = new ArrayList<ILanguageSettingsProvider>(((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders());
pos = getProviderIndex(newProvider.getId(), cfgProviders);
if (pos >= 0) {
cfgProviders.set(pos, newProvider);
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(cfgProviders);
tableProvidersViewer.setCheckedElements(cfgProviders.toArray(new ILanguageSettingsProvider[0]));
}
}
}
refreshItem(newProvider);
}
/**
* Refresh provider item in the table and update buttons.
* This method is intended for use by an Options Page of the provider.
*
* @param provider - provider item in the table to refresh.
*/
public void refreshItem(ILanguageSettingsProvider provider) {
tableProvidersViewer.refresh(provider);
updateButtons();
}
private void createOptionsControl() {
groupOptionsPage = new Group(sashFormConfigure, SWT.SHADOW_ETCHED_IN);
private void createOptionsPane(Composite parent) {
groupOptionsPage = new Group(parent, SWT.SHADOW_ETCHED_IN);
groupOptionsPage.setText("Language Settings Provider Options");
groupOptionsPage.setLayout(new GridLayout(2, false));
if (!page.isForPrefs()) {
if (sharedProviderCheckBox==null) {
sharedProviderCheckBox = new Button(groupOptionsPage, SWT.CHECK);
createSharedProviderCheckBox(groupOptionsPage);
createProjectStorageCheckBox(groupOptionsPage);
createLinkToPreferences(groupOptionsPage, 2);
}
compositeOptionsPage = new Composite(groupOptionsPage, SWT.NONE);
compositeOptionsPage.setLayout(new TabFolderLayout());
}
private void createProjectStorageCheckBox(Composite parent) {
projectStorageCheckBox = new Button(parent, SWT.CHECK);
projectStorageCheckBox.setText("Store entries in project settings folder (easing project miration)");
projectStorageCheckBox.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
boolean inProjectArea = projectStorageCheckBox.getSelection();
ILanguageSettingsProvider newProvider = getWorkingCopy(getSelectedProvider().getId());
// FIXME
Assert.isTrue(newProvider instanceof LanguageSettingsSerializableProvider);
LanguageSettingsManager.setStoringEntriesInProjectArea((LanguageSettingsSerializableProvider) newProvider, inProjectArea);
replaceSelectedProvider(newProvider);
initializeOptionsPage(newProvider);
displaySelectedOptionPage();
updateButtons();
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
});
}
private void createSharedProviderCheckBox(Composite parent) {
sharedProviderCheckBox = new Button(parent, SWT.CHECK);
sharedProviderCheckBox.setText("Share setting entries between projects (global provider)");
sharedProviderCheckBox.addSelectionListener(new SelectionAdapter() {
@Override
@ -529,6 +541,7 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
boolean isGlobal = sharedProviderCheckBox.getSelection();
ILanguageSettingsProvider provider = getSelectedProvider();
if (isGlobal != LanguageSettingsManager.isWorkspaceProvider(provider)) {
// globality changed
provider = toggleGlobalProvider(provider, isGlobal);
}
projectStorageCheckBox.setSelection(provider instanceof LanguageSettingsSerializableProvider
@ -539,49 +552,11 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
});
}
if (projectStorageCheckBox == null) {
projectStorageCheckBox = new Button(groupOptionsPage, SWT.CHECK);
projectStorageCheckBox.setText("Store entries in project settings folder (easing project miration)");
projectStorageCheckBox.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
boolean isWithProject = projectStorageCheckBox.getSelection();
ILanguageSettingsProvider provider = getWorkingCopy(getSelectedProvider().getId());
Assert.isTrue(provider instanceof LanguageSettingsSerializableProvider);
LanguageSettingsManager.setStoringEntriesInProjectArea((LanguageSettingsSerializableProvider) provider, isWithProject);
refreshItem(provider);
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
});
linkWorkspacePreferences = createLinkToPreferences(groupOptionsPage, 2);
}
}
compositeOptionsPage = new Composite(groupOptionsPage, SWT.NONE);
compositeOptionsPage.setLayout(new TabFolderLayout());
}
private void enableSashForm(SashForm sashForm, boolean enable) {
sashForm.setVisible(enable);
// Some of woodoo to fill properties page vertically and still keep right border visible in preferences
GridData gd = new GridData(enable || page.isForPrefs() ? GridData.FILL_BOTH : SWT.NONE);
gd.horizontalSpan = 2;
gd.heightHint = enable ? SWT.DEFAULT : 0;
sashForm.setLayoutData(gd);
}
private void enableControls(boolean enable) {
sashFormConfigure.setEnabled(enable);
sashFormProviders.setEnabled(enable);
tableProviders.setEnabled(enable);
compositeOptionsPage.setEnabled(enable);
@ -598,7 +573,7 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
}
/**
* Populate provider tables and their option pages which are used in Configure mode
* Populate provider tables and their option pages
*/
private void updateProvidersTable() {
ILanguageSettingsProvider selectedProvider = getSelectedProvider();
@ -626,7 +601,7 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
optionsPageMap.clear();
for (ILanguageSettingsProvider provider : presentedProviders) {
initializeOptionsPage(provider, cfgDescription);
initializeOptionsPage(provider);
}
displaySelectedOptionPage();
@ -663,9 +638,18 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
// renders better when using temporary
presentedProviders = providers;
int pos = tableProviders.getSelectionIndex();
ILanguageSettingsProvider selectedProvider = getSelectedProvider();
String selectedId = selectedProvider!=null ? selectedProvider.getId() : null;
tableProvidersViewer.setInput(presentedProviders);
tableProviders.setSelection(pos);
if (selectedId!=null) {
for (int i=0; i<presentedProviders.size(); i++) {
if (selectedId.equals(presentedProviders.get(i).getId())) {
tableProviders.setSelection(i);
break;
}
}
}
}
private void sortByName(List<ILanguageSettingsProvider> providers) {
@ -688,7 +672,7 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
});
}
private ICOptionPage createOptionsPage(ILanguageSettingsProvider provider, ICConfigurationDescription cfgDescription) {
private ICOptionPage createOptionsPage(ILanguageSettingsProvider provider) {
ICOptionPage optionsPage = null;
if (provider != null) {
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(provider);
@ -704,8 +688,8 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
return optionsPage;
}
private void initializeOptionsPage(ILanguageSettingsProvider provider, ICConfigurationDescription cfgDescription) {
ICOptionPage optionsPage = createOptionsPage(provider, cfgDescription);
private void initializeOptionsPage(ILanguageSettingsProvider provider) {
ICOptionPage optionsPage = createOptionsPage(provider);
if (optionsPage != null) {
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(provider);
@ -735,37 +719,32 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
currentOptionsPage = optionsPageMap.get(id);
boolean isChecked = tableProvidersViewer.getChecked(provider);
if (!page.isForPrefs() ) {
boolean isChecked = tableProvidersViewer.getChecked(provider);
boolean isShared = isPresentedAsShared(provider);
boolean isRawProviderEditable = rawProvider instanceof ILanguageSettingsEditableProvider;
sharedProviderCheckBox.setSelection(isShared);
sharedProviderCheckBox.setEnabled(isChecked && isRawProviderEditable);
sharedProviderCheckBox.setVisible(provider != null);
sharedProviderCheckBox.setEnabled(isChecked && isRawProviderEditable);
sharedProviderCheckBox.setSelection(isShared);
projectStorageCheckBox.setEnabled(!isShared && isChecked);
projectStorageCheckBox.setVisible(rawProvider instanceof LanguageSettingsSerializableProvider);
projectStorageCheckBox.setEnabled(isChecked && !isShared);
projectStorageCheckBox.setSelection(provider instanceof LanguageSettingsSerializableProvider
&& LanguageSettingsManager.isStoringEntriesInProjectArea((LanguageSettingsSerializableProvider) provider));
boolean needPreferencesLink = isShared && currentOptionsPage != null;
// TODO: message
final String linkMsg = needPreferencesLink ? "Options of global providers below can be changed in <a href=\"workspace\">Workspace Settings</a>, Discovery Tab." : "";
linkWorkspacePreferences.setText(linkMsg);
linkWorkspacePreferences.pack();
linkWorkspacePreferences.setEnabled(isChecked);
linkToWorkspacePreferences.setVisible(isShared && currentOptionsPage != null);
linkToWorkspacePreferences.setEnabled(isChecked);
}
if (currentOptionsPage != null) {
currentOptionsPage.setVisible(true);
boolean isEditableForProject = page.isForProject() && provider instanceof ILanguageSettingsEditableProvider;
boolean isEditableForPrefs = page.isForPrefs() && rawProvider instanceof ILanguageSettingsEditableProvider;
boolean isEditable = isEditableForProject || isEditableForPrefs;
currentOptionsPage.getControl().setEnabled(isEditable);
currentOptionsPage.setVisible(true);
compositeOptionsPage.setEnabled(isEditable);
// compositeOptionsPage.layout(true);
}
}
@ -782,38 +761,11 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
}
private void saveCheckedProviders(Object selectedElement) {
if (page.isForProject()) {
Object[] checked = tableProvidersViewer.getCheckedElements();
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>(checked.length);
for (Object element : checked) {
ILanguageSettingsProvider provider = (ILanguageSettingsProvider)element;
providers.add(provider);
}
ICConfigurationDescription cfgDescription = getConfigurationDescription();
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
if (selectedElement!=null) {
tableProvidersViewer.update(selectedElement, null);
if (selectedElement instanceof ILanguageSettingsProvider) {
ILanguageSettingsProvider selectedProvider = (ILanguageSettingsProvider) selectedElement;
initializeOptionsPage(selectedProvider, cfgDescription);
displaySelectedOptionPage();
}
}
}
}
}
private void disableButtons() {
// buttonSetEnabled(BUTTON_RENAME, false);
// buttonSetEnabled(BUTTON_RUN, false);
buttonSetEnabled(BUTTON_CLEAR, false);
buttonSetEnabled(BUTTON_RESET, false);
buttonSetEnabled(BUTTON_MOVE_UP, false);
buttonSetEnabled(BUTTON_MOVE_DOWN, false);
// buttonSetEnabled(BUTTON_CONFIGURE, false);
}
/**
@ -829,7 +781,7 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
int pos = tableProviders.getSelectionIndex();
int count = tableProviders.getItemCount();
int last = count - 1;
boolean isRangeOk = pos >= 0 && pos <= last;
boolean isRangeOk = (pos >= 0 && pos <= last);
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(provider);
boolean isAllowedClearing = rawProvider instanceof ILanguageSettingsEditableProvider && rawProvider instanceof LanguageSettingsSerializableProvider
@ -840,32 +792,22 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
canClear = canClear && !((LanguageSettingsSerializableProvider)rawProvider).isEmpty();
}
boolean canReset = (canForProject && isReconfiguredForProject(provider)) ||
(canForWorkspace &&
boolean canResetForProject = canForProject && isReconfiguredForProject(provider);
boolean canResetForWorkspace = canForWorkspace &&
(rawProvider instanceof ILanguageSettingsEditableProvider
&& !LanguageSettingsManager.isEqualExtensionProvider(rawProvider, false))
&& ( LanguageSettingsManager.getExtensionProviderIds().contains(rawProvider.getId()) )
);
&& ( LanguageSettingsManager.getExtensionProviderIds().contains(rawProvider.getId()) );
boolean canReset = canResetForProject || canResetForWorkspace;
boolean canMoveUp = canForProject && isRangeOk && pos != 0;
boolean canMoveDown = canForProject && isRangeOk && pos != last;
// buttonSetEnabled(BUTTON_RENAME, false);
// buttonSetEnabled(BUTTON_RUN, false);
buttonSetEnabled(BUTTON_CLEAR, canClear);
buttonSetEnabled(BUTTON_RESET, canReset);
buttonSetEnabled(BUTTON_MOVE_UP, canMoveUp);
buttonSetEnabled(BUTTON_MOVE_DOWN, canMoveDown);
}
/**
* Displays warning message - if any - for selected language settings entry.
*/
private void updateStatusLine() {
// IStatus status=null;
// fStatusLine.setErrorStatus(status);
}
/**
* Handle buttons
*/
@ -874,12 +816,6 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
ILanguageSettingsProvider selectedProvider = getSelectedProvider();
switch (buttonIndex) {
// case BUTTON_RENAME:
// performRename(selectedProvider);
// break;
// case BUTTON_RUN:
// performRun(selectedProvider);
// break;
case BUTTON_CLEAR:
performClear(selectedProvider);
break;
@ -909,8 +845,7 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
ILanguageSettingsEditableProvider newProvider = LanguageSettingsManager.getProviderCopy((ILanguageSettingsEditableProvider) rawProvider, false);
if (newProvider != null) {
replaceSelectedProvider(newProvider);
ICConfigurationDescription cfgDescription = getConfigurationDescription();
initializeOptionsPage(newProvider, cfgDescription);
initializeOptionsPage(newProvider);
displaySelectedOptionPage();
}
}
@ -920,55 +855,61 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
private void performReset(ILanguageSettingsProvider selectedProvider) {
String id = selectedProvider.getId();
ILanguageSettingsProvider newProvider = null;
ICConfigurationDescription cfgDescription = getConfigurationDescription();
ILanguageSettingsProvider newProvider = null;
if (page.isForPrefs()) {
newProvider = LanguageSettingsManager.getExtensionProviderCopy(id, true);
if (newProvider == null) {
newProvider = LanguageSettingsManager.getWorkspaceProvider(id);
Status status = new Status(IStatus.ERROR, CUIPlugin.PLUGIN_ID, IStatus.ERROR, "Internal error happened, report application log to CDT team.",
new Exception("Internal Error getting copy of provider id="+id));
fStatusLine.setErrorStatus(status);
CUIPlugin.log(status);
}
replaceSelectedProvider(newProvider);
} else {
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
ICConfigurationDescription cfgDescription = getConfigurationDescription();
String[] defaultIds = ((ILanguageSettingsProvidersKeeper) cfgDescription).getDefaultLanguageSettingsProvidersIds();
boolean isDefault = Arrays.asList(defaultIds).contains(id);
if (isDefault) {
if (!LanguageSettingsManager.isPreferShared(id)) {
if (isDefault && !LanguageSettingsManager.isPreferShared(id)) {
newProvider = LanguageSettingsManager.getExtensionProviderCopy(id, true);
}
if (newProvider == null) {
newProvider = LanguageSettingsManager.getWorkspaceProvider(id);
}
if (providers.contains(selectedProvider)) {
// replace provider in the cfg list
replaceSelectedProvider(newProvider);
} else {
// add provider to the cfg list
replaceSelectedProvider(newProvider);
tableProvidersViewer.setChecked(newProvider, true);
saveCheckedProviders(newProvider);
updateProvidersTable();
refreshItem(newProvider);
Status status = new Status(IStatus.ERROR, CUIPlugin.PLUGIN_ID, IStatus.ERROR, "Internal error happened, report application log to CDT team.",
new Exception("Internal Error getting copy of provider id="+id));
fStatusLine.setErrorStatus(status);
CUIPlugin.log(status);
}
} else {
if (providers.contains(selectedProvider)) {
// remove provider from the cfg list
newProvider = LanguageSettingsManager.getWorkspaceProvider(id);
replaceSelectedProvider(newProvider);
tableProvidersViewer.setChecked(newProvider, false);
saveCheckedProviders(newProvider);
updateProvidersTable();
refreshItem(newProvider);
}
}
tableProvidersViewer.setChecked(selectedProvider, isDefault);
}
initializeOptionsPage(newProvider, cfgDescription);
if (newProvider != null) {
replaceSelectedProvider(newProvider);
initializeOptionsPage(newProvider);
displaySelectedOptionPage();
updateButtons();
}
}
private void replaceSelectedProvider(ILanguageSettingsProvider newProvider) {
int pos = tableProviders.getSelectionIndex();
boolean isChecked = tableProvidersViewer.getChecked(tableProvidersViewer.getElementAt(pos));
presentedProviders.set(pos, newProvider);
tableProvidersViewer.refresh();
tableProvidersViewer.setChecked(newProvider, isChecked);
tableProviders.setSelection(pos);
tableProvidersViewer.refresh(newProvider);
saveCheckedProviders();
}
private void saveCheckedProviders() {
ICConfigurationDescription cfgDescription = getConfigurationDescription();
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(getCheckedProviders());
}
}
private boolean isWorkingCopy(ILanguageSettingsProvider provider) {
boolean isWorkingCopy = false;
@ -1002,14 +943,18 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
private void moveProvider(int oldPos, int newPos) {
Collections.swap(presentedProviders, oldPos, newPos);
tableProvidersViewer.refresh();
tableProviders.showSelection();
updateProvidersTable();
tableProviders.setSelection(newPos);
saveCheckedProviders(null);
saveCheckedProviders();
updateButtons();
}
@SuppressWarnings({ "unchecked", "rawtypes" })
private List<ILanguageSettingsProvider> getCheckedProviders() {
return (List)Arrays.asList(tableProvidersViewer.getCheckedElements());
}
/**
* Called when configuration changed
*/
@ -1034,7 +979,7 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
}
// for Preference page initialize providers list just once as no configuration here to change
// and re-initializing could ruins modified providers in case of switching tabs or pages
// and re-initializing could overwrite modified providers in case of switching tabs or pages
if (!page.isForPrefs() || presentedProviders == null) {
initializeProviders();
}
@ -1101,17 +1046,7 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
@Override
protected void performApply(ICResourceDescription srcRcDescription, ICResourceDescription destRcDescription) {
// informOptionPages(true);
if (page.isForPrefs()) {
try {
LanguageSettingsManager.setWorkspaceProviders(presentedProviders);
} catch (CoreException e) {
CUIPlugin.log("Error serializing workspace language settings providers", e);
}
} else {
IResource rc = getResource();
if (!page.isForPrefs()) {
ICConfigurationDescription sd = srcRcDescription.getConfiguration();
ICConfigurationDescription dd = destRcDescription.getConfiguration();
if (sd instanceof ILanguageSettingsProvidersKeeper && dd instanceof ILanguageSettingsProvidersKeeper) {
@ -1121,26 +1056,13 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
}
performOK();
trackInitialSettings();
updateData(getResDesc());
}
@Override
protected void performOK() {
if (!page.isForPrefs()) {
// FIXME: for now only handles current configuration
ICResourceDescription rcDesc = getResDesc();
IResource rc = getResource();
ICConfigurationDescription cfgDescription = rcDesc.getConfiguration();
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
List<ILanguageSettingsProvider> destProviders = new ArrayList<ILanguageSettingsProvider>();
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
for (ILanguageSettingsProvider pro : providers) {
// TODO: clone
destProviders.add(pro);
}
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(destProviders);
}
}
// Build Settings page
if (page.isForPrefs()) {
try {
@ -1153,8 +1075,9 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
if (page.isForProject() && enableProvidersCheckBox != null) {
boolean enabled = enableProvidersCheckBox.getSelection();
if (masterPropertyPage!=null)
if (masterPropertyPage != null) {
enabled = masterPropertyPage.isLanguageSettingsProvidersEnabled();
}
ScannerDiscoveryLegacySupport.setLanguageSettingsProvidersFunctionalityEnabled(page.getProject(), enabled);
enableProvidersCheckBox.setSelection(enabled);
}
@ -1167,9 +1090,6 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
CUIPlugin.log("Error applying options page", e);
}
}
trackInitialSettings();
updateData(getResDesc());
}
@Override
@ -1180,16 +1100,6 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
return page.isForPrefs() || page.isForProject();
}
private ILanguageSettingsProvider findRawProvider(String id, List<ILanguageSettingsProvider> providers) {
for (ILanguageSettingsProvider provider : providers) {
if (provider.getId().equals(id)) {
provider = LanguageSettingsManager.getRawProvider(provider);
return provider;
}
}
return null;
}
private ILanguageSettingsProvider findProvider(String id, List<ILanguageSettingsProvider> providers) {
for (ILanguageSettingsProvider provider : providers) {
if (provider.getId().equals(id)) {
@ -1203,30 +1113,4 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
return findProvider(id, presentedProviders);
}
private int getProviderIndex(String id, List<ILanguageSettingsProvider> providers) {
int pos = 0;
for (ILanguageSettingsProvider p : providers) {
if (p.getId().equals(id))
return pos;
pos++;
}
return -1;
}
// private void informOptionPages(boolean apply) {
// Collection<ICOptionPage> pages = optionsPageMap.values();
// for (ICOptionPage dynamicPage : pages) {
// if (dynamicPage!=null && dynamicPage.isValid() && dynamicPage.getControl() != null) {
// try {
// if (apply)
// dynamicPage.performApply(new NullProgressMonitor());
// else
// dynamicPage.performDefaults();
// } catch (CoreException e) {
// CUIPlugin.log("ErrorParsTab.error.OnApplyingSettings", e);
// }
// }
// }
//}
}

View file

@ -195,7 +195,6 @@ public class Messages extends NLS {
public static String LanguageSettingsProviderTab_Configure;
public static String LanguageSettingsProviderTab_ErrorPerformingDefaults;
public static String LanguageSettingsProviderTab_ProviderOptions;
// public static String LanguageSettingsProviderTab_Run;
public static String LanguageSettingsProviderTab_SettingEntries;
public static String LanguageSettingsProviderTab_SettingEntriesTooltip;
public static String LanguageSettingsProviderTab_ShowEntries;

View file

@ -174,7 +174,6 @@ LanguageSettingsProviderTab_Clear=Clear Entries
LanguageSettingsProviderTab_Configure=Configure
LanguageSettingsProviderTab_ErrorPerformingDefaults=Error restoring defaults for language settings providers
LanguageSettingsProviderTab_ProviderOptions=Language Settings Provider Options
#LanguageSettingsProviderTab_Run=Run
LanguageSettingsProviderTab_SettingEntries=Setting Entries
LanguageSettingsProviderTab_SettingEntriesTooltip=Setting Entries
LanguageSettingsProviderTab_ShowEntries=Show Entries