Pergunta

Tendo implementado um dos itens acima, alguém pode dizer como eu poderia ligá -lo diretamente para um espectador? Nenhuma das fontes usuais explica.

Martin.

Foi útil?

Solução

Tanto quanto posso dizer que você precisa de um ILabelDecorator E a única maneira fácil de conseguir uma é usar a interface do usuário da bancada:

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

Você então precisa adicionar seu decorador leve ao ponto de extensão dos decoradores no plugin.xml. Obviamente, isso funcionará apenas se o seu aplicativo for um plug -in eclipse.

Parece estranho que ILightweightDecorator está em jface, mas para usá -lo, você precisa de um gerente de decorador que seja implementado apenas em org.eclipse.ui. Não parece haver uma maneira fácil de fazer isso mais diretamente.

Outras dicas

Há um velho Artigo Eclipse.org Com base no Eclipse 2.1, que fornece um bom resumo da abordagem leve do decorador. É claro que grande parte dos detalhes da implementação mudou, mas os conceitos permaneceram os mesmos.

Quando você diz arame o decorador "diretamente Para o espectador ", você quer dizer, evite declará -lo como um ponto de extensão e faça com que seu decorador seja aplicado a um ícone/texto ou similar?

Para aplicar a sobreposição da imagem, você pode seguir a abordagem na seção "Imagens de sobreposição" do artigo. Então, primeiro desenhe a imagem base e, em seguida, obtenha o Imagemata para a sobreposição e desenhe os dados nas coordenadas pretendidas.

Se você tem um problema mais específico não abordado no artigo, você pode elaborar sua pergunta original com um exemplo do que está tentando alcançar?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top