Scrittura dell'azione della Guida

L'interfaccia ILiveHelpAction consente di creare un'azione della Guida attiva.

L'implementazione di una ILiveHelpAction č un'operazione semplice.  Č necessario implementare due metodi.

Di seguito č riportata un'implementazione semplice di un'azione della guida dinamica che apre una finestra di messaggio. Non occorrono informazioni da JavaScript, per cui i dati di inizializzazione verranno ignorati.

pacchetto org.eclipse.platform.doc.isv.activeHelp;

import org.eclipse.help.ILiveHelpAction;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.*;
import org.eclipse.ui.*;
/**
 * Azione di esempio della Guida attiva.
 */
public class ActiveHelpOpenDialogAction implements ILiveHelpAction {

     public void setInitializationString(String data) {
          // ignora i dati. In questo caso non vengono utilizzati parametri javascript.
     }

     public void run() {
          // La Guida attiva non viene eseguita sul thread dell'interfaccia utente, per cui č necessario utilizzare syncExec
          Display.getDefault().syncExec(new Runnable() {
               public void run() {
                    IWorkbenchWindow window =
                         PlatformUI.getWorkbench().getActiveWorkbenchWindow();
                    if (window != null) {
                         // Posiziona la finestra Workbench nella parte superiore delle altre finestre;
                         // In alcuni sistemi Windows verrā visualizzato solo il workbench
                         // Icona sulla barra delle attivitā
                         Shell shell = window.getShell();
                         shell.setMinimized(false);
                         shell.forceActive();
                         // Apre una finestra di messaggio
                         MessageDialog.openInformation(
                              window.getShell(),
                              "Hello World.",
                              "Hello World.");
                    }
               }
          });
     }
}

Copyright IBM Corporation e altri 2000, 2003.