Exemplo: Gravando um fragmento em alemão para o Plugin XYZ

Os assistentes e editores PDE que manipulam plug-ins e fragmentos são quase iguais.  No entanto, você deve estar ciente de algumas diferenças importantes.

Iniciamos criando um novo projeto de fragmento.  

Na primeira página do Assistente para Novo Fragmento, digite o nome do projeto "com.example.german."  Pressione Avançar e aceite os valores padrão da segunda página.  (Pressione Avançar novamente.)  Na página "Geradores de Código de Fragmento", escolha o botão de opções para criar um fragmento de um gabarito e selecione o assistente para "Gerador de Fragmento Padrão".  Depois de pressionar Avançar, você deverá ver a página "Conteúdo de Fragmento Simples".

Essa página parece um pouco diferente do assistente de plug-in visto que ela possui dois campos adicionais: id de plug-in de destino e versão. Como estamos escrevendo um fragmento para um plug-in específico, podemos utilizar o botão Procurar para selecionar "Plugin XYZ" no grupo "Plug-ins de área de trabalho" (poderíamos também apanhar quaisquer plug-ins externos).

Exemplo de fragmento - Página de Conteúdo do fragmento de amostra

Uma vez que o projeto é criado, ele abre o editor de manifest de fragmento.

Exemplo de fragmento - visão geral do manifest

Ele é quase idêntico ao editor de manifest de plug-in com as seguintes exceções:

  1. Na página Visão Geral, o atributo "class" não aparece.  Os fragmentos não possuem uma classe de plug-in pois seguem o ciclo de vida de seu plug-in de destino.  Em vez disso, os campos de versão e id do plug-in de destino são mostrados.
  2. Uma caixa de combinação drop-down permite uma definição exata da referência de plug-in (perfeita, compatível, equivalente, etc.).

Incluiremos um conjunto de ações semelhantes como no exemplo do plug-in, mas desta vez, em alemão.

  1. Vá para  a página de Extensões no editor do manifest do fragmento. Pressione Incluir, para lançar o assistente Extensão.
  2. Selecione"Assistentes Genéricos" e "Extensão baseada no esquema". Pressione Avançar.
  3. Selecione "Conjuntos de Ações" na lista de pontos de extensão. PressioneConcluir.
  4. Selecione o novo conjunto de ação. Selecione Novo->actionSet no menu popup.
  5. Vá para a folha de propriedade e altere a propriedade da etiqueta para "Deutsche Aktionsmenge."
  6. Vá para a seção "Elemento de Extensão Filho" e selecione Novo->menu no popup.
  7. Altere a propriedade de etiqueta do menu para "Beispiel Menu" e a propriedade do id para "beispielMenu."
  8. Selecione o elemento do menu novamente e escolha Novo->separador no menu popup. Altere seu nome em propriedades para "beispielGruppe" e salve.
  9. Crie um novo elemento de "ação" (similar à etapa 6). Defina a propriedade da etiqueta para "Beispiel Aktion." Defina menubarPath para "beispielMenu/beispielGruppe."
  10. Selecione a propriedade da classe para editar e tornar visível o diálogo de editor de célula. Selecione o botão de rádio "Gerar uma nova classe".
  11. Procure o contêiner da classe e selecione a pasta "GERMAN Fragment" no projeto "com.example.german".
  12. Altere o nome da classe para "DeutscheBeispielAktion". PressioneConcluir.
  13. Quando o editor Java com a nova classe se abrir, procure o método "executar" e inclua:
       System.out.println("Hallo, PDE welt!");

Salve e feche o editor de Java e o editor de manifest do fragmento.

Quando você executa o fragmento utilizando o botão "Executar" da barra de ferramentas, a instância da plataforma de tempo de execução deve ter a ação "Deutsche Aktionsmenge" definida como disponível.  (Utilize Janela->Personalizar Perspectiva...->Outro para ir para a lista de conjuntos de ações). Quando você ativar o conjunto de ações, o menu "Menu Beispiel " deverá aparecer na barra de ferramentas. Ao selecionar seu item de menu, você deverá ver "Hallo, PDE welt!" no Console. A plataforma do tempo de execução não consultou o fragmento Alemão diretamente. Em vez disso, seu registro de plug-in resolveu as referências ao fragmento de maneira que o conjunto de ações do fragmento aparecesse para a plataforma como se tivesse vindo diretamente do Plug-in XYZ.

 
Copyright IBM Corporation e outros 2000, 2003