1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-11 02:05:39 +02:00

Bug fix: tab should not be displayed if no languages supported for element.

This commit is contained in:
Oleg Krasilnikov 2007-02-26 13:29:12 +00:00
parent dc3905bfb1
commit 53988fe210

View file

@ -208,10 +208,11 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab {
public void updateData(ICResourceDescription cfg) { public void updateData(ICResourceDescription cfg) {
if (cfg == null) return; if (cfg == null) return;
updateExport(); updateExport();
ICLanguageSetting []ls = getLangSetting(cfg);
Arrays.sort(ls, CDTListComparator.getInstance());
langTree.removeAll(); langTree.removeAll();
TreeItem firstItem = null; TreeItem firstItem = null;
ICLanguageSetting []ls = getLangSetting(cfg);
if (ls != null) {
Arrays.sort(ls, CDTListComparator.getInstance());
for (int i=0; i<ls.length; i++) { for (int i=0; i<ls.length; i++) {
if ((ls[i].getSupportedEntryKinds() & getKind()) != 0) { if ((ls[i].getSupportedEntryKinds() & getKind()) != 0) {
TreeItem t = new TreeItem(langTree, SWT.NONE); TreeItem t = new TreeItem(langTree, SWT.NONE);
@ -227,6 +228,7 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab {
if (firstItem != null && table != null) { if (firstItem != null && table != null) {
langTree.setSelection(firstItem); langTree.setSelection(firstItem);
} }
}
update(); update();
} }
@ -388,7 +390,8 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab {
return foDes.getLanguageSettings(); return foDes.getLanguageSettings();
case ICSettingBase.SETTING_FILE: case ICSettingBase.SETTING_FILE:
ICFileDescription fiDes = (ICFileDescription)rcDes; ICFileDescription fiDes = (ICFileDescription)rcDes;
return new ICLanguageSetting[] { fiDes.getLanguageSetting() }; ICLanguageSetting ls = fiDes.getLanguageSetting();
return (ls != null) ? new ICLanguageSetting[] { ls } : null;
} }
return null; return null;
} }
@ -396,6 +399,7 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab {
public boolean canBeVisible() { public boolean canBeVisible() {
if (getResDesc() == null) return true; if (getResDesc() == null) return true;
ICLanguageSetting [] ls = getLangSetting(getResDesc()); ICLanguageSetting [] ls = getLangSetting(getResDesc());
if (ls == null) return false;
for (int i=0; i<ls.length; i++) { for (int i=0; i<ls.length; i++) {
if ((ls[i].getSupportedEntryKinds() & getKind()) != 0) if ((ls[i].getSupportedEntryKinds() & getKind()) != 0)
return true; return true;