Pisanie akcji pomocy

Do budowania akcji pomocy aktywnej używany jest interfejs ILiveHelpAction.

Implementacja interfejsu ILiveHelpAction jest całkiem prosta. Należy zaimplementować dwie metody.

Oto przykład prostej implementacji akcji pomocy aktywnej otwierającej okno dialogowe komunikatu. Nie są potrzebne żadne informacje ze strony skryptu JavaScript, więc dane inicjowania mogą zostać zignorowane.

package 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.*;
/**
 * Przykład akcji pomocy aktywnej.
 */
public class ActiveHelpOpenDialogAction implements ILiveHelpAction {

     public void setInitializationString(String data) {
          // Ignorowanie danych. Nie są używane żadne parametry skryptu javascript.
     }

      public void run() {
          // Pomoc aktywna nie jest uruchamiana w wątku interfejsu użytkownika, więc należy użyć metody syncExec
          Display.getDefault().syncExec(new Runnable() {
      public void run() {
                    IWorkbenchWindow window =
                         PlatformUI.getWorkbench().getActiveWorkbenchWindow();
   if (window != null) {
                         // Umieszczanie okna środowiska roboczego na pierwszym planie;
                         // W niektórych systemach Windows będzie jedynie migała ikona środowiska roboczego
                         //  na pasku zadań
                         Shell shell = window.getShell();
                         shell.setMinimized(false);
                         shell.forceActive();
                         // Otwieranie okna dialogowego komunikatu      MessageDialog.openInformation(
                              window.getShell(),
                              "Hello World.",
                              "Hello World.");
                    }
               }
          });
     }
}