Eclipse 混淆IAdaptable与IActionFilters
我对IAdaptable和相关类感到困惑。哪一类是适配器、适配器、自适应类型 [上下文] 我有一个用于表格/树查看器条目的上下文菜单。上下文菜单中的某些操作必须不可见,具体取决于查看器中相应对象的状态(即表查看器中某行的属性值) 我可以通过plugin.xml中的类似配置实现这一点:Eclipse 混淆IAdaptable与IActionFilters,eclipse,eclipse-rcp,rcp,Eclipse,Eclipse Rcp,Rcp,我对IAdaptable和相关类感到困惑。哪一类是适配器、适配器、自适应类型 [上下文] 我有一个用于表格/树查看器条目的上下文菜单。上下文菜单中的某些操作必须不可见,具体取决于查看器中相应对象的状态(即表查看器中某行的属性值) 我可以通过plugin.xml中的类似配置实现这一点: <extension point="org.eclipse.ui.popupMenus"> <objectContribution adapt
<extension
point="org.eclipse.ui.popupMenus">
<objectContribution
adaptable="false"
id="<some_id>"
objectClass="<object_class_of_viewer_entry>">
<visibility>
<objectState name="buildable" value="true"/>
</visibility>
<action
class="<my_action_class>"
事实证明,几乎所有的事情都是正确的。我只是把plugin.xml中的object\u class\u和\u viewer\u条目的实现混为一谈
两篇有帮助的文章:和
<extension
point="org.eclipse.core.runtime.adapters">
<factory
adaptableType="<object_class_of_viewer_entry>"
class="MyFactory">
<adapter
type="org.eclipse.ui.IActionFilter">
</adapter>
</factory>
</extension>
public class MyFactory implements IAdapterFactory {
private static final Class[] types = {
<object_class_of_viewer_entry>.class,
};
@Override
public Object getAdapter(Object adaptableObject, Class adapterType) {
return new <class_that_implements_IActionFilter>((<object_class_of_viewer_entry>) adaptableObject);
}
@Override
public Class[] getAdapterList() {
return types;
}
}