向不同部分添加自定义渲染器
Adding a custom renderer to different parts
我希望某些部分使用不同的渲染器。在某些情况下,我想在右键单击时删除 Detach
选项,这是根据对我的问题 .
的评论的解决方案
我一直在关注 this 教程,了解如何完成此操作。
我创建了两个 类。 UndetachableStackRenderer
和 UndetachableStackRendererFactory
。
如果我将 UndetachableStackRendererFactory
添加到 plugin.xml
,它会成功删除从 ALL 零件堆栈分离的选项。
<property
name="rendererFactoryUri"
value="bundleclass://com.example.loc/com.example.loc.UndetachableStackRendererFactory">
</property>
相反,我想更改一个零件堆栈的渲染器。根据教程,我可以将 CUSTOM_RENDERER_URI
添加到零件堆栈的 Persisted State
中。
密钥:
CUSTOM_RENDERER_URI
值:
bundleclass://com.example.loc/com.example.loc.UndetachableStackRenderer
我已经试过了,但没有任何作用。如果我输入了一个不正确的位置,它也不会出现任何错误,所以看起来好像 CUSTOM_RENDERER_URI
没有被看到。
这可能是什么原因造成的?
该教程似乎有误,至少对于当前的 Eclipse 版本而言是这样。
键值在 IPresentationEngine.CUSTOM_RENDERER_KEY
中定义,值为 Custom Renderer
String CUSTOM_RENDERER_KEY = "Custom Renderer";
在org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine
的getRenderer
方法中使用
我希望某些部分使用不同的渲染器。在某些情况下,我想在右键单击时删除 Detach
选项,这是根据对我的问题
我一直在关注 this 教程,了解如何完成此操作。
我创建了两个 类。 UndetachableStackRenderer
和 UndetachableStackRendererFactory
。
如果我将 UndetachableStackRendererFactory
添加到 plugin.xml
,它会成功删除从 ALL 零件堆栈分离的选项。
<property
name="rendererFactoryUri"
value="bundleclass://com.example.loc/com.example.loc.UndetachableStackRendererFactory">
</property>
相反,我想更改一个零件堆栈的渲染器。根据教程,我可以将 CUSTOM_RENDERER_URI
添加到零件堆栈的 Persisted State
中。
密钥:
CUSTOM_RENDERER_URI
值:
bundleclass://com.example.loc/com.example.loc.UndetachableStackRenderer
我已经试过了,但没有任何作用。如果我输入了一个不正确的位置,它也不会出现任何错误,所以看起来好像 CUSTOM_RENDERER_URI
没有被看到。
这可能是什么原因造成的?
该教程似乎有误,至少对于当前的 Eclipse 版本而言是这样。
键值在 IPresentationEngine.CUSTOM_RENDERER_KEY
中定义,值为 Custom Renderer
String CUSTOM_RENDERER_KEY = "Custom Renderer";
在org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine
getRenderer
方法中使用