mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
clean-up
This commit is contained in:
parent
c6a26fb0b1
commit
e5e74e6e4f
2 changed files with 168 additions and 154 deletions
|
@ -106,7 +106,6 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
private static final String CLEAR_STR = Messages.LanguageSettingsProviderTab_Clear;
|
private static final String CLEAR_STR = Messages.LanguageSettingsProviderTab_Clear;
|
||||||
|
|
||||||
private Map<String, List<ILanguageSettingsProvider>> initialProvidersMap = new HashMap<String, List<ILanguageSettingsProvider>>();
|
private Map<String, List<ILanguageSettingsProvider>> initialProvidersMap = new HashMap<String, List<ILanguageSettingsProvider>>();
|
||||||
private boolean initialEnablement =false;
|
|
||||||
|
|
||||||
private class EntriesTreeLabelProvider extends LanguageSettingsProvidersLabelProvider {
|
private class EntriesTreeLabelProvider extends LanguageSettingsProvidersLabelProvider {
|
||||||
@Override
|
@Override
|
||||||
|
@ -128,7 +127,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
// Assuming that the default entries for a resource are always null.
|
// Assuming that the default entries for a resource are always null.
|
||||||
// Using that for performance reasons. See note in PerformDefaults().
|
// Using that for performance reasons. See note in PerformDefaults().
|
||||||
List<ICLanguageSettingEntry> entriesParent = provider.getSettingEntries(null, null, currentLanguageId);
|
List<ICLanguageSettingEntry> entriesParent = provider.getSettingEntries(null, null, currentLanguageId);
|
||||||
if (entries!=null && !entries.equals(entriesParent)) {
|
if (entries != null && !entries.equals(entriesParent)) {
|
||||||
overlayKeys[IDecoration.TOP_RIGHT] = CDTSharedImages.IMG_OVR_SETTING;
|
overlayKeys[IDecoration.TOP_RIGHT] = CDTSharedImages.IMG_OVR_SETTING;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -248,12 +247,12 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
ILanguageSettingsProvider provider = null;
|
ILanguageSettingsProvider provider = null;
|
||||||
|
|
||||||
TreeItem[] items = treeEntries.getSelection();
|
TreeItem[] items = treeEntries.getSelection();
|
||||||
if (items.length>0) {
|
if (items.length == 1) {
|
||||||
TreeItem item = items[0];
|
TreeItem item = items[0];
|
||||||
Object itemData = item.getData();
|
Object itemData = item.getData();
|
||||||
if (itemData instanceof ICLanguageSettingEntry) {
|
if (itemData instanceof ICLanguageSettingEntry) {
|
||||||
item = item.getParentItem();
|
item = item.getParentItem();
|
||||||
if (item!=null) {
|
if (item != null) {
|
||||||
itemData = item.getData();
|
itemData = item.getData();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -261,6 +260,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
provider = (ILanguageSettingsProvider)itemData;
|
provider = (ILanguageSettingsProvider)itemData;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return provider;
|
return provider;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -270,16 +270,15 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
private ICLanguageSettingEntry getSelectedEntry() {
|
private ICLanguageSettingEntry getSelectedEntry() {
|
||||||
ICLanguageSettingEntry entry = null;
|
ICLanguageSettingEntry entry = null;
|
||||||
|
|
||||||
TreeItem[] selItems = treeEntries.getSelection();
|
TreeItem[] items = treeEntries.getSelection();
|
||||||
if (selItems.length==0) {
|
if (items.length == 1) {
|
||||||
return null;
|
TreeItem item = items[0];
|
||||||
}
|
|
||||||
|
|
||||||
TreeItem item = selItems[0];
|
|
||||||
Object itemData = item.getData();
|
Object itemData = item.getData();
|
||||||
if (itemData instanceof ICLanguageSettingEntry) {
|
if (itemData instanceof ICLanguageSettingEntry) {
|
||||||
entry = (ICLanguageSettingEntry)itemData;
|
entry = (ICLanguageSettingEntry)itemData;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return entry;
|
return entry;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -290,7 +289,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
* @return list of setting entries for the current context.
|
* @return list of setting entries for the current context.
|
||||||
*/
|
*/
|
||||||
private List<ICLanguageSettingEntry> getSettingEntriesUpResourceTree(ILanguageSettingsProvider provider) {
|
private List<ICLanguageSettingEntry> getSettingEntriesUpResourceTree(ILanguageSettingsProvider provider) {
|
||||||
if (currentLanguageId==null)
|
if (currentLanguageId == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
||||||
|
@ -312,7 +311,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
return provider.getSettingEntries(cfgDescription, rc, currentLanguageId);
|
return provider.getSettingEntries(cfgDescription, rc, currentLanguageId);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addTreeForLanguages(Composite comp) {
|
private void createTreeForLanguages(Composite comp) {
|
||||||
treeLanguages = new Tree(comp, SWT.BORDER | SWT.SINGLE | SWT.H_SCROLL);
|
treeLanguages = new Tree(comp, SWT.BORDER | SWT.SINGLE | SWT.H_SCROLL);
|
||||||
treeLanguages.setLayoutData(new GridData(GridData.FILL_VERTICAL));
|
treeLanguages.setLayoutData(new GridData(GridData.FILL_VERTICAL));
|
||||||
treeLanguages.setHeaderVisible(true);
|
treeLanguages.setHeaderVisible(true);
|
||||||
|
@ -324,14 +323,14 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
if (items.length > 0) {
|
if (items.length > 0) {
|
||||||
currentLanguageId = (String) items[0].getData();
|
currentLanguageId = (String) items[0].getData();
|
||||||
currentLanguageIdGlobal = currentLanguageId;
|
currentLanguageIdGlobal = currentLanguageId;
|
||||||
updateTreeEntries();
|
updateTreeForEntries();
|
||||||
updateButtons();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
final TreeColumn columnLanguages = new TreeColumn(treeLanguages, SWT.NONE);
|
final TreeColumn columnLanguages = new TreeColumn(treeLanguages, SWT.NONE);
|
||||||
columnLanguages.setText(Messages.AbstractLangsListTab_Languages);
|
columnLanguages.setText(Messages.AbstractLangsListTab_Languages);
|
||||||
|
// TODO AG - why 200?
|
||||||
columnLanguages.setWidth(200);
|
columnLanguages.setWidth(200);
|
||||||
columnLanguages.setResizable(false);
|
columnLanguages.setResizable(false);
|
||||||
columnLanguages.setToolTipText(Messages.AbstractLangsListTab_Languages);
|
columnLanguages.setToolTipText(Messages.AbstractLangsListTab_Languages);
|
||||||
|
@ -339,15 +338,16 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
treeLanguages.addPaintListener(new PaintListener() {
|
treeLanguages.addPaintListener(new PaintListener() {
|
||||||
@Override
|
@Override
|
||||||
public void paintControl(PaintEvent e) {
|
public void paintControl(PaintEvent e) {
|
||||||
|
// TODO AG - why 5?
|
||||||
int x = treeLanguages.getBounds().width - 5;
|
int x = treeLanguages.getBounds().width - 5;
|
||||||
if (columnLanguages.getWidth() != x)
|
if (columnLanguages.getWidth() != x) {
|
||||||
columnLanguages.setWidth(x);
|
columnLanguages.setWidth(x);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addTreeForEntries(Composite comp) {
|
private void createTreeForEntries(Composite comp) {
|
||||||
treeEntries = new Tree(comp, SWT.BORDER | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
|
treeEntries = new Tree(comp, SWT.BORDER | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
|
||||||
treeEntries.setLayoutData(new GridData(GridData.FILL_VERTICAL));
|
treeEntries.setLayoutData(new GridData(GridData.FILL_VERTICAL));
|
||||||
treeEntries.setHeaderVisible(true);
|
treeEntries.setHeaderVisible(true);
|
||||||
|
@ -364,6 +364,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
});
|
});
|
||||||
|
|
||||||
treeCol.setText(Messages.LanguageSettingsProviderTab_SettingEntries);
|
treeCol.setText(Messages.LanguageSettingsProviderTab_SettingEntries);
|
||||||
|
// TODO AG - why 200?
|
||||||
treeCol.setWidth(200);
|
treeCol.setWidth(200);
|
||||||
treeCol.setResizable(false);
|
treeCol.setResizable(false);
|
||||||
treeCol.setToolTipText(Messages.LanguageSettingsProviderTab_SettingEntriesTooltip);
|
treeCol.setToolTipText(Messages.LanguageSettingsProviderTab_SettingEntriesTooltip);
|
||||||
|
@ -394,7 +395,9 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void trackInitialSettings() {
|
private void trackInitialSettings() {
|
||||||
if (!page.isForPrefs()) {
|
if (page.isForPrefs()) {
|
||||||
|
// AG TODO
|
||||||
|
} else {
|
||||||
ICConfigurationDescription[] cfgDescriptions = page.getCfgsEditable();
|
ICConfigurationDescription[] cfgDescriptions = page.getCfgsEditable();
|
||||||
for (ICConfigurationDescription cfgDescription : cfgDescriptions) {
|
for (ICConfigurationDescription cfgDescription : cfgDescriptions) {
|
||||||
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
|
@ -403,7 +406,6 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
initialProvidersMap.put(cfgId, initialProviders);
|
initialProvidersMap.put(cfgId, initialProviders);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
initialEnablement = ScannerDiscoveryLegacySupport.isLanguageSettingsProvidersFunctionalityEnabled(page.getProject());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -423,8 +425,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
|
|
||||||
trackInitialSettings();
|
trackInitialSettings();
|
||||||
|
|
||||||
// SashForms for each mode
|
createSashForm();
|
||||||
createShowEntriesSashForm();
|
|
||||||
|
|
||||||
// Status line
|
// Status line
|
||||||
fStatusLine = new StatusMessageLine(usercomp, SWT.LEFT, 2);
|
fStatusLine = new StatusMessageLine(usercomp, SWT.LEFT, 2);
|
||||||
|
@ -434,7 +435,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
builtInCheckBox.addSelectionListener(new SelectionAdapter() {
|
builtInCheckBox.addSelectionListener(new SelectionAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void widgetSelected(SelectionEvent e) {
|
public void widgetSelected(SelectionEvent e) {
|
||||||
updateTreeEntries();
|
updateTreeForEntries();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
builtInCheckBox.setSelection(true);
|
builtInCheckBox.setSelection(true);
|
||||||
|
@ -446,8 +447,9 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
@Override
|
@Override
|
||||||
public void widgetSelected(SelectionEvent e) {
|
public void widgetSelected(SelectionEvent e) {
|
||||||
boolean enabled = enableProvidersCheckBox.getSelection();
|
boolean enabled = enableProvidersCheckBox.getSelection();
|
||||||
if (masterPropertyPage!=null)
|
if (masterPropertyPage != null) {
|
||||||
masterPropertyPage.setLanguageSettingsProvidersEnabled(enabled);
|
masterPropertyPage.setLanguageSettingsProvidersEnabled(enabled);
|
||||||
|
}
|
||||||
|
|
||||||
if (!enabled) {
|
if (!enabled) {
|
||||||
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
||||||
|
@ -457,24 +459,26 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enableControls(enabled);
|
enableTabControls(enabled);
|
||||||
updateStatusLine();
|
updateStatusLine();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (masterPropertyPage!=null)
|
if (masterPropertyPage != null) {
|
||||||
|
// take the flag from master page if available (normally for resource properties)
|
||||||
enableProvidersCheckBox.setSelection(masterPropertyPage.isLanguageSettingsProvidersEnabled());
|
enableProvidersCheckBox.setSelection(masterPropertyPage.isLanguageSettingsProvidersEnabled());
|
||||||
else
|
} else {
|
||||||
enableProvidersCheckBox.setSelection(ScannerDiscoveryLegacySupport.isLanguageSettingsProvidersFunctionalityEnabled(page.getProject()));
|
enableProvidersCheckBox.setSelection(ScannerDiscoveryLegacySupport.isLanguageSettingsProvidersFunctionalityEnabled(page.getProject()));
|
||||||
|
}
|
||||||
// display but disable the checkbox for file/folder resource
|
// display but disable the checkbox for file/folder resource
|
||||||
enableProvidersCheckBox.setEnabled(page.isForProject()/* && !isConfigureMode*/);
|
enableProvidersCheckBox.setEnabled(page.isForProject());
|
||||||
enableControls(enableProvidersCheckBox.getSelection());
|
enableTabControls(enableProvidersCheckBox.getSelection());
|
||||||
|
|
||||||
initButtons(BUTTON_LABELS);
|
initButtons(BUTTON_LABELS);
|
||||||
updateData(getResDesc());
|
updateData(getResDesc());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createShowEntriesSashForm() {
|
private void createSashForm() {
|
||||||
sashFormEntries = new SashForm(usercomp,SWT.HORIZONTAL);
|
sashFormEntries = new SashForm(usercomp,SWT.HORIZONTAL);
|
||||||
|
|
||||||
GridData gd = new GridData(GridData.FILL_BOTH);
|
GridData gd = new GridData(GridData.FILL_BOTH);
|
||||||
|
@ -485,13 +489,13 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
GridLayout layout = new GridLayout();
|
GridLayout layout = new GridLayout();
|
||||||
sashFormEntries.setLayout(layout);
|
sashFormEntries.setLayout(layout);
|
||||||
|
|
||||||
addTreeForLanguages(sashFormEntries);
|
createTreeForLanguages(sashFormEntries);
|
||||||
addTreeForEntries(sashFormEntries);
|
createTreeForEntries(sashFormEntries);
|
||||||
|
|
||||||
sashFormEntries.setWeights(DEFAULT_ENTRIES_SASH_WEIGHTS);
|
sashFormEntries.setWeights(DEFAULT_ENTRIES_SASH_WEIGHTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void enableControls(boolean enable) {
|
private void enableTabControls(boolean enable) {
|
||||||
sashFormEntries.setEnabled(enable);
|
sashFormEntries.setEnabled(enable);
|
||||||
treeLanguages.setEnabled(enable);
|
treeLanguages.setEnabled(enable);
|
||||||
treeEntries.setEnabled(enable);
|
treeEntries.setEnabled(enable);
|
||||||
|
@ -500,7 +504,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
buttoncomp.setEnabled(enable);
|
buttoncomp.setEnabled(enable);
|
||||||
|
|
||||||
if (enable) {
|
if (enable) {
|
||||||
updateTreeEntries();
|
updateTreeForEntries();
|
||||||
} else {
|
} else {
|
||||||
disableButtons();
|
disableButtons();
|
||||||
}
|
}
|
||||||
|
@ -512,7 +516,6 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
buttonSetEnabled(BUTTON_DELETE, false);
|
buttonSetEnabled(BUTTON_DELETE, false);
|
||||||
buttonSetEnabled(BUTTON_MOVE_UP, false);
|
buttonSetEnabled(BUTTON_MOVE_UP, false);
|
||||||
buttonSetEnabled(BUTTON_MOVE_DOWN, false);
|
buttonSetEnabled(BUTTON_MOVE_DOWN, false);
|
||||||
// buttonSetEnabled(BUTTON_CONFIGURE, false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -524,29 +527,29 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
ICLanguageSettingEntry entry = getSelectedEntry();
|
ICLanguageSettingEntry entry = getSelectedEntry();
|
||||||
List<ICLanguageSettingEntry> entries = getSettingEntriesUpResourceTree(provider);
|
List<ICLanguageSettingEntry> entries = getSettingEntriesUpResourceTree(provider);
|
||||||
|
|
||||||
boolean isEntrySelected = entry!=null;
|
boolean isEntrySelected = (entry != null);
|
||||||
boolean isProviderSelected = !isEntrySelected && (provider!=null);
|
boolean isProviderSelected = !isEntrySelected && (provider != null);
|
||||||
|
|
||||||
boolean isAllowedEditing = provider instanceof ILanguageSettingsEditableProvider
|
boolean isAllowedToEdit = provider instanceof ILanguageSettingsEditableProvider
|
||||||
&& LanguageSettingsProviderAssociationManager.isAllowedToEditEntries(provider);
|
&& LanguageSettingsProviderAssociationManager.isAllowedToEditEntries(provider);
|
||||||
|
|
||||||
boolean isAllowedClearing = provider instanceof ILanguageSettingsEditableProvider
|
boolean isAllowedToClear = provider instanceof ILanguageSettingsEditableProvider
|
||||||
&& LanguageSettingsProviderAssociationManager.isAllowedToClear(provider);
|
&& LanguageSettingsProviderAssociationManager.isAllowedToClear(provider);
|
||||||
|
|
||||||
boolean canAdd = isAllowedEditing;
|
boolean canAdd = isAllowedToEdit;
|
||||||
boolean canEdit = isAllowedEditing && isEntrySelected;
|
boolean canEdit = isAllowedToEdit && isEntrySelected;
|
||||||
boolean canDelete = isAllowedEditing && isEntrySelected;
|
boolean canDelete = isAllowedToEdit && isEntrySelected;
|
||||||
boolean canClear = isAllowedClearing && isProviderSelected && entries!=null && entries.size()>0;
|
boolean canClear = isAllowedToClear && isProviderSelected && entries != null && entries.size() > 0;
|
||||||
|
|
||||||
boolean canMoveUp = false;
|
boolean canMoveUp = false;
|
||||||
boolean canMoveDown = false;
|
boolean canMoveDown = false;
|
||||||
if (isAllowedEditing && isEntrySelected && entries!=null) {
|
if (isAllowedToEdit && isEntrySelected && entries != null) {
|
||||||
int last = entries.size()-1;
|
int last = entries.size() - 1;
|
||||||
int pos = getExactIndex(entries, entry);
|
int pos = getExactIndex(entries, entry);
|
||||||
|
|
||||||
if (pos>=0 && pos<=last) {
|
if (pos >= 0 && pos <= last) {
|
||||||
canMoveUp = pos!=0;
|
canMoveUp = (pos != 0);
|
||||||
canMoveDown = pos!=last;
|
canMoveDown = (pos != last);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -558,7 +561,6 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
|
|
||||||
buttonSetEnabled(BUTTON_MOVE_UP, canMoveUp);
|
buttonSetEnabled(BUTTON_MOVE_UP, canMoveUp);
|
||||||
buttonSetEnabled(BUTTON_MOVE_DOWN, canMoveDown);
|
buttonSetEnabled(BUTTON_MOVE_DOWN, canMoveDown);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -606,9 +608,6 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
case BUTTON_DELETE:
|
case BUTTON_DELETE:
|
||||||
performDelete(selectedProvider, selectedEntry);
|
performDelete(selectedProvider, selectedEntry);
|
||||||
break;
|
break;
|
||||||
// case BUTTON_CONFIGURE:
|
|
||||||
// performConfigure(selectedProvider);
|
|
||||||
// break;
|
|
||||||
case BUTTON_MOVE_UP:
|
case BUTTON_MOVE_UP:
|
||||||
performMoveUp(selectedProvider, selectedEntry);
|
performMoveUp(selectedProvider, selectedEntry);
|
||||||
break;
|
break;
|
||||||
|
@ -630,9 +629,9 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
* @return exact position of the element or -1 of not found.
|
* @return exact position of the element or -1 of not found.
|
||||||
*/
|
*/
|
||||||
private int getExactIndex(List<ICLanguageSettingEntry> entries, ICLanguageSettingEntry entry) {
|
private int getExactIndex(List<ICLanguageSettingEntry> entries, ICLanguageSettingEntry entry) {
|
||||||
if (entries!=null) {
|
if (entries != null) {
|
||||||
for (int i=0;i<entries.size();i++) {
|
for (int i = 0; i < entries.size(); i++) {
|
||||||
if (entries.get(i)==entry)
|
if (entries.get(i) == entry)
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -675,13 +674,13 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
|
|
||||||
private void selectItem(String providerId, ICLanguageSettingEntry entry) {
|
private void selectItem(String providerId, ICLanguageSettingEntry entry) {
|
||||||
TreeItem providerItem = findProviderItem(providerId);
|
TreeItem providerItem = findProviderItem(providerId);
|
||||||
if (providerItem!=null) {
|
if (providerItem != null) {
|
||||||
treeEntries.select(providerItem);
|
treeEntries.select(providerItem);
|
||||||
if (providerItem.getItems().length>0) {
|
if (providerItem.getItems().length > 0) {
|
||||||
treeEntries.showItem(providerItem.getItems()[0]);
|
treeEntries.showItem(providerItem.getItems()[0]);
|
||||||
}
|
}
|
||||||
TreeItem entryItem = findEntryItem(providerId, entry);
|
TreeItem entryItem = findEntryItem(providerId, entry);
|
||||||
if (entryItem!=null) {
|
if (entryItem != null) {
|
||||||
treeEntries.showItem(entryItem);
|
treeEntries.showItem(entryItem);
|
||||||
treeEntries.select(entryItem);
|
treeEntries.select(entryItem);
|
||||||
}
|
}
|
||||||
|
@ -689,16 +688,16 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addEntry(ILanguageSettingsProvider provider, ICLanguageSettingEntry entry) {
|
private void addEntry(ILanguageSettingsProvider provider, ICLanguageSettingEntry entry) {
|
||||||
if (provider!=null && entry != null) {
|
if (provider != null && entry != null) {
|
||||||
String providerId = provider.getId();
|
String providerId = provider.getId();
|
||||||
|
|
||||||
List<ICLanguageSettingEntry> entries = getWritableEntries(provider);
|
List<ICLanguageSettingEntry> entries = getEntriesShownToUser(provider);
|
||||||
ICLanguageSettingEntry selectedEntry = getSelectedEntry();
|
ICLanguageSettingEntry selectedEntry = getSelectedEntry();
|
||||||
int pos = getExactIndex(entries, selectedEntry);
|
int pos = getExactIndex(entries, selectedEntry);
|
||||||
entries.add(pos+1, entry);
|
entries.add(pos+1, entry);
|
||||||
saveEntries(provider, entries);
|
saveEntries(provider, entries);
|
||||||
|
|
||||||
updateTreeEntries();
|
updateTreeForEntries();
|
||||||
selectItem(providerId, entry);
|
selectItem(providerId, entry);
|
||||||
updateButtons();
|
updateButtons();
|
||||||
}
|
}
|
||||||
|
@ -708,7 +707,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
if (provider instanceof ILanguageSettingsEditableProvider) {
|
if (provider instanceof ILanguageSettingsEditableProvider) {
|
||||||
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
||||||
IResource rc = getResource();
|
IResource rc = getResource();
|
||||||
if (entries!=null && rc!=null) {
|
if (entries != null && rc != null) {
|
||||||
List<ICLanguageSettingEntry> parentEntries = null;
|
List<ICLanguageSettingEntry> parentEntries = null;
|
||||||
if (rc instanceof IProject) {
|
if (rc instanceof IProject) {
|
||||||
parentEntries = new ArrayList<ICLanguageSettingEntry>();
|
parentEntries = new ArrayList<ICLanguageSettingEntry>();
|
||||||
|
@ -724,7 +723,11 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<ICLanguageSettingEntry> getWritableEntries(ILanguageSettingsProvider provider) {
|
/**
|
||||||
|
* Get list of setting entries shown to user. If current resource has no entries assigned the parent
|
||||||
|
* resource is inspected.
|
||||||
|
*/
|
||||||
|
private List<ICLanguageSettingEntry> getEntriesShownToUser(ILanguageSettingsProvider provider) {
|
||||||
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
||||||
IResource rc = getResource();
|
IResource rc = getResource();
|
||||||
List<ICLanguageSettingEntry> entries = provider.getSettingEntries(cfgDescription, rc, currentLanguageId);
|
List<ICLanguageSettingEntry> entries = provider.getSettingEntries(cfgDescription, rc, currentLanguageId);
|
||||||
|
@ -735,49 +738,44 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
return entries;
|
return entries;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ICLanguageSettingEntry doAdd() {
|
|
||||||
ICLanguageSettingEntry selectedEntry = getSelectedEntry();
|
|
||||||
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
|
||||||
LanguageSettingEntryDialog dlg = new LanguageSettingEntryDialog(usercomp.getShell(), cfgDescription, selectedEntry, true);
|
|
||||||
if (dlg.open()) {
|
|
||||||
return dlg.getEntries()[0];
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void performAdd(ILanguageSettingsProvider selectedProvider) {
|
private void performAdd(ILanguageSettingsProvider selectedProvider) {
|
||||||
if (selectedProvider instanceof ILanguageSettingsEditableProvider) {
|
if (selectedProvider instanceof ILanguageSettingsEditableProvider) {
|
||||||
ICLanguageSettingEntry settingEntry = doAdd();
|
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
||||||
if (settingEntry!=null) {
|
ICLanguageSettingEntry selectedEntry = getSelectedEntry();
|
||||||
selectedProvider = arrangeEditedCopy((ILanguageSettingsEditableProvider)selectedProvider);
|
LanguageSettingEntryDialog addDialog = new LanguageSettingEntryDialog(usercomp.getShell(), cfgDescription, selectedEntry, true);
|
||||||
|
if (addDialog.open()) {
|
||||||
|
ICLanguageSettingEntry settingEntry = addDialog.getEntries()[0];
|
||||||
|
if (settingEntry != null) {
|
||||||
|
selectedProvider = getEditedCopy((ILanguageSettingsEditableProvider)selectedProvider);
|
||||||
addEntry(selectedProvider, settingEntry);
|
addEntry(selectedProvider, settingEntry);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param selectedProvider
|
* Return provider copy being edited in current session. If the supplied provider is already the edited copy
|
||||||
* @return
|
* return it. If not, create a copy to be edited.
|
||||||
*/
|
*/
|
||||||
private ILanguageSettingsEditableProvider arrangeEditedCopy(ILanguageSettingsEditableProvider selectedProvider) {
|
private ILanguageSettingsEditableProvider getEditedCopy(ILanguageSettingsEditableProvider provider) {
|
||||||
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
||||||
List<ILanguageSettingsProvider> initialProviders = initialProvidersMap.get(cfgDescription.getId());
|
List<ILanguageSettingsProvider> initialProviders = initialProvidersMap.get(cfgDescription.getId());
|
||||||
if (initialProviders.contains(selectedProvider)) {
|
if (initialProviders.contains(provider)) {
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>(((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders());
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>(((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders());
|
||||||
int pos = providers.indexOf(selectedProvider);
|
int pos = providers.indexOf(provider);
|
||||||
if (pos>=0) {
|
if (pos >= 0) {
|
||||||
try {
|
try {
|
||||||
selectedProvider = selectedProvider.clone();
|
provider = provider.clone();
|
||||||
providers.set(pos, selectedProvider);
|
providers.set(pos, provider);
|
||||||
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
} catch (CloneNotSupportedException e) {
|
} catch (CloneNotSupportedException e) {
|
||||||
CUIPlugin.log("Internal Error: cannot clone provider "+selectedProvider.getId(), e);
|
CUIPlugin.log("Internal Error: cannot clone provider "+provider.getId(), e);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
CUIPlugin.getDefault().logErrorMessage("Internal Error: cannot find provider "+selectedProvider.getId());
|
CUIPlugin.getDefault().logErrorMessage("Internal Error: cannot find provider "+provider.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return selectedProvider;
|
return provider;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ICLanguageSettingEntry doEdit(ICLanguageSettingEntry ent) {
|
private ICLanguageSettingEntry doEdit(ICLanguageSettingEntry ent) {
|
||||||
|
@ -791,42 +789,62 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void performEdit(ILanguageSettingsProvider selectedProvider, ICLanguageSettingEntry selectedEntry) {
|
private void performEdit(ILanguageSettingsProvider selectedProvider, ICLanguageSettingEntry selectedEntry) {
|
||||||
if (selectedProvider instanceof ILanguageSettingsEditableProvider) {
|
if (selectedProvider instanceof ILanguageSettingsEditableProvider && selectedEntry != null) {
|
||||||
ICLanguageSettingEntry settingEntry = doEdit(selectedEntry);
|
ICConfigurationDescription cfgDecsription = getConfigurationDescription();
|
||||||
if (settingEntry!=null) {
|
LanguageSettingEntryDialog editDialog = new LanguageSettingEntryDialog(usercomp.getShell(), cfgDecsription, selectedEntry);
|
||||||
selectedProvider = arrangeEditedCopy((ILanguageSettingsEditableProvider)selectedProvider);
|
if (editDialog.open()) {
|
||||||
deleteEntry(selectedProvider, selectedEntry);
|
ICLanguageSettingEntry newEntry = editDialog.getEntries()[0];
|
||||||
addEntry(selectedProvider, settingEntry);
|
if (newEntry != null) {
|
||||||
|
selectedProvider = getEditedCopy((ILanguageSettingsEditableProvider)selectedProvider);
|
||||||
|
replaceEntry(selectedProvider, selectedEntry, newEntry);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void deleteEntry(ILanguageSettingsProvider provider, ICLanguageSettingEntry entry) {
|
private void deleteEntry(ILanguageSettingsProvider provider, ICLanguageSettingEntry entry) {
|
||||||
if (provider!=null && entry != null) {
|
if (provider != null && entry != null) {
|
||||||
String providerId = provider.getId();
|
String providerId = provider.getId();
|
||||||
|
|
||||||
List<ICLanguageSettingEntry> entries = getWritableEntries(provider);
|
List<ICLanguageSettingEntry> entries = getEntriesShownToUser(provider);
|
||||||
int pos = getExactIndex(entries, entry);
|
int pos = getExactIndex(entries, entry);
|
||||||
entries.remove(entry);
|
entries.remove(entry);
|
||||||
saveEntries(provider, entries);
|
saveEntries(provider, entries);
|
||||||
|
|
||||||
if (pos>=entries.size())
|
if (pos >= entries.size()) {
|
||||||
pos = entries.size()-1;
|
pos = entries.size() - 1;
|
||||||
ICLanguageSettingEntry nextEntry = pos>=0 ? entries.get(pos) : null;
|
}
|
||||||
|
ICLanguageSettingEntry entryToSelect = (pos >= 0) ? entries.get(pos) : null;
|
||||||
|
|
||||||
updateTreeEntries();
|
updateTreeForEntries();
|
||||||
selectItem(providerId, nextEntry);
|
selectItem(providerId, entryToSelect);
|
||||||
|
updateButtons();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void replaceEntry(ILanguageSettingsProvider provider, ICLanguageSettingEntry oldEntry, ICLanguageSettingEntry newEntry) {
|
||||||
|
if (provider != null && oldEntry != null && newEntry != null) {
|
||||||
|
String providerId = provider.getId();
|
||||||
|
|
||||||
|
List<ICLanguageSettingEntry> entries = getEntriesShownToUser(provider);
|
||||||
|
int pos = getExactIndex(entries, oldEntry);
|
||||||
|
entries.set(pos, newEntry);
|
||||||
|
saveEntries(provider, entries);
|
||||||
|
|
||||||
|
updateTreeForEntries();
|
||||||
|
selectItem(providerId, newEntry);
|
||||||
updateButtons();
|
updateButtons();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void clearProvider(ILanguageSettingsProvider provider) {
|
private void clearProvider(ILanguageSettingsProvider provider) {
|
||||||
if (provider!=null) {
|
if (provider != null) {
|
||||||
String providerId = provider.getId();
|
String providerId = provider.getId();
|
||||||
List<ICLanguageSettingEntry> empty = new ArrayList<ICLanguageSettingEntry>();
|
List<ICLanguageSettingEntry> empty = new ArrayList<ICLanguageSettingEntry>();
|
||||||
saveEntries(provider, empty);
|
saveEntries(provider, empty);
|
||||||
|
|
||||||
updateTreeEntries();
|
updateTreeForEntries();
|
||||||
selectItem(providerId, null);
|
selectItem(providerId, null);
|
||||||
updateButtons();
|
updateButtons();
|
||||||
}
|
}
|
||||||
|
@ -834,8 +852,8 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
|
|
||||||
private void performDelete(ILanguageSettingsProvider selectedProvider, ICLanguageSettingEntry selectedEntry) {
|
private void performDelete(ILanguageSettingsProvider selectedProvider, ICLanguageSettingEntry selectedEntry) {
|
||||||
if (selectedProvider instanceof ILanguageSettingsEditableProvider) {
|
if (selectedProvider instanceof ILanguageSettingsEditableProvider) {
|
||||||
selectedProvider = arrangeEditedCopy((ILanguageSettingsEditableProvider)selectedProvider);
|
selectedProvider = getEditedCopy((ILanguageSettingsEditableProvider)selectedProvider);
|
||||||
if (selectedEntry!=null) {
|
if (selectedEntry != null) {
|
||||||
deleteEntry(selectedProvider, selectedEntry);
|
deleteEntry(selectedProvider, selectedEntry);
|
||||||
} else {
|
} else {
|
||||||
clearProvider(selectedProvider);
|
clearProvider(selectedProvider);
|
||||||
|
@ -844,31 +862,31 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void moveEntry(ILanguageSettingsProvider provider, ICLanguageSettingEntry entry, boolean up) {
|
private void moveEntry(ILanguageSettingsProvider provider, ICLanguageSettingEntry entry, boolean up) {
|
||||||
if (provider!=null && entry != null) {
|
if (provider != null && entry != null) {
|
||||||
String providerId = provider.getId();
|
String providerId = provider.getId();
|
||||||
|
|
||||||
List<ICLanguageSettingEntry> entries = getWritableEntries(provider);
|
List<ICLanguageSettingEntry> entries = getEntriesShownToUser(provider);
|
||||||
int pos = getExactIndex(entries, entry);
|
int pos = getExactIndex(entries, entry);
|
||||||
int newPos = up ? pos-1 : pos+1;
|
int newPos = up ? pos-1 : pos+1;
|
||||||
Collections.swap(entries, pos, newPos);
|
Collections.swap(entries, pos, newPos);
|
||||||
saveEntries(provider, entries);
|
saveEntries(provider, entries);
|
||||||
|
|
||||||
updateTreeEntries();
|
updateTreeForEntries();
|
||||||
selectItem(providerId, entry);
|
selectItem(providerId, entry);
|
||||||
updateButtons();
|
updateButtons();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void performMoveUp(ILanguageSettingsProvider selectedProvider, ICLanguageSettingEntry selectedEntry) {
|
private void performMoveUp(ILanguageSettingsProvider selectedProvider, ICLanguageSettingEntry selectedEntry) {
|
||||||
if (selectedEntry!=null && (selectedProvider instanceof ILanguageSettingsEditableProvider)) {
|
if (selectedEntry != null && (selectedProvider instanceof ILanguageSettingsEditableProvider)) {
|
||||||
selectedProvider = arrangeEditedCopy((ILanguageSettingsEditableProvider)selectedProvider);
|
selectedProvider = getEditedCopy((ILanguageSettingsEditableProvider)selectedProvider);
|
||||||
moveEntry(selectedProvider, selectedEntry, true);
|
moveEntry(selectedProvider, selectedEntry, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void performMoveDown(ILanguageSettingsProvider selectedProvider, ICLanguageSettingEntry selectedEntry) {
|
private void performMoveDown(ILanguageSettingsProvider selectedProvider, ICLanguageSettingEntry selectedEntry) {
|
||||||
if (selectedEntry!=null && (selectedProvider instanceof ILanguageSettingsEditableProvider)) {
|
if (selectedEntry != null && (selectedProvider instanceof ILanguageSettingsEditableProvider)) {
|
||||||
selectedProvider = arrangeEditedCopy((ILanguageSettingsEditableProvider)selectedProvider);
|
selectedProvider = getEditedCopy((ILanguageSettingsEditableProvider)selectedProvider);
|
||||||
moveEntry(selectedProvider, selectedEntry, false);
|
moveEntry(selectedProvider, selectedEntry, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -900,16 +918,19 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Refreshes the entries tree in "Show Entries" mode.
|
* Re-reads and refreshes the entries tree.
|
||||||
*/
|
*/
|
||||||
public void updateTreeEntries() {
|
private void updateTreeForEntries() {
|
||||||
List<ILanguageSettingsProvider> tableItems = getProviders(currentLanguageId);
|
List<ILanguageSettingsProvider> tableItems = getProviders(currentLanguageId);
|
||||||
treeEntriesViewer.setInput(tableItems.toArray(new Object[tableItems.size()]));
|
treeEntriesViewer.setInput(tableItems.toArray(new Object[tableItems.size()]));
|
||||||
updateStatusLine();
|
updateStatusLine();
|
||||||
updateButtons();
|
updateButtons();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateTreeLanguages(ICResourceDescription rcDes) {
|
/**
|
||||||
|
* Re-reads and refreshes the languages tree.
|
||||||
|
*/
|
||||||
|
private void updateTreeForLanguages(ICResourceDescription rcDes) {
|
||||||
treeLanguages.removeAll();
|
treeLanguages.removeAll();
|
||||||
currentLanguageId = null;
|
currentLanguageId = null;
|
||||||
|
|
||||||
|
@ -959,7 +980,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
if (!canBeVisible())
|
if (!canBeVisible())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (rcDes!=null) {
|
if (rcDes != null) {
|
||||||
if (page.isMultiCfg()) {
|
if (page.isMultiCfg()) {
|
||||||
setAllVisible(false, null);
|
setAllVisible(false, null);
|
||||||
return;
|
return;
|
||||||
|
@ -967,12 +988,13 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
setAllVisible(true, null);
|
setAllVisible(true, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
updateTreeLanguages(rcDes);
|
updateTreeForLanguages(rcDes);
|
||||||
updateTreeEntries();
|
updateTreeForEntries();
|
||||||
if (masterPropertyPage!=null) {
|
|
||||||
|
if (masterPropertyPage != null) {
|
||||||
boolean enabled = masterPropertyPage.isLanguageSettingsProvidersEnabled();
|
boolean enabled = masterPropertyPage.isLanguageSettingsProvidersEnabled();
|
||||||
enableProvidersCheckBox.setSelection(enabled);
|
enableProvidersCheckBox.setSelection(enabled);
|
||||||
enableControls(enabled);
|
enableTabControls(enabled);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
updateButtons();
|
updateButtons();
|
||||||
|
@ -1034,17 +1056,6 @@ providers: for (ILanguageSettingsProvider provider : oldProviders) {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void performApply(ICResourceDescription srcRcDescription, ICResourceDescription destRcDescription) {
|
protected void performApply(ICResourceDescription srcRcDescription, ICResourceDescription destRcDescription) {
|
||||||
if (!page.isForPrefs()) {
|
|
||||||
ICConfigurationDescription srcCfgDescription = srcRcDescription.getConfiguration();
|
|
||||||
ICConfigurationDescription destCfgDescription = destRcDescription.getConfiguration();
|
|
||||||
|
|
||||||
if (srcCfgDescription instanceof ILanguageSettingsProvidersKeeper
|
|
||||||
&& destCfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
|
||||||
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) srcCfgDescription).getLanguageSettingProviders();
|
|
||||||
((ILanguageSettingsProvidersKeeper) destCfgDescription).setLanguageSettingProviders(providers);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!page.isForPrefs()) {
|
if (!page.isForPrefs()) {
|
||||||
ICConfigurationDescription sd = srcRcDescription.getConfiguration();
|
ICConfigurationDescription sd = srcRcDescription.getConfiguration();
|
||||||
ICConfigurationDescription dd = destRcDescription.getConfiguration();
|
ICConfigurationDescription dd = destRcDescription.getConfiguration();
|
||||||
|
@ -1054,34 +1065,39 @@ providers: for (ILanguageSettingsProvider provider : oldProviders) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
performOK();
|
setLanguageSettingsProvidersFunctionalityEnablement();
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void performOK() {
|
|
||||||
if (page.isForProject() && enableProvidersCheckBox!=null) {
|
|
||||||
boolean enabled = enableProvidersCheckBox.getSelection();
|
|
||||||
if (masterPropertyPage!=null)
|
|
||||||
enabled = masterPropertyPage.isLanguageSettingsProvidersEnabled();
|
|
||||||
ScannerDiscoveryLegacySupport.setLanguageSettingsProvidersFunctionalityEnabled(page.getProject(), enabled);
|
|
||||||
enableProvidersCheckBox.setSelection(enabled);
|
|
||||||
}
|
|
||||||
|
|
||||||
trackInitialSettings();
|
trackInitialSettings();
|
||||||
updateData(getResDesc());
|
updateData(getResDesc());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canBeVisible() {
|
protected void performOK() {
|
||||||
if (CDTPrefUtil.getBool(CDTPrefUtil.KEY_NO_SHOW_PROVIDERS))
|
setLanguageSettingsProvidersFunctionalityEnablement();
|
||||||
return false;
|
}
|
||||||
|
|
||||||
//filter out files not associated with any languages such as *.o
|
private void setLanguageSettingsProvidersFunctionalityEnablement() {
|
||||||
|
if (page.isForProject() && enableProvidersCheckBox != null) {
|
||||||
|
boolean enabled = enableProvidersCheckBox.getSelection();
|
||||||
|
if (masterPropertyPage != null) {
|
||||||
|
enabled = masterPropertyPage.isLanguageSettingsProvidersEnabled();
|
||||||
|
}
|
||||||
|
ScannerDiscoveryLegacySupport.setLanguageSettingsProvidersFunctionalityEnabled(page.getProject(), enabled);
|
||||||
|
enableProvidersCheckBox.setSelection(enabled);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canBeVisible() {
|
||||||
|
if (CDTPrefUtil.getBool(CDTPrefUtil.KEY_NO_SHOW_PROVIDERS)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// filter out files not associated with any languages such as *.o
|
||||||
if (page.isForFile()) {
|
if (page.isForFile()) {
|
||||||
List<String> languageIds = LanguageSettingsManager.getLanguages(getResDesc());
|
List<String> languageIds = LanguageSettingsManager.getLanguages(getResDesc());
|
||||||
for (String langId : languageIds) {
|
for (String langId : languageIds) {
|
||||||
LanguageManager langManager = LanguageManager.getInstance();
|
ILanguage language = LanguageManager.getInstance().getLanguage(langId);
|
||||||
ILanguage language = langManager.getLanguage(langId);
|
|
||||||
if (language != null)
|
if (language != null)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,8 +14,6 @@ import org.eclipse.cdt.core.language.settings.providers.ScannerDiscoveryLegacySu
|
||||||
import org.eclipse.cdt.ui.newui.AbstractPage;
|
import org.eclipse.cdt.ui.newui.AbstractPage;
|
||||||
import org.eclipse.cdt.ui.newui.ICPropertyTab;
|
import org.eclipse.cdt.ui.newui.ICPropertyTab;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @noextend This class is not intended to be subclassed by clients.
|
* @noextend This class is not intended to be subclassed by clients.
|
||||||
* @noinstantiate This class is not intended to be instantiated by clients.
|
* @noinstantiate This class is not intended to be instantiated by clients.
|
||||||
|
@ -29,7 +27,7 @@ public class Page_LanguageSettingsProviders extends AbstractPage {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isLanguageSettingsProvidersEnabled() {
|
public boolean isLanguageSettingsProvidersEnabled() {
|
||||||
if (isLanguageSettingsProvidersEnabled==null) {
|
if (isLanguageSettingsProvidersEnabled == null) {
|
||||||
isLanguageSettingsProvidersEnabled = ScannerDiscoveryLegacySupport.isLanguageSettingsProvidersFunctionalityEnabled(getProject());
|
isLanguageSettingsProvidersEnabled = ScannerDiscoveryLegacySupport.isLanguageSettingsProvidersFunctionalityEnabled(getProject());
|
||||||
}
|
}
|
||||||
return isLanguageSettingsProvidersEnabled;
|
return isLanguageSettingsProvidersEnabled;
|
||||||
|
|
Loading…
Add table
Reference in a new issue