Добавление пользовательского рендера в разные части - PullRequest
0 голосов
/ 07 февраля 2019

Я бы хотел, чтобы некоторые части использовали другой рендерер.В некоторых случаях я хотел бы удалить опцию Detach при щелчке правой кнопкой мыши, и это решение согласно комментарию к моему вопросу здесь .

Я следил этот учебник о том, как это можно сделать.

Я создал два класса.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 не видно.

Что может быть причиной этого?

1 Ответ

0 голосов
/ 07 февраля 2019

Учебное пособие кажется неправильным, по крайней мере, для текущей версии Eclipse.

Значение ключа определено в IPresentationEngine.CUSTOM_RENDERER_KEY и имеет значение Custom Renderer

String CUSTOM_RENDERER_KEY = "Custom Renderer";

Itиспользуется в методе getRenderer org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine

...