Skip to main content
summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorAlain Magloire2003-03-31 03:52:56 +0000
committerAlain Magloire2003-03-31 03:52:56 +0000
commit5229f4893433b66117004de868381f4cf60442f0 (patch)
treebadc7c0ec3a95f33491efb87736d80d3441509b8 /core
parent65e2949db75d4b1f4831629acdb5be6006377fbd (diff)
downloadorg.eclipse.cdt-5229f4893433b66117004de868381f4cf60442f0.tar.gz
org.eclipse.cdt-5229f4893433b66117004de868381f4cf60442f0.tar.xz
org.eclipse.cdt-5229f4893433b66117004de868381f4cf60442f0.zip
New class hierarchy for the binary and Archive:
IBinary IBinaryModule IBinaryFunction IBinaryVariable IBinaryElement
Diffstat (limited to 'core')
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/BaseCElementContentProvider.java21
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CElementImageProvider.java6
2 files changed, 22 insertions, 5 deletions
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/BaseCElementContentProvider.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/BaseCElementContentProvider.java
index ab7dc3a3819..5900c417573 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/BaseCElementContentProvider.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/BaseCElementContentProvider.java
@@ -9,6 +9,7 @@ import java.util.ArrayList;
import java.util.List;
import org.eclipse.cdt.core.model.CModelException;
+import org.eclipse.cdt.core.model.CoreModel;
import org.eclipse.cdt.core.model.IArchive;
import org.eclipse.cdt.core.model.IArchiveContainer;
import org.eclipse.cdt.core.model.IBinary;
@@ -157,7 +158,9 @@ public class BaseCElementContentProvider implements ITreeContentProvider {
} else {
return true;
}
- } else if (element instanceof ICContainer) {
+ }
+
+ if (element instanceof ICContainer) {
return true;
}
@@ -173,13 +176,23 @@ public class BaseCElementContentProvider implements ITreeContentProvider {
* Method declared on ITreeContentProvider.
*/
public Object getParent(Object element) {
- //if (!exists(element))
- // return null;
+ if (!exists(element)) {
+ return null;
+ }
+ return internalGetParent(element);
+ }
+
+ public Object internalGetParent(Object element) {
if (element instanceof ICElement) {
return ((ICElement)element).getParent();
}
if (element instanceof IResource) {
- return ((IResource)element).getParent();
+ IResource parent= ((IResource)element).getParent();
+ ICElement cParent= CoreModel.getDefault().create(parent);
+ if (cParent != null && cParent.exists()) {
+ return cParent;
+ }
+ return parent;
}
return null;
}
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CElementImageProvider.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CElementImageProvider.java
index a561515f4cd..1054c1c23da 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CElementImageProvider.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CElementImageProvider.java
@@ -6,11 +6,12 @@ package org.eclipse.cdt.internal.ui;
*/
import org.eclipse.cdt.core.model.IBinary;
+import org.eclipse.cdt.core.model.IBinaryModule;
import org.eclipse.cdt.core.model.ICElement;
import org.eclipse.cdt.core.model.ICProject;
+import org.eclipse.cdt.core.model.IDeclaration;
import org.eclipse.cdt.core.model.IMember;
import org.eclipse.cdt.core.model.IMethodDeclaration;
-import org.eclipse.cdt.core.model.IDeclaration;
import org.eclipse.cdt.internal.ui.util.ImageDescriptorRegistry;
import org.eclipse.cdt.ui.CElementImageDescriptor;
import org.eclipse.cdt.ui.CUIPlugin;
@@ -158,6 +159,9 @@ public class CElementImageProvider {
int type = celement.getElementType();
switch (type) {
case ICElement.C_VCONTAINER:
+ if (celement instanceof IBinaryModule) {
+ return CPluginImages.DESC_OBJS_BINARY;
+ }
return CPluginImages.DESC_OBJS_CONTAINER;
case ICElement.C_BINARY: {

Back to the top