Esempio: scrittura di un frammento tedesco per plugin XYZ

Le procedure guidate e gli editor PDE che modificano plugin e frammenti sono pressappoco identici.  Esistono tuttavia alcune importanti differenze di cui è necessario tener conto.

In questo esempio si partirà dalla creazione di un nuovo progetto di frammento.  

Sulla prima pagina della procedura guidata Nuovo progetto di frammento, immettere il nome del progetto "com.example.german".  Accettare i valori predefiniti e premere Avanti. La pagina "Contenuto del frammento" ha tre campi aggiuntivi della procedura guidata di creazione del plugin: id plugin principale, versione plugin principale e regola di corrispondenza versione.

Dal momento che si sta scrivendo un frammento per un plugin specifico, è possibile utilizzare il pulsante Sfoglia per selezionare "com.example.xyz" nella finestra di selezione del plugin. Utilizzando la finestra di dialogo, è possibile anche scegliere un plugin esterno.

Esempio di frammento - pagina del contenuto del frammento di esempio

Una volta creato il progetto, viene aperto l'editor del manifest del frammento.

Esempio di frammento - panoramica del manifest

Questo editor è abbastanza simile all'editor del manifest di plugin, ad eccezione di quanto riportato di seguito:

  1. Nella pagina Panoramica, l'attributo "class" non è più presente.  I frammenti non dispongono di una classe plugin in quanto seguono il ciclo di vita dei rispettivi plugin principali.   Vengono invece visualizzati i campi dell'ID e della versione del plugin principale.
  2. Una casella combinata a discesa, "Regola di corrispondenza", consente di definire con precisione il riferimento del plugin (perfetto, compatibile, equivalente, ecc).

Nell'esempio verrà aggiunta un insieme di azioni simili a quelle dell'esempio del plugin, ma questa volta in tedesco.

  1. Aprire la pagina Estensioni nell'editor del manifest del frammento. Premere Aggiungi per avviare la procedura guidata Estensione.
  2. Selezionare "org.eclipse.ui.actionSets" dall'elenco dei punti di estensione. Fare clic su Fine.
  3. Selezionare il nuovo insieme di azioni. Selezionare Nuovo > actionSet dal menu di scelta rapida.
  4. Nella sezione Dettagli dell'elemento estensione, modificare la proprietà label in "Deutsche Aktionsmenge."
  5. Nella sezione Tutte le estensioni, fare clic con il tasto destro del mouse sulla nuova azione e selezionare il menu Nuovo> dalla finestra a comparsa.
  6. Modificare la proprietà label del menu in "Beispiel Menu" e la proprietà id in "beispielMenu."
  7. Selezionare nuovamente l'elemento menu e scegliere Nuovo > separatore dal menu di scelta rapida. Modificare il nome in "beispielGruppe" e salvarlo.
  8. Creare un nuovo elemento "action" (come al passo 6). Impostare la proprietà label su "Beispiel Aktion." Impostare menubarPath su "beispielMenu/beispielGruppe."
  9. Fare clic sul collegamento ipertestuale della proprietà class per generare la nuova classe per l'azione. Utilizzare "com.example.german/src" come cartella di origine e lasciare in bianco il nome del pacchetto (verrà utilizzato il pacchetto predefinito). Cambiare il nome della classe in "DeutscheBeispielAktion". Fare clic su Fine.
  10. Quando viene aperto l'editor Java con la nuova classe, individuare il metodo "run" e aggiungere quanto segue:

    System.out.println("Hallo, PDE welt!");

  11. Salvare e chiudere l'editor Java e l'editor del manifest del frammento.

Quando si esegue il frammento utilizzando la barra degli strumenti "Esegui", l'istanza della piattaforma runtime dovrebbe presentare l'insieme di azioni "Deutsche Aktionsmenge" disponibili.  (Utilizzare Finestra->Personalizza prospettiva...->Altro per andare all'elenco dell'insieme di azioni). Quando si attiva l'insieme di azioni, il menu "Beispiel Menu" deve apparire sulla barra degli strumenti. Quando si seleziona la relativa voce di menu, "Hallo, PDE welt!" dovrebbe essere visibile nella Console. La piattaforma runtime non visualizzava direttamente il frammento Tedesco. Al contrario, il registro del plugin aveva risolto i riferimenti del frammento in modo che l'insieme di azioni del frammento apparisse alla piattaforma come se provenisse direttamente dal plugin XYZ.

Informazioni particolari