V_M*_*V_M 5 eclipse-plugin jface eclipse-rcp
我正在尝试按照给定的文章创建选项卡式属性视图:Eclipse 选项卡式属性视图
根据文章,org.eclipse.ui.views.properties.tabbed.propertyTabs扩展点可用于添加新选项卡。
<extension point="org.eclipse.ui.views.properties.tabbed.propertyTabs">
<propertyTabs contributorId="mview.views.SampleView">
<propertyTab
category="sample"
id="mview.ButtonTab"
label="Button"/>
<propertyTab
afterTab="mview.ButtonTab"
category="sample"
id="mview.AdvancedTab"
label="Advanced"/>
</propertyTabs>
</extension>
Run Code Online (Sandbox Code Playgroud)
但是,在我的情况下,属性视图的选项卡因视图中选择的项目而异。所以我必须根据所选项目动态地将选项卡添加到扩展中。
请建议如何这样做。
更新:这样做的方法之一(我不确定是否建议)是使用 IExtensionRegistry.addContribution() 方法。在这里,我提供了一个包含所需扩展详细信息的 inputstream 对象。这在运行时向属性视图添加了选项卡。但是,随着列表查看器中项目选择的更改,属性视图不会更新。请建议这是否是这样做的正确方法。
好的,我得到了解决方案,它是一个两步过程。使用这个可以动态添加选项卡(及其部分):
第 1 步:将选项卡描述符提供程序与视图相关联。
添加扩展点 -org.eclipse.ui.views.properties.tabbed.propertyContributor到视图(如果尚未添加)。在 propertyContributor 部分中,为 tabDescriptorProvider 项添加一个类。该类将实现 ITabDescriptorProvider 接口。
第 2 步:提供选项卡和部分:
TabDescriptor 提供程序在调用其 getTabDescriptor() 方法时将返回 TabDescriptors 数组。每个 TabDescriptor 返回一个SectionDescriptor 列表,每个SectionDescriptor 都链接到一个Section。最后是包含要在屏幕上显示的小部件的Section 类。Section 类中的每个小部件都有一个修改列表器,用于更新所选项目的属性。
| 归档时间: |
|
| 查看次数: |
3769 次 |
| 最近记录: |