> Tech > Selection Service : Théorie et pratique

Selection Service : Théorie et pratique

Tech - Par Renaud ROSSET - Publié le 31 janvier 2012
email

Si vous sélectionnez quelque chose à l’intérieur du banc d’essai Eclipse, vous vous attendez à ce que d’autres parties d’Eclipse réagissent en conséquence. Par exemple, la vue outline change automatiquement son contenu quand vous cliquez sur quelque chose.

Selection Service : Théorie et pratique

Essayez. Ouvrez la Outline View et faites la navette entre le Manifest Editor et le Java editor. Vous verrez le contenu de la Outline View changer. Comment la Outline View sait-elle que nous avons cliqué sur quelque chose ? Cela est géré par le Selection Service.

Le Selection Service est un programme qui est appelé à chaque clic. Les différentes parties d’Eclipse, comme les vues et les éditeurs, peuvent dire au Selection Service qu’elles veulent être informées chaque fois que l’utilisateur clique. La Outline View, par exemple, s’est enregistrée elle-même au Selection Service dès qu’elle a été ouverte. Quand nous cliquons sur les divers éléments dans le banc d’essai Eclipse, la Outline View reçoit une notification et décide si elle peut donner un aperçu de l’élément sélectionné. Si elle le peut, elle mettra à jour son contenu. Si elle ne le peut pas, elle s’effacera elle-même.

Eclipse doit aussi nous informer à propos des changements de sélection. Si un utilisateur sélectionne un objet i5 dans l’arbre RSE, nous devons mettre à jour le contenu de notre vue avec l’information provenant de ce i5. Si l’utilisateur sélectionne un autre i5 à partir de l’arbre RSE (en supposant qu’il y a plus d’une boîte), notre vue doit en être informée afin de pouvoir changer son contenu. Chaque fois que vous sélectionnerez quelque chose à partir du RSE, vous trouverez l’objet AS/400 associé dans la bibliothèque JT400. Celle-ci est le Java Toolkit for OS/400 qui est une interface pour le langage de programmation Java vers la plupart des artifacts OS/400 comme la supervision des files d’attente de messages.

Pour être informés des changements de sélection, nous devons enregistrer notre vue comme un listener de sélection afin que, chaque fois que l’utilisateur changera l’objet sélectionné courant, Eclipse nous en informe.

Pratique

Si nous voulons que notre vue participe au Selection Service, nous devons ajouter le code suivant à la fin de la méthode createPartControl :

//

// Register as Selection Listener

//

getSite().getWorkbenchWindow().getSelectionService().

addPostSelectionListener(this);

A travers le Site (une classe spéciale utilisée pour permettre la communication entre Workbench et les parties) de la vue, nous pouvons obtenir la classe WorkbenchWindow, qui nous permet d’enregistrer un SelectionListener dans le SelectionService par l’intermédiaire de la méthode addPostSelectionListener. Nous ajoutons commodément this comme listener de sélection. Le mot-clé Java spécial this signifie « cet objet ». Le seul problème est que nous ne sommes pas un SelectionListener. L’éditeur indique cela en plaçant des lignes rouges ondulantes sous this. Avec le curseur sur les lignes rouges ondulantes, nous appuyons sur Ctrl+1 pour faire surgir la boîte de dialogue Quick Fix, qu’illustre la figure 10.

Là, nous sélectionnons Let MessageMonitorView implement ISelectionListener. Cela laissera automatiquement votre classe implémenter l’interface Java requise et le curseur sautera à votre déclaration Class.

Téléchargez cette ressource

Guide de technologie 5G pour l’entreprise

Guide de technologie 5G pour l’entreprise

Pourquoi la 5G est-elle faite pour votre entreprise ? La 5G peut améliorer la vitesse, la fiabilité et la capacité de votre réseau, permettant ainsi une meilleure collaboration, une productivité accrue et une prise de décision plus rapide. Notre livre blanc " The Big Book of Enterprise 5G" vous fournit les informations stratégiques dont vous avez besoin pour prendre des décisions éclairées et préparer votre entreprise à prospérer dans l'ère de la 5G. Cradlepoint, part of Ericsson est le leader mondial des solutions de réseau sans fil 4G LTE et 5G fournies via le cloud. Connectez vos employés, lieux et objets avec la 4G LTE et la 5G pour un WAN sans fil d'entreprise.

Tech - Par Renaud ROSSET - Publié le 31 janvier 2012