[Eclipse] Deux questions concernants les vues

Deux questions concernants les vues [Eclipse] - Java - Programmation

Marsh Posté le 18-04-2005 à 10:13:15    

Bonjour,
J'ai créé deux vues étendant ViewPart. Lorsque je sélectionne un élément dans l'éditeur, la vue correspondant à l'élément est mise à jour.
 
    * Je souhaiterais également que la vue correspondante soit mise au premier plan par rapport à l'autre vue (comme lorsqu'on fait un Call Hierarchy). Comment puis-je faire?
    * Ensuite, on m'a dit qu'il y avait un gestionnaire de vue dans Eclipse qui permet d'appeler une vue à partir de son ID. J'ai pas su trouver ce gestionnaire. Quel est-il?  :sweat:  
 
 
Par avance, merci.
 
13

Reply

Marsh Posté le 18-04-2005 à 10:13:15   

Reply

Marsh Posté le 18-04-2005 à 10:19:03    

Je sais pas si j ai bien compris ta question mais si ce que tu cherches c afficher une vue specifique parmi l ensemble des vues existantes, il faut aller dans le menu Window/Show View

Reply

Marsh Posté le 18-04-2005 à 10:34:18    

Non, c'est pas ça. J'ai deux vues (faites par moi), les deux sont ouvertes, et je voudrais qu'elles soient mises "au premier plan" l'une par rapport à l'autre suivant ce qui est fait dans l'éditeur.

Reply

Marsh Posté le 19-04-2005 à 14:33:38    

Comme on n'est jamais aussi bien servi que par soi-même, et après moult tentatives, j'ai trouvé mon bonheur :D. Je donne la solution trouvée si d'autres ont le même problème.
Pour obtenir une instance d'une vue active, il faut récupérer le IWorkbenchPage. Puis on peut avoir le tableau des vues.  
 

Code :
  1. IWorkbenchPage page = getEditorSite().getWorkbenchWindow().getActivePage();
  2. IViewPart[] views = page.getViews();
  3. for (int i = 0; i < views.length; i++) {
  4.    IViewPart view = views[i];
  5.    String idView = view.getSite().getId();
  6.    if (idView.equals("Mon_ID" )) {
  7.       // Je mets la vue au premier plan.
  8.       page.bringToTop(view);
  9.    }
  10. }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed