如何从某种资源类型隐藏属性页面
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从某种资源类型隐藏属性页面相关的知识,希望对你有一定的参考价值。
我的应用程序项目包含不同类型的资源。对于某些IFolder并非项目中的所有文件夹,我需要在右键单击属性上设置属性页。我的问题是,即使属性测试器返回false,也会显示所有文件夹的此页面。
plugin.xml中
<extension
point="org.eclipse.ui.propertyPages">
<page
class="com.my.ui.properties.PropertiesPage"
id="com.my.ui.properties.Properties"
name="page">
<enabledWhen>
<adapt
type="org.eclipse.core.resources.IFolder">
<test
property="com.my.ui.propertyTester.supperFolder">
</test>
</adapt></enabledWhen>
</page>
<extension
point="org.eclipse.core.expressions.propertyTesters">
<propertyTester
class="com.my.ui.properties.FolderTester"
id="com.my.ui.propertyTester"
namespace="com.my.ui.propertyTester"
properties="supperFolder"
type="org.eclipse.core.resources.IResource">
</propertyTester>
public class FolderTester extends PropertyTester {
@Override
public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
if ("supperFolder".equals(property) && receiver instanceof IFolder) {
IFolder folder = (IFolder) receiver;
if (IWResourceManager.getInstance().isIWResource(folder)) {
..
..
return true;
}
}
}
return false;
}
那我错过了什么?
答案
经过几个小时的调试,我终于找到了错误,我填写好像我需要分享它,万一有人有同样的问题...所以...在属性测试器扩展点,测试人员“id”和“命名空间”有相同的价值,那是在创造某种冲突。
以上是关于如何从某种资源类型隐藏属性页面的主要内容,如果未能解决你的问题,请参考以下文章