【问题标题】:how to hide property page from some resource type如何隐藏某些资源类型的属性页
【发布时间】:2017-12-22 05:41:44
【问题描述】:

我的应用程序项目包含不同类型的资源。对于某些 IFolder,并非项目中的所有文件夹我都需要在右键单击属性上设置属性页。 我的问题是,即使属性测试器返回 false,也会为所有文件夹显示此页面。

插件.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;
}

那么我错过了什么?

【问题讨论】:

  • 我看不出有什么明显的问题。我只能建议再次检查属性测试器的返回值。

标签: eclipse-plugin eclipse-rcp


【解决方案1】:

经过几个小时的调试,我终于找到了错误,我填写了我需要分享的内容,以防有人遇到同样的问题...... 所以.. 在属性测试器扩展点中,测试器“id”和“命名空间”具有相同的值,这会造成某种冲突。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-14
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    • 2011-02-21
    • 2016-05-04
    • 2021-01-09
    • 2015-04-09
    相关资源
    最近更新 更多