Um plug-in mínimo

Todos sabemos como é o "Hello World" (hello world) em Java antigo sem utilizar quadros de interfaces de utilizador nem outras bibliotecas especializadas.

   public class HelloWorld {
      public static void main(String[] args) {
         System.out.println("Hello World");
      }
   }

Que acontece a esta antiga norma no contexto da plataforma Eclipse? Ao invés de pensar no Hello World como um programa autónomo, transformamo-lo numa extensão da plataforma. Visto que queremos cumprimentar o mundo, temos de descortinar como estender a área de trabalho para incluir a nossa saudação.

Quando aprofundarmos os componentes da interface de utilizador da plataforma, faremos uma revisão exaustiva das formas possíveis de extensão e personalização da UI da área de trabalho. Por agora, começamos por uma das extensões de área de trabalho mais simples - uma vista.  

Consideremos a janela da área de trabalho como uma moldura que apresenta diversas partes visuais. Estas partes inserem-se em duas categorias principais: vistas e editores.  Veremos os editores mais tarde.  As vistas prestam informações sobre determinado objecto com que o utilizador está a trabalhar na área de trabalho. As vistas mudam frequentemente o seu conteúdo, à medida que o utilizador seleccions diferentes objectos na área de trabalho.

Vista Hello World

Para o nosso plug-in Hello World, iremos implementar a nossa própria vista para saudar o utilizador, "Hello World".

O plug-in org.eclipse.ui.workbench define a maioria das interfaces públicas que constituem a API da área de trabalho. Estas interfaces encontram-se no pacote org.eclipse.ui e respectivos subpacotes. Muitas destas interfaces têm classes de implementação predefinidas que se podem estender para proporcionar simples modificações ao sistema. No nosso exemplo Hello World, vamos estender uma vista de área de trabalho para facultar uma etiqueta que diga olá.

A interface que interessa é IViewPart, a qual define os métodos que devem ser implementados para contribuir com uma vista para a área de trabalho. A classe ViewPart faculta uma implementação predefinida desta interface. Em suma, uma parte da vista é responsável pela criação dos widgets necessários para mostrar a vista.

As vistas padrão na área de trabalho geralmente apresentam algumas informações sobre um objecto que o utilizador tenha seleccionado ou onde esteja a navegar. As vistas actualizam o seu conteúdo com base em acções que ocorrem na área de trabalho. No nosso caso, estamos somente a dizer olá, de modo que a implementação da nossa vista será muito simples.

Antes de passar ao código, temos que garantir que o ambiente está configurado para desenvolvimento de plug-ins...