Frage

Jetzt kann ich registrieren Kontexthilfe in einer Eclipse WizardDialog / Editor.

1) Ich habe eine help_contexts.xml Datei.

<?xml version="1.0" encoding="UTF-8"?>
<?NLS TYPE="org.eclipse.help.contexts"?>
<contexts>
   <context  id="my.plugin.help.general" >
        <description>test</description>
        <topic label="test" href="http://domain.com/help.html"/>
   </context>
</contexts>

2) I verweisen diese Datei in meinem plugin.xml

  <extension
         point="org.eclipse.help.contexts">
         <contexts file="help_contexts.xml" plugin="my.plugin.MainEditor">
         </contexts>
   </extension>

3) Ich habe eine Linie in meinem build.properties im bin-Verzeichnis diese Datei schließen (bin.includes = help_contexts.xml, ...)

4) Wenn meine GEF-basierte Plugin läuft, sehe ich „Kein Spiel für‚my.plugin.MainEditor‘“ unter dynamischer Hilfe.

Ich weiß, dass ich so etwas wie diese irgendwo erstellen müssen, aber ich weiß nicht, wo dies für meine WizardDialog einzurichten oder zumindest für meinen ganzen Editor:

  public void createPartControl(Composite parent) {
      ...
      PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, 
         "my.plugin.help.general");
   }

Hinweis: Diese Frage enthielt ursprünglich zwei Fragen. Ich habe den ersten (unbeantwortet Teil) entfernt an anderer Stelle veröffentlicht werden.

War es hilfreich?

Lösung

Hier ist, wie Sie es tun: 1) Ich habe eine help_contexts.xml Datei. Ich habe keine, Perioden in der Kontext-ID. Schließen Sie nicht Ihren Namen Plugin drin.

<?xml version="1.0" encoding="UTF-8"?>
<?NLS TYPE="org.eclipse.help.contexts"?>
<contexts>
   <context  id="help_general" >
        <description>test</description>
        <topic label="test" href="http://domain.com/help.html"/>
   </context>
</contexts>

2) verweisen ich diese Datei in meinem plugin.xml Sie den Plugin-ID nicht enthalten, wenn Sie Ihr eigenes Plugin verweisen.

 <extension
         point="org.eclipse.help.contexts">
         <contexts file="help_contexts.xml">
         </contexts>
   </extension>

3) Ich habe eine Linie in meinem build.properties im bin-Verzeichnis diese Datei schließen (bin.includes = help_contexts.xml, ...). Beachten Sie Ihr Bundle-SymbolicName in Ihrem MANIFEST.MF (auch sichtbar in Ihrem plugin.xml Editor). Beispiel: my.plugin

4) Stellen Sie die Kontext-ID in der Wizard (Kredit geht an @VonC)

public class MyWizardPage extends WizardPage
    public void createControl(Composite parent) {
        PlatformUI.getWorkbench.getHelpSystem.setHelp(parent, "my.plugin.help_general");
    }
}

Andere Tipps

Für die Hauptfrage, bin ich über Ihre setHelp zweiten Parameter nicht sicher. Siehe dieses Thema :

  

In dem Methodenaufruf

PlatformUI.getWorkbench().getHelpSystem().setHelp()
  

zweiter Parameter ist die contextID.
  Es sollte mit dem pluginID wie vorangestellt werden. „pluginID.contextID
  Nun war ich nicht sicher, wo die Plug-in finden ID für meine Plug-in.
  So habe ich den Wert dieser Eigenschaft. Bundle-Name Bundle-Symbolic-Name von MANIFEST.MF als Plug-in-ID
  Jetzt funktioniert es.


Für die Bemerkung am Rande (Hilfe für WizardDialog), dieses Thema könnte (von David Kyle helfen und sein Blog " Eclipse RCP "):

  

Wir setzen die Kontext-ID in unserem Assistenten Seite.

public class MyWizardPage extends WizardPage
    public void createControl(Composite parent) {
        PlatformUI.getWorkbench.getHelpSystem.setHelp(parent, 
MyPluginActivator.ID + ".mycontexthelpid");
    }
}
  

und wir setzen Hilfe für den Assistenten-Dialog.

WizardDialog dialog = new WizardDialog(.....);
PlatformUI.getWorkbench().getHelpSystem().setHelp(dialog.getShell(), 
"mycontexthelp.id");
  

Wir überschreiben nicht performHelp().

     

Wie für die Hilfekontext-ID. Definieren Sie einen Kontext XML-Datei in Ihrem Plugin.

<?xml version="1.0" encoding="UTF-8"?>
<?NLS TYPE="org.eclipse.help.contexts"?>
<contexts>
    <context id="mycontexthelpid" >
        <description>My wizard help.</description>
        <topic label="Wizard help" href="reference/wizard/help.xhtml"/>
    </context>
</contexts>
  

in Ihrer Plugin

<plugin>
    <extension point="org.eclipse.help.contexts">
        <contexts file="mywizard.xml" plugin="com.mypluginid"/>
    </extension>
</plugin>
  

Ein häufiges Problem ist in Unordnung, die Plug-in und Kontext-Hilfe-IDs auf. Sie können einstellen,   ein paar Bruchstellen zu sehen, welche Kontext-ID angefordert wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top