org.eclipse.ui.perspectives

Sono già state illustrate alcune modalità con cui è possibile controllare sul workbench l'aspetto della funzionalità di un plug-in. E possibile nascondere o mostrare le visualizzazioni mediante il menu Finestra->Mostra visualizzazione. E possibile nascondere o mostrare le serie di azioni mediante il menu Finestra->Personalizza prospettiva.... Queste funzioni supportano l'utente nell'organizzazione del workbench.

Prospettive

Le prospettive forniscono un ulteriore livello di organizzazione all'interno di una finestra di workbench. Gli utenti possono passare da una prospettiva all'altra mentre si spostano tra le attività. Una prospettiva definisce un insieme di visualizzazioni, un layout per tali visualizzazioni e le serie di azioni visibili da utilizzare quando l'utente apre per la prima volta la prospettiva.

La piattaforma definisce una prospettiva, Risorsa. Altri plug-in della piattaforma, come il sistema della guida e la strumentazione Java, definiscono ulteriori prospettive. Il plug-in può definire la propria prospettiva contribuendo al punto di estensione org.eclipse.ui.perspectives.

La specifica della prospettiva nel file plugin.xml è lineare. Il workbench utilizza il seguente tag per definire la propria prospettiva Risorsa.

<extension
         point="org.eclipse.ui.perspectives">
      <perspective
            name="%Perspective.resourcePerspective"
            icon="icons/full/cview16/resource_persp.gif"
            class="org.eclipse.ui.internal.ResourcePerspective"
            id="org.eclipse.ui.resourcePerspective">
      </perspective>
   </extension>

Un plug-in deve fornire un id e un nome per la prospettiva, oltre al nome della classe che implementa la prospettiva. E anche possibile specificare un'icona. La classe della prospettiva deve implementare IPerspectiveFactory.

Dal tag si evince che l'operazione effettiva deve verificarsi nel codice. L'interfaccia per il factory della prospettiva è lineare. Gli implementatori di IPerspectiveFactory devono configurare un IPageLayout contenente le informazioni descrittive della prospettiva e del relativo layout di pagina.

Layout di parte del workbench

IPageLayout deve soprattutto descrivere la posizione dell'editor e delle visualizzazioni nella finestra del workbench. Si osservi che questi layout differiscono dalla classe Layout presente in SWT. Sebbene IPageLayout e Layout risolvano lo stesso problema (la definizione delle dimensioni e della posizione dei widget in un'area più grande), per fornire un layout di pagina della prospettiva non è necessario conoscere i layout di SWT.

Un layout di pagina di una prospettiva viene inizializzato con un'area per la visualizzazione di un editor. Il factory della prospettiva è responsabile dell'aggiunta di ulteriori visualizzazioni relative all'editor. Le visualizzazioni vengono aggiunte al layout relativo in un'altra parte (in alto, in basso, a sinistra, a destra. E anche possibile aggiungere segnaposti (spazi vuoti) per elementi inizialmente non visualizzati.

Per organizzare con maggiore accuratezza le visualizzazioni relative, è possibile utilizzare IFolderLayout in modo da raggruppare le visualizzazioni in cartelle a schede. Ad esempio, la prospettiva Risorsa posiziona il navigator delle risorse all'interno di una cartella nell'angolo superiore sinistro del workbench.  I segnaposto vengono comunemente utilizzati con i layout delle cartelle. La prospettiva Risorsa definisce un segnaposto per la visualizzazione dei segnalibri nella stessa cartella dell'esplorazione delle risorse. La visualizzazione dei segnalibri verrà mostrata nella stessa cartella del navigator, con una scheda per ciascuna visualizzazione.

IPageLayout consente, inoltre, di definire le azioni e i collegamenti disponibili all'interno di una prospettiva.  

Copyright
IBM Corp. e altri 2000,2002.