1
0
Fork 0
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:
David Inglis 2005-04-06 19:32:08 +00:00
parent e83f41c613
commit 64ba811365
4 changed files with 31 additions and 5 deletions

View file

@ -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

View file

@ -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>

View file

@ -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;
}

View file

@ -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;
}
}