From d192508e91ee6560b3710009d5e94544c4a973cc Mon Sep 17 00:00:00 2001 From: Andrew Gvozdev Date: Thu, 8 Sep 2011 12:47:44 -0400 Subject: [PATCH] tidy up - using language id to keep track of current language rather than ICLanguageSetting --- .../providers/LanguageSettingsEntriesTab.java | 83 ++++++++----------- .../LanguageSettingsProviderTab.java | 15 ---- 2 files changed, 34 insertions(+), 64 deletions(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsEntriesTab.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsEntriesTab.java index 3ba27138aa5..04331a7ae4c 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsEntriesTab.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsEntriesTab.java @@ -88,7 +88,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab { private Tree treeLanguages; private Tree treeEntries; private TreeViewer treeEntriesViewer; - private ICLanguageSetting currentLanguageSetting = null; + private String currentLanguageId = null; private ICLanguageSetting[] allLanguages; private Button builtInCheckBox; @@ -125,7 +125,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab { // if (LanguageSettingsManager.isWorkspaceProvider(provider)) // provider = LanguageSettingsManager.getRawWorkspaceProvider(provider.getId()); // - if (currentLanguageSetting != null) { + if (currentLanguageId != null) { IResource rc = getResource(); List entries = getSettingEntries(provider); if (entries == null && !(rc instanceof IProject)) { @@ -136,8 +136,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab { } else if (provider instanceof ILanguageSettingsEditableProvider && (page.isForFile() || page.isForFolder())) { // Assuming that the default entries for a resource are always null. // Using that for performance reasons. See note in PerformDefaults(). - String languageId = currentLanguageSetting.getLanguageId(); - List entriesParent = provider.getSettingEntries(null, null, languageId); + List entriesParent = provider.getSettingEntries(null, null, currentLanguageId); if (entries!=null && !entries.equals(entriesParent)) { overlayKeys[IDecoration.TOP_RIGHT] = CDTSharedImages.IMG_OVR_SETTING; } @@ -289,16 +288,12 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab { * @return list of setting entries for the current context. */ private List getSettingEntriesUpResourceTree(ILanguageSettingsProvider provider) { - if (currentLanguageSetting==null) - return null; - - String languageId = currentLanguageSetting.getLanguageId(); - if (languageId==null) + if (currentLanguageId==null) return null; ICConfigurationDescription cfgDescription = getConfigurationDescription(); IResource rc = getResource(); - List entries = LanguageSettingsManager.getSettingEntriesUpResourceTree(provider, cfgDescription, rc, languageId); + List entries = LanguageSettingsManager.getSettingEntriesUpResourceTree(provider, cfgDescription, rc, currentLanguageId); return entries; } @@ -307,13 +302,12 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab { * @return list of setting entries for the current context. */ private List getSettingEntries(ILanguageSettingsProvider provider) { - String languageId = currentLanguageSetting.getLanguageId(); - if (languageId==null) + if (currentLanguageId==null) return null; ICConfigurationDescription cfgDescription = getConfigurationDescription(); IResource rc = getResource(); - return provider.getSettingEntries(cfgDescription, rc, languageId); + return provider.getSettingEntries(cfgDescription, rc, currentLanguageId); } private void addTreeForLanguages(Composite comp) { @@ -328,7 +322,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab { if (items.length > 0) { ICLanguageSetting langSetting = (ICLanguageSetting) items[0].getData(); if (langSetting != null) { - currentLanguageSetting = langSetting; + currentLanguageId = langSetting.getLanguageId(); updateTreeEntries(); updateButtons(); } @@ -689,33 +683,29 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab { } private void saveEntries(ILanguageSettingsProvider provider, List entries) { - ICConfigurationDescription cfgDescription = getConfigurationDescription(); - IResource rc = getResource(); - String languageId = currentLanguageSetting.getLanguageId(); - if (provider instanceof LanguageSettingsSerializable) { + ICConfigurationDescription cfgDescription = getConfigurationDescription(); + IResource rc = getResource(); if (entries!=null && rc!=null) { List parentEntries = null; if (rc instanceof IProject) { parentEntries = new ArrayList(); } else { - parentEntries = LanguageSettingsManager.getSettingEntriesUpResourceTree(provider, cfgDescription, rc.getParent(), languageId); + parentEntries = LanguageSettingsManager.getSettingEntriesUpResourceTree(provider, cfgDescription, rc.getParent(), currentLanguageId); } if (entries.equals(parentEntries)) { // to use parent entries instead entries = null; } } - ((LanguageSettingsSerializable)provider).setSettingEntries(cfgDescription, rc, languageId, entries); + ((LanguageSettingsSerializable)provider).setSettingEntries(cfgDescription, rc, currentLanguageId, entries); } } private List getWritableEntries(ILanguageSettingsProvider provider) { ICConfigurationDescription cfgDescription = getConfigurationDescription(); IResource rc = getResource(); - String languageId = currentLanguageSetting.getLanguageId(); - - List entries = provider.getSettingEntries(cfgDescription, rc, languageId); + List entries = provider.getSettingEntries(cfgDescription, rc, currentLanguageId); if (entries==null) { entries = getSettingEntriesUpResourceTree(provider); } @@ -864,26 +854,23 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab { /** * Get list of providers to display in the settings entry tree. */ - private List getProviders(ICLanguageSetting languageSetting) { + private List getProviders(String languageSettingId) { List itemsList = new LinkedList(); - if (languageSetting!=null) { - String langId = languageSetting.getLanguageId(); - if (langId != null) { - IResource rc = getResource(); - ICConfigurationDescription cfgDescription = getConfigurationDescription(); - if (rc!=null && cfgDescription!=null) { - List cfgProviders = cfgDescription.getLanguageSettingProviders(); - for (ILanguageSettingsProvider cfgProvider : cfgProviders) { - ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(cfgProvider); - if (rawProvider instanceof LanguageSettingsBaseProvider) { - // filter out providers incapable of providing entries for this language - List languageIds = ((LanguageSettingsBaseProvider)rawProvider).getLanguageScope(); - if (languageIds!=null && !languageIds.contains(langId)) { - continue; - } + if (currentLanguageId!=null) { + IResource rc = getResource(); + ICConfigurationDescription cfgDescription = getConfigurationDescription(); + if (rc!=null && cfgDescription!=null) { + List cfgProviders = cfgDescription.getLanguageSettingProviders(); + for (ILanguageSettingsProvider cfgProvider : cfgProviders) { + ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(cfgProvider); + if (rawProvider instanceof LanguageSettingsBaseProvider) { + // filter out providers incapable of providing entries for this language + List languageIds = ((LanguageSettingsBaseProvider)rawProvider).getLanguageScope(); + if (languageIds!=null && !languageIds.contains(currentLanguageId)) { + continue; } - itemsList.add(cfgProvider); } + itemsList.add(cfgProvider); } } } @@ -894,7 +881,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab { * Refreshes the entries tree in "Show Entries" mode. */ public void updateTreeEntries() { - List tableItems = getProviders(currentLanguageSetting); + List tableItems = getProviders(currentLanguageId); treeEntriesViewer.setInput(tableItems.toArray(new Object[tableItems.size()])); updateStatusLine(); updateButtons(); @@ -938,14 +925,13 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab { t.setText(0, langId); t.setData(langSetting); if (selectedLanguageItem == null) { - if (currentLanguageSetting!=null) { - if (currentLanguageSetting.getLanguageId().equals(langSetting.getLanguageId())) { + if (currentLanguageId!=null) { + if (currentLanguageId.equals(langSetting.getLanguageId())) { selectedLanguageItem = t; - currentLanguageSetting = langSetting; } } else { selectedLanguageItem = t; - currentLanguageSetting = langSetting; + currentLanguageId = langSetting.getLanguageId(); } } } @@ -1034,7 +1020,7 @@ providers: for (ILanguageSettingsProvider provider : providers) { cfgDescription.setLanguageSettingProviders(writableProviders); // updateTreeEntries(); // updateData(getResDesc()); - List tableItems = getProviders(currentLanguageSetting); + List tableItems = getProviders(currentLanguageId); treeEntriesViewer.setInput(tableItems.toArray(new Object[tableItems.size()])); } } @@ -1117,9 +1103,8 @@ providers: for (ILanguageSettingsProvider provider : providers) { private void setSettingEntries(ILanguageSettingsEditableProvider provider, List entries) { ICConfigurationDescription cfgDescription = getConfigurationDescription(); IResource rc = getResource(); - String languageId = currentLanguageSetting.getLanguageId(); - if (languageId!=null) - provider.setSettingEntries(cfgDescription, rc, languageId, entries); + if (currentLanguageId!=null) + provider.setSettingEntries(cfgDescription, rc, currentLanguageId, entries); } @Override diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsProviderTab.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsProviderTab.java index 9ef1e62d10f..9277ca42dc0 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsProviderTab.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsProviderTab.java @@ -824,21 +824,6 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab { updateButtons(); } - private ICLanguageSetting[] getLangSettings(ICResourceDescription rcDes) { - switch (rcDes.getType()) { - case ICSettingBase.SETTING_PROJECT: - case ICSettingBase.SETTING_CONFIGURATION: - case ICSettingBase.SETTING_FOLDER: - ICFolderDescription foDes = (ICFolderDescription) rcDes; - return foDes.getLanguageSettings(); - case ICSettingBase.SETTING_FILE: - ICFileDescription fiDes = (ICFileDescription) rcDes; - ICLanguageSetting langSetting = fiDes.getLanguageSetting(); - return (langSetting != null) ? new ICLanguageSetting[] { langSetting } : null; - } - return null; - } - /** * Called when configuration changed */