diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/newui/Messages.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/newui/Messages.java index 8966825b2df..37d89d09a41 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/newui/Messages.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/newui/Messages.java @@ -216,10 +216,11 @@ public class Messages extends NLS { public static String ProjectContentsArea_7; public static String ProjectContentsArea_8; public static String ProjectContentsArea_9; - public static String RefsTab_0; - public static String RefsTab_2; - public static String RefsTab_3; - public static String RefsTab_4; + public static String RefsTab_ExpandAll; + public static String RefsTab_CollapseAll; + public static String RefsTab_Active; + public static String RefsTab_ProjectsList; + public static String RefsTab_ConfigurationsAccessError; public static String RenameConfiguration_error_caseName; public static String RenameConfiguration_error_duplicateName; public static String RenameConfiguration_error_invalidName; diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/newui/Messages.properties b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/newui/Messages.properties index 1e60531ea5d..fe4c9897964 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/newui/Messages.properties +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/newui/Messages.properties @@ -165,10 +165,11 @@ LibraryPathTab_1=Add... LibraryPathTab_2=Edit... LibraryTab_1=Add... LibraryTab_2=Edit... -RefsTab_0=Expand All -RefsTab_2=Collapse All -RefsTab_3=Active -RefsTab_4=Projects list +RefsTab_ExpandAll=Expand All +RefsTab_CollapseAll=Collapse All +RefsTab_Active=Active +RefsTab_ProjectsList=Projects list +RefsTab_ConfigurationsAccessError=Internal error trying access configurations of project SymbolTab_0=Symbol SymbolTab_1=Value SymbolTab_2=Add symbol diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/RefsTab.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/RefsTab.java index f0cad458e85..4558fe5b29f 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/RefsTab.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/RefsTab.java @@ -39,6 +39,7 @@ import org.eclipse.swt.widgets.TreeItem; import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; import org.eclipse.cdt.core.settings.model.ICResourceDescription; +import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.internal.ui.newui.Messages; @@ -52,7 +53,7 @@ public class RefsTab extends AbstractCPropertyTab { public Composite comp; private Tree tree; - static private final String ACTIVE = "[" + Messages.RefsTab_3 + "]"; //$NON-NLS-1$ //$NON-NLS-2$ + static private final String ACTIVE = "[" + Messages.RefsTab_Active + "]"; //$NON-NLS-1$ //$NON-NLS-2$ private static final int EXPAND_ALL_BUTTON = 0; private static final int COLLAPSE_ALL_BUTTON = 1; @@ -63,8 +64,8 @@ public class RefsTab extends AbstractCPropertyTab { public void createControls(Composite parent) { super.createControls(parent); initButtons(new String[] { - Messages.RefsTab_0, - Messages.RefsTab_2, + Messages.RefsTab_ExpandAll, + Messages.RefsTab_CollapseAll, null, MOVEUP_STR, MOVEDOWN_STR}, 120); @@ -73,10 +74,10 @@ public class RefsTab extends AbstractCPropertyTab { tree = new Tree(usercomp, SWT.SINGLE | SWT.CHECK | SWT.BORDER); tree.setLayoutData(new GridData(GridData.FILL_BOTH)); tree.getAccessible().addAccessibleListener( - new AccessibleAdapter() { + new AccessibleAdapter() { @Override public void getName(AccessibleEvent e) { - e.result = Messages.RefsTab_4; + e.result = Messages.RefsTab_ProjectsList; } } ); @@ -134,12 +135,12 @@ public class RefsTab extends AbstractCPropertyTab { tree.addTreeListener(new TreeListener() { public void treeCollapsed(TreeEvent e) { - updateExpandButtons(e, false, true); + updateExpandButtons(e, false, true); } public void treeExpanded(TreeEvent e) { - updateExpandButtons(e, true, false); + updateExpandButtons(e, true, false); }}); - + } @Override @@ -148,7 +149,7 @@ public class RefsTab extends AbstractCPropertyTab { { case COLLAPSE_ALL_BUTTON: case EXPAND_ALL_BUTTON: - for (TreeItem item : tree.getItems()) + for (TreeItem item : tree.getItems()) item.setExpanded(n==EXPAND_ALL_BUTTON); updateButtons(); break; @@ -185,7 +186,7 @@ public class RefsTab extends AbstractCPropertyTab { if (page.isMultiCfg()) { setAllVisible(false, null); } else { - if (!usercomp.isVisible()) + if (!usercomp.isVisible()) setAllVisible(true, null); initData(); } @@ -218,7 +219,7 @@ public class RefsTab extends AbstractCPropertyTab { /** * Initialises the tree. - * + * * TreeItems are either * TI: Text , Data * {IProject.getName()} , {IProject} @@ -253,8 +254,15 @@ public class RefsTab extends AbstractCPropertyTab { for (String pname : projects) { // The referenced configuration ID String ref = refs.get(pname); - IProject prj = p.getWorkspace().getRoot().getProject(pname); - ICConfigurationDescription[] cfgs = page.getCfgsReadOnly(prj); + IProject prj; + ICConfigurationDescription[] cfgs; + try { + prj = p.getWorkspace().getRoot().getProject(pname); + cfgs = page.getCfgsReadOnly(prj); + } catch (Exception e) { + CUIPlugin.log(Messages.RefsTab_ConfigurationsAccessError+pname, e); + continue; + } if (cfgs == null || cfgs.length == 0) { // If the project is referenced, then make sure the user knows about it! if (ref != null) { @@ -338,7 +346,7 @@ public class RefsTab extends AbstractCPropertyTab { getResDesc().getConfiguration().setReferenceInfo(new HashMap()); initData(); } - + @Override protected void updateButtons() { updateExpandButtons(null, false, false); @@ -359,11 +367,11 @@ public class RefsTab extends AbstractCPropertyTab { continue; if (item.getExpanded()) cntE = true; - else + else cntC = true; } - buttonSetEnabled(EXPAND_ALL_BUTTON, cntC); // Expand All - buttonSetEnabled(COLLAPSE_ALL_BUTTON, cntE); // Collapse all + buttonSetEnabled(EXPAND_ALL_BUTTON, cntC); // Expand All + buttonSetEnabled(COLLAPSE_ALL_BUTTON, cntE); // Collapse all } /** @@ -375,7 +383,7 @@ public class RefsTab extends AbstractCPropertyTab { // Is a project selected? if (ti.getParentItem() == null && ti.getChecked()) { int index = tree.indexOf(ti); - buttonSetEnabled(MOVEUP_BUTTON, index > 0); + buttonSetEnabled(MOVEUP_BUTTON, index > 0); buttonSetEnabled(MOVEDOWN_BUTTON, index < tree.getItemCount() - 1); return; }