2009-06-23 3 views
3

Je crée une vue en éclipse pour afficher les traces de pile, et je veux avoir le point de vue accessible depuis un bouton dans l'en-tête. Donc, je crée une extension en utilisant le cadre de plugin.xml, comme celui-ci essentiellement:texte sur le bouton Modifier l'en-tête éclipse à la volée

<extension 
    point="org.eclipse.ui.commands"> 
    <command 
     categoryId="com.commands.category" 
     id="commands.tracing" 
     name="0 Traces"> 
    </command> 
</extension> 

Cela va créer un bouton « 0 » traces que le texte. Cependant, je veux incrémenter le nombre dans le bouton avec chaque trace que je recueille dans un écouteur. Fondamentalement, je dois juste être en mesure de modifier le bouton dans l'en-tête dans un fichier Java, plutôt que dans le fichier plugin.xml. Mais je n'ai aucune idée de comment faire ça! J'ai regardé à travers l'aide du SDK eclipse mais je n'ai rien trouvé. S'il vous plaît aider!

Je suis aussi ouvert à tout autre moyen de ce faire dans une application construite sur Eclipse, tant que les modifications de texte et en cliquant sur le texte ouvre une vue.

Répondre

1

Je crois que les en-têtes utilisent des icônes, je ne sais pas si vous pouvez utiliser du texte. Vous pouvez ajouter une entrée au menu contextuel (popup) qui affichera le nombre de traces et quand vous cliquez sur l'élément, lancez votre vue. Je me suis basé sur le modèle Hello, World Command fourni avec Eclipse, et j'ai ajouté une contribution au menu.

Je CompoundContributionItem étendu à agir en tant que contribution de menu comme suit. Maintenant, nous devons câbler cela dans la commande et le gestionnaire qui lancera votre vue.

Voici mon plugin.xml.


<!-- Wire up our dynamic menu contribution which will show the number of traces --> 
<extension 
    point="org.eclipse.ui.menus"> 
    <menuContribution 
     locationURI="popup:org.eclipse.ui.popup.any?after=additions"> 
    <dynamic 
      class="test.TraceWindowContributionItem" 
      id="test.dynamicContribution"> 
    </dynamic> 
    </menuContribution> 
</extension> 
<!-- Command and handler for launching the traces view --> 
<extension 
    point="org.eclipse.ui.commands"> 
    <category 
     name="Sample Category" 
     id="test.commands.category"> 
    </category> 
    <command 
     categoryId="test.commands.category" 
     defaultHandler="test.handlers.SampleHandler" 
     id="test.commands.sampleCommand" 
     name="Sample Command"> 
    </command> 
</extension> 
<extension 
    point="org.eclipse.ui.handlers"> 
    <handler 
     commandId="test.commands.sampleCommand" 
     class="test.handlers.SampleHandler"> 
    </handler> 
</extension> 
Questions connexes