mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-07 17:56:01 +02:00
fixed bug# 90440
This commit is contained in:
parent
e83f41c613
commit
64ba811365
4 changed files with 31 additions and 5 deletions
|
@ -1,3 +1,9 @@
|
|||
2005-04-06 David Inglis
|
||||
Fixed bug# 90440
|
||||
* plugin.xml
|
||||
* src/org/eclipse/cdt/internal/ui/CElementAdapterFactory.java
|
||||
* src/org/eclipse/cdt/internal/ui/CWorkbenchAdapter.java
|
||||
|
||||
2005-04-04 Alain Magloire
|
||||
Move to Eclipse-31M6
|
||||
* src/org/eclipse/cdt/internal/ui/cview/CopyAction.java
|
||||
|
|
|
@ -64,6 +64,9 @@
|
|||
<adapter
|
||||
type="org.eclipse.ui.views.properties.IPropertySource">
|
||||
</adapter>
|
||||
<adapter type="org.eclipse.ui.progress.IDeferredWorkbenchAdapter"/>
|
||||
<adapter type="org.eclipse.ui.IActionFilter"/>
|
||||
<adapter type="org.eclipse.core.resources.IWorkspaceRoot"/>
|
||||
</factory>
|
||||
</extension>
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@ 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;
|
||||
import org.eclipse.ui.progress.IDeferredWorkbenchAdapter;
|
||||
import org.eclipse.ui.views.properties.FilePropertySource;
|
||||
|
@ -29,7 +30,8 @@ public class CElementAdapterFactory implements IAdapterFactory {
|
|||
IWorkbenchAdapter.class,
|
||||
IDeferredWorkbenchAdapter.class,
|
||||
IProject.class,
|
||||
IWorkspaceRoot.class
|
||||
IWorkspaceRoot.class,
|
||||
IActionFilter.class
|
||||
};
|
||||
|
||||
private static CWorkbenchAdapter fgCWorkbenchAdapter= new CWorkbenchAdapter();
|
||||
|
@ -75,6 +77,8 @@ public class CElementAdapterFactory implements IAdapterFactory {
|
|||
return fgDeferredCWorkbenchAdapter;
|
||||
} else if (IWorkbenchAdapter.class.equals(key)) {
|
||||
return fgCWorkbenchAdapter;
|
||||
} else if (IActionFilter.class.equals(key)) {
|
||||
return fgCWorkbenchAdapter;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -5,20 +5,21 @@ package org.eclipse.cdt.internal.ui;
|
|||
* All Rights Reserved.
|
||||
*/
|
||||
|
||||
import org.eclipse.jface.resource.ImageDescriptor;
|
||||
import org.eclipse.ui.model.IWorkbenchAdapter;
|
||||
|
||||
import org.eclipse.cdt.core.model.CModelException;
|
||||
import org.eclipse.cdt.core.model.ICElement;
|
||||
import org.eclipse.cdt.core.model.IParent;
|
||||
import org.eclipse.cdt.internal.ui.viewsupport.CElementImageProvider;
|
||||
import org.eclipse.cdt.ui.CElementLabelProvider;
|
||||
import org.eclipse.cdt.ui.CUIPlugin;
|
||||
import org.eclipse.core.resources.IResource;
|
||||
import org.eclipse.jface.resource.ImageDescriptor;
|
||||
import org.eclipse.ui.IActionFilter;
|
||||
import org.eclipse.ui.model.IWorkbenchAdapter;
|
||||
|
||||
/**
|
||||
* An imlementation of the IWorkbenchAdapter for CElements.
|
||||
*/
|
||||
public class CWorkbenchAdapter implements IWorkbenchAdapter {
|
||||
public class CWorkbenchAdapter implements IWorkbenchAdapter, IActionFilter {
|
||||
|
||||
private static final Object[] fgEmptyArray = new Object[0];
|
||||
private CElementImageProvider fImageProvider;
|
||||
|
@ -77,4 +78,16 @@ public class CWorkbenchAdapter implements IWorkbenchAdapter {
|
|||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean testAttribute(Object target, String name, String value) {
|
||||
ICElement element = (ICElement)target;
|
||||
IResource resource = element.getResource();
|
||||
if (resource != null) {
|
||||
IActionFilter filter = (IActionFilter)resource.getAdapter(IActionFilter.class);
|
||||
if (filter != null) {
|
||||
return filter.testAttribute(resource, name, value);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue