1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-29 03:45:35 +02:00

Fix 156493 - CElementAdapterFactory should not adapt ICElements to IProject

This commit is contained in:
Anton Leherbauer 2006-09-08 08:10:49 +00:00
parent a0577d650d
commit 490f5ddb11
2 changed files with 10 additions and 33 deletions

View file

@ -27,9 +27,6 @@
<adapter
type="org.eclipse.core.resources.IResource">
</adapter>
<adapter
type="org.eclipse.core.resources.IProject">
</adapter>
<adapter
type="org.eclipse.ui.model.IWorkbenchAdapter">
</adapter>
@ -38,7 +35,6 @@
</adapter>
<adapter type="org.eclipse.ui.progress.IDeferredWorkbenchAdapter"/>
<adapter type="org.eclipse.ui.IActionFilter"/>
<adapter type="org.eclipse.core.resources.IWorkspaceRoot"/>
</factory>
<factory
adaptableType="org.eclipse.ui.texteditor.ITextEditor"

View file

@ -8,16 +8,12 @@
* Contributors:
* IBM Corporation - initial API and implementation
* QNX Software System
* Anton Leherbauer (Wind River Systems)
*******************************************************************************/
package org.eclipse.cdt.internal.ui;
import org.eclipse.cdt.core.model.IBinary;
import org.eclipse.cdt.core.model.ICElement;
import org.eclipse.cdt.core.model.ICProject;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.ui.IActionFilter;
import org.eclipse.ui.model.IWorkbenchAdapter;
@ -26,6 +22,9 @@ import org.eclipse.ui.views.properties.FilePropertySource;
import org.eclipse.ui.views.properties.IPropertySource;
import org.eclipse.ui.views.properties.ResourcePropertySource;
import org.eclipse.cdt.core.model.IBinary;
import org.eclipse.cdt.core.model.ICElement;
/**
* Implements basic UI support for C elements.
*/
@ -36,8 +35,6 @@ public class CElementAdapterFactory implements IAdapterFactory {
IResource.class,
IWorkbenchAdapter.class,
IDeferredWorkbenchAdapter.class,
IProject.class,
IWorkspaceRoot.class,
IActionFilter.class
};
@ -58,12 +55,12 @@ public class CElementAdapterFactory implements IAdapterFactory {
if (IPropertySource.class.equals(key)) {
return getPropertySource(celem);
} else if (IWorkspaceRoot.class.equals(key)) {
return getWorkspaceRoot(celem);
} else if (IProject.class.equals(key)) {
return getProject(celem);
} else if (IResource.class.equals(key)) {
return getResource(celem);
} else if (IResource.class.isAssignableFrom(key)) {
IResource resource= getResource(celem);
if (resource != null && key.isAssignableFrom(resource.getClass())) {
return resource;
}
return null;
} else if (IDeferredWorkbenchAdapter.class.equals(key)) {
return getDeferredWorkbenchAdapter(celem);
} else if (IWorkbenchAdapter.class.equals(key)) {
@ -88,22 +85,6 @@ public class CElementAdapterFactory implements IAdapterFactory {
return new CElementPropertySource(celement);
}
private IWorkspaceRoot getWorkspaceRoot(ICElement celement) {
IResource res = celement.getUnderlyingResource();
if (res != null) {
return res.getWorkspace().getRoot();
}
return null;
}
private IProject getProject(ICElement celement) {
ICProject cProject = celement.getCProject();
if (cProject != null) {
return cProject.getProject();
}
return null;
}
private IResource getResource(ICElement celement) {
return celement.getResource();
}