Как создать собственный декоратор изображений в java-файле с помощью плагина eclipse

Я хотел бы использовать некоторые декораторы в моем плагине Eclipse. Я создал плагин, в котором я создал свой собственный редактор для своего собственного файла .test. Если пользователь редактирует файл .test и сохраняет его. Файл должен отображать некоторые украшения, не только файл .test, но и проект должен отображать декоратор. Я застрял с этой проблемой. Я не могу найти хорошего учебника по созданию декораторов.

Я видел некоторые веб-сайты, такие как https://www.eclipse.org/articles/Article-Decorators/decorators.html, но я не смог точно понять суть.

Кто-нибудь, пожалуйста, скажите мне, как создать собственный декоратор для моего плагина eclipse.


person Obuli Sundar    schedule 15.10.2014    source источник


Ответы (1)


ILightweightLabelDecorator — самый распространенный тип декоратора.

Объявите это в своем plugin.xml примерно так:

<extension point="org.eclipse.ui.decorators"> 
    <decorator
        id="my.decorator.id" 
        class="my.decorator.Decorator" 
        label="My Decorator" 
        state="true" 
        lightweight="true" 
        adaptable="true"> 
        <enablement>
            <objectClass name="org.eclipse.core.resources.IResource"/> 
        </enablement>
    </decorator>
</extension>

Вам нужно будет настроить активацию в соответствии с тем, что вы хотите.

Ваш класс декоратора будет выглядеть примерно так:

public class Decorator extends BaseLabelDecorator implements ILightweightLabelDecorator
{
  @Override
  public void decorate(final Object element, final IDecoration decoration)
  {
    // TODO call decoration methods to add overlay images or prefix / suffix text
  }
}
person greg-449    schedule 15.10.2014
comment
Но как проверить, является ли файл файлом .test, а затем применить декоратор? И где сделать эту проверку? - person Varun Raval; 19.05.2016
comment
@VarunRaval Вы смотрите на объект element, переданный методу decorate. Задайте новый вопрос, если вам нужна дополнительная информация. - person greg-449; 19.05.2016
comment
объект element является представителем только файла или что-то еще? И как получить этот файл? - person Varun Raval; 19.05.2016