Rispetto del supporto al clic singolo

La finestra Preferenze del workbench consente agli utenti di specificare se le visualizzazioni devono aprire gli oggetti al clic singolo o doppio.

Preferenze della "modalità di apertura" del workbench con declinazione di responsabilità nel caso in cui la preferenza impostata non abbia effetto in tutte le visualizzazioni

Viene specificata una dichiarazione di non responsabilità perché le visualizzazioni aggiunte dai plug-in devono supportare esplicitamente questa preferenza  nell'implementazione.

Si ricordi che è possibile implementare una visualizzazione mediante la creazione di controlli SWT e scrivendo codice SWT standard, oppure utilizzando visualizzatori JFace per gestire dettagli di livello basso.  E possibile ottenere il rispetto della preferenza per il clic singolo a entrambi i livelli.  La maggior parte delle visualizzazioni che aprono altri oggetti presenta questi ultimi in una visualizzazione strutturata simile a un elenco.  Per adesso verrà esaminato questo tipo di visualizzazione.  Se nella visualizzazione gli oggetti vengono mostrati in maniera diversa, si utilizzeranno probabilmente concetti di livello SWT per supportare il clic singolo.

Clic singolo nei visualizzatori JFace

Se per presentare gli oggetti si utilizza un visualizzatore orientato all'elenco, il supporto del clic singolo è semplice.  Per attivare l'apertura degli elementi nella visualizzazione, invece di addDoubleClickListener si deve utilizzareaddOpenListener.  Il listener aperto rispetta la preferenza di workbench corrente, attivando l'evento di apertura al verificarsi dell'evento mouse specificato.

Per azioni diverse dall'apertura, come ad esempio l'espansione delle voci di una struttura al doppio clic, è possibile utilizzare addDoubleClickListener.

Clic singolo nei controlli SWT

JFace fornisce una classe di utilità, OpenStrategy, per gestire la logistica del clic singolo o doppio a livello di controllo SWT.  OpenStrategy viene configurata dalla finestra di dialogo Preferenze del workbench in modo tale che rispetti la preferenza corrente per l'apertura. Il visualizzatore JFace infatti utilizza questa classe per implementare il listener di apertura. 

E necessario creare una OpenStrategy e associarla a un controllo SWT.  OpenStrategy aggancerà gli eventi appropriati e li interpreterà in base alle preferenze dell'utente.  Il lavoro del programmatore consiste nell'aggiungere un listener di apertura alla strategia che implementa il codice per l'apertura.  In questo modo non è necessario conoscere quale evento widget ha innescato l'evento di apertura.

OpenStrategy openHandler = new OpenStrategy(control);
openHandler.addOpenListener(new IOpenEventListener() {
	public void handleOpen(SelectionEvent e) {
	// codice per la gestione dell'evento di apertura.
	...
	}
}

Anche le altre preferenze di workbench per l'apertura (selezione al posizionamento del cursore, apertura mediante i tasti di direzione) sono gestite da OpenStrategy.  Questo significa che per implementare la funzione di apertura la scelta migliore è utilizzare i visualizzatori JFace o la classe OpenStrategy.

Attivazione degli editor all'apertura

Nella gestione di un evento di apertura si deve utilizzare OpenStrategy.activateOnOpen() per stabilire se un editor aperto deve essere attivato per impostazione predefinita.  L'attivazione di un editor sposta il focus dalla visualizzazione all'editor, cosa che può generare una certa confusione ed è poco desiderabile in modalità di clic singolo.

Copyright
IBM Corp. e altri 2000,2002.