diff options
author | Alain Magloire | 2003-03-31 03:52:56 +0000 |
---|---|---|
committer | Alain Magloire | 2003-03-31 03:52:56 +0000 |
commit | 5229f4893433b66117004de868381f4cf60442f0 (patch) | |
tree | badc7c0ec3a95f33491efb87736d80d3441509b8 /core | |
parent | 65e2949db75d4b1f4831629acdb5be6006377fbd (diff) | |
download | org.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.java | 21 | ||||
-rw-r--r-- | core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CElementImageProvider.java | 6 |
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: { |