gpt4 book ai didi

java - 我可以使用 org.eclipse.core.variables... 来定义其他扩展的属性吗

转载 作者:行者123 更新时间:2023-12-01 09:49:26 25 4
gpt4 key购买 nike

我正在使用 org.eclipse.ui.editors 扩展点创建 RCP 3.7 编辑器。我需要的是在编辑器启动过程中根据某些条件动态定义图标路径。

(编辑:编辑器实际上在启动后刚刚恢复,但尚未选择为 Activity 状态,因此您只能看到带有标题和图标的选项卡)

我尝试在实现 IEditorInput 的类中使用 getImageDescriptor() 方法,但该方法似乎没有被使用。对图标有一定影响的唯一方法是更改​​编辑器扩展定义中的图标路径。

因此,我开始使用 org.eclipse.core.variables.valueVariablesorg.eclipse.core.variables.dynamicVariables 在图标属性中使用(显示 valueVariables只是为了简单的例子):

<extension point="org.eclipse.ui.editors">
<editor name="%Editor_TITLE"
extensions="xml"
icon="${FOO}"
class="org.example.ExampleEditor"
id="org.example.ExampleEditor">
</editor>
</extension>

<extension point="org.eclipse.core.variables.valueVariables">
<variable name="FOO"
initialValue="images/obj16/editor.png">
</variable>
</extension>

但是,这也行不通。是否有某种方法可以使用动态定义的变量值(基于当前条件)来更改图标的路径? ...或者即使有解决方法建议,我也会非常感激,这将导致在启动期间成功更改图标(例如使 ImageDescriptor 在不启动时工作)。

最佳答案

变量仅在代码中明确支持的地方起作用。如果扩展点的文档没有说明它们受支持,那么它们将无法工作。

您可以通过在编辑器的 init 方法中执行以下操作,使用编辑器输入中的图像描述符来设置编辑器标题图像:

public void init(IEditorSite site, IEditorInput input)
throws PartInitException
{
... other code

ImageDescriptor desc = input.getImageDescriptor();

Image image = desc.createImage();

setTitleImage(image);

... other code
}

关于java - 我可以使用 org.eclipse.core.variables... 来定义其他扩展的属性吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37700417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com