2010-11-28 10 views

Répondre

4

La FAQ « How do I find out what view or editor is selected? » peut vous aider à appeler votre classe lorsque l'éditeur est actif (qui est quand vous pouvez tester si elle a le focus aussi bien), par using a IPartService:

Deux types d'auditeurs peuvent être ajouté au service de la pièce:

Vous devriez toujours utiliser ce second comme il peut gérer les événements de changement partiel sur les pièces qui n'ont pas encore été créés parce qu'ils sont cachés dans une pile derrière une autre partie.
Cet écouteur aussi vous dire quand une partie est rendue visible ou cachée ou lorsque l'entrée d'un éditeur est modifié:

IWorkbenchPage page = ...; 
    //the active part 
    IWorkbenchPart active = page.getActivePart(); 
    //adding a listener 
    IPartListener2 pl = new IPartListener2() { 
     public void partActivated(IWorkbenchPartReference ref) 
     System.out.println("Active: "+ref.getTitle()); 
     } 
     ... other listener methods ... 
    }; 
    page.addPartListener(pl); 

Note: IWorkbenchPage outils IPartService directement.
Vous pouvez également accéder à un service d'activation par using IWorkbenchWindow.getPartService().

0

Je suis cliquez sur Barre d'outils ou bouton pour obtenir mise au point qui vue ou de l'éditeur en cours de travail sur Eclipse RCP

//class:Current_Workbech extends AbstractHandler to execute() method 

public class Current_Workbech extends AbstractHandler{ 

    @Override 
    public Object execute(ExecutionEvent event) throws ExecutionException { 

     IPartService service = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService(); 

     //MessageDialog box open to get title which view or editor focus and current working 

     MessageDialog.openInformation(HandlerUtil.getActiveWorkbenchWindow(
       event).getShell(), "Current Workbench Window", service.getActivePart().getTitle()+""); 

     return null; 
    } 
} 
+1

@luiz cette réponse est ... USEFULL ont une belle journée –