单击project explorer、eclipse插件更新属性视图

单击project explorer、eclipse插件更新属性视图,eclipse,eclipse-rcp,eclipse-plugin,Eclipse,Eclipse Rcp,Eclipse Plugin,我已经在project explorer中创建了一个自定义项目。无论何时单击“自定义项目文件夹”,当前都会显示默认属性页,但我想自定义此属性页。 我已经浏览了选项卡式属性示例,但无法对其进行自定义。 请任何人都可以为我提供一些相同的示例或代码 谢谢 如何将该属性视图连接到编辑器或项目浏览器 自定义项目及其文件夹的模型类应实现IAdaptable接口,并返回实现描述给定元素的IPropertySource的对象。当您单击元素时,它将自动传递到properties视图 或者,您可以避免实现IAdap

我已经在project explorer中创建了一个自定义项目。无论何时单击“自定义项目文件夹”,当前都会显示默认属性页,但我想自定义此属性页。 我已经浏览了选项卡式属性示例,但无法对其进行自定义。 请任何人都可以为我提供一些相同的示例或代码

谢谢


如何将该属性视图连接到编辑器或项目浏览器

自定义项目及其文件夹的模型类应实现IAdaptable接口,并返回实现描述给定元素的IPropertySource的对象。当您单击元素时,它将自动传递到properties视图

或者,您可以避免实现IAdaptable并创建一个IAdapterFactory,该IAdapterFactory将项目/文件夹元素的实例转换为相应的IPropertySoure,但是您必须让Eclipse框架知道您的IAdapterFactory实现

public class MyProjectAdapterFactory implements IAdapterFactory {
@Override
public Object getAdapter(Object adaptableObject, Class adapterType) {
    if (adapterType== IPropertySource.class && adaptableObject instanceof MyProject){
        return new MyProjectPropertySource((MyProject) adaptableObject);
    }

    return null;
}

@Override
public Class[] getAdapterList() {
    return new Class[] { IPropertySource.class };
}

}
在plugin.xml文件中注册:

<extension point="org.eclipse.core.runtime.adapters">
  <factory adaptableType="my.example.MyProject" class="my.example.MyProjectAdapterFactory">
     <adapter type="org.eclipse.ui.views.properties.IPropertySource"/>
  </factory>
</extension>


如何将该属性视图连接到编辑器或项目浏览器

自定义项目及其文件夹的模型类应实现IAdaptable接口,并返回实现描述给定元素的IPropertySource的对象。当您单击元素时,它将自动传递到properties视图

或者,您可以避免实现IAdaptable并创建一个IAdapterFactory,该IAdapterFactory将项目/文件夹元素的实例转换为相应的IPropertySoure,但是您必须让Eclipse框架知道您的IAdapterFactory实现

public class MyProjectAdapterFactory implements IAdapterFactory {
@Override
public Object getAdapter(Object adaptableObject, Class adapterType) {
    if (adapterType== IPropertySource.class && adaptableObject instanceof MyProject){
        return new MyProjectPropertySource((MyProject) adaptableObject);
    }

    return null;
}

@Override
public Class[] getAdapterList() {
    return new Class[] { IPropertySource.class };
}

}
在plugin.xml文件中注册:

<extension point="org.eclipse.core.runtime.adapters">
  <factory adaptableType="my.example.MyProject" class="my.example.MyProjectAdapterFactory">
     <adapter type="org.eclipse.ui.views.properties.IPropertySource"/>
  </factory>
</extension>


您是否阅读了以下内容:?我希望它能像这样工作(),但在单击project explorer视图中的任何文件夹时,如何将该属性视图连接到编辑器或project explorer..您是否阅读了以下内容:?我希望它能像这样工作()但是单击project explorer视图中的任何文件夹时,如何将该属性视图连接到编辑器或project explorer。。