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:
parent
a0577d650d
commit
490f5ddb11
2 changed files with 10 additions and 33 deletions
|
@ -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"
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue