Использование декоратора ILightweightLabelDecorator - PullRequest
5 голосов
/ 22 июля 2009

Реализовав один из вышеперечисленных, кто-нибудь может сказать, как я могу подключить его напрямую к зрителю? Ни один из обычных источников не объясняет.

Martin.

Ответы [ 2 ]

5 голосов
/ 27 августа 2009

Насколько я могу судить, вам нужен ILabelDecorator, и единственный простой способ получить его - использовать интерфейс рабочей среды:

viewer.setLabelProvider(
    new DecoratingLabelProvider(new MyPlainLabelProvider(),
            PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator()));

Затем вам нужно добавить свой легкий декоратор в точку расширения декораторов в plugin.xml. Очевидно, это будет работать, только если ваше приложение представляет собой плагин Eclipse.

Кажется странным, что ILightweightDecorator находится в JFace, но для его использования вам нужен менеджер декораторов, который реализован только в org.eclipse.ui. Хотя, кажется, не существует простого способа сделать это более напрямую.

0 голосов
/ 09 августа 2009

Есть старая статья Eclipse.org , основанная на Eclipse 2.1, которая дает хорошее резюме подхода облегченного декоратора. Конечно, большая часть деталей реализации изменилась, но концепции остались прежними.

Когда вы говорите подключить декоратор « напрямую к зрителю», вы имеете в виду избегать объявления его в качестве точки расширения, и ваш декоратор применяется к значку / тексту или подобному?

Чтобы применить наложение изображения, вы можете следовать подходу в разделе «Наложение изображений» статьи. Поэтому сначала нарисуйте базовое изображение, затем получите ImageData для наложения и нарисуйте данные в намеченных координатах.

Если у вас есть более конкретная проблема, не рассматриваемая в статье, можете ли вы уточнить исходный вопрос на примере того, чего вы пытаетесь достичь?

...