如何从某种资源类型隐藏属性页面

时间:2017-12-20 18:17:04

标签: eclipse-plugin eclipse-rcp

我的应用程序项目包含不同类型的资源。对于某些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;
}

那么我错过了什么?

1 个答案:

答案 0 :(得分:0)

经过几个小时的调试后,我终于找到了错误,我填写好像我需要分享它,万一有人有同样的问题...... 所以.. 在属性测试器扩展点中,测试人员“id”和“namespace”具有相同的值,并且正在创建某种冲突。