2017-08-02 1 views
0

Je suis nouveau dans le développement de plugins utilisant eclipse avec RCP et Java. Je développe un plugin pour un logiciel client e-mail. J'essaye de trouver des utilisateurs cliquants sur la plate-forme de cible, si elle est cliquée sur des textes ou des liens hypertexte utilisant mon code de module.Comment obtenir un objet cliqué dans le développement d'un plugin eclipse en utilisant RCP

A partir de maintenant, je reçois l'objet cliqué comme suit,

IWorkbenchPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow() 
          .getActivePage().getActivePart() 

    ISelection selection = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection(); 
       System.out.println(selection .toString()); 

Mais cela montre que même chose pour tous les clics, même si elle est un texte ou des liens.

Quelqu'un peut-il aider ici sur la façon de les différencier.

Merci d'avance.

+0

Ceci est très flou - comment obtenez-vous d'une partie de plan de travail à JSON? Est-ce un éditeur? Est-ce votre éditeur? –

+0

Comment ce code est-il lié à la question? Où essaie-t-il de voir ce qui a été cliqué? –

+0

Vraiment désolé @ greg-449, j'ai mis à jour ma question et dans la partie supérieure de l'échantillon de code, j'ai essayé de lire la sélection. – DevGo

Répondre

1

La sélection renvoyée par le fournisseur de sélection de pièces vous donne l'objet sélectionné dans le modèle utilisé par la pièce en cours. Donc, si la pièce affiche une liste de fichiers, la sélection peut être le fichier.

La sélection ne vous dit rien sur l'interface utilisateur utilisée ou sur la cause de la sélection. Eclipse ne fournit pas d'API générale pour déterminer ce qui est arrivé à provoquer la sélection. Certaines parties individuelles peuvent fournir une API spécialisée, mais ce n'est pas commun.

+0

Le seul endroit où je réponds aux questions est ici sur Stack Overflow (et d'autres sites Stack Exchange). –

+0

Comme je l'ai dit, je ne réponds qu'aux questions ici. Il n'y a pas d'adresse e-mail dans mon profil car je ne souhaite pas être contacté. –