Est-ce votre point de vue utilise un org.eclipse.ui.IPartListener2
?
C'est ce qui utilise ce EditorListener, dont le travail consiste à faire réagir, pour une vue donnée, à des événements de l'éditeur (y compris ouvrir et fermer)
public class EditorListener implements ISelectionListener, IFileBufferListener,
IPartListener2 {
protected BytecodeOutlineView view;
EditorListener(BytecodeOutlineView view){
this.view = view;
}
[...]
/**
* @see org.eclipse.ui.IPartListener2#partOpened(org.eclipse.ui.IWorkbenchPartReference)
*/
public void partOpened(IWorkbenchPartReference partRef) {
view.handlePartVisible(partRef.getPart(false));
}
Maintenant, si votre ViewPart
implémente directement un IPartListener2
, il peut s'inscrire aux différents Editors
, comme celui-ci BytecodeReferenceView
public class BytecodeReferenceView extends ViewPart implements IPartListener2, ISelectionListener {
[...]
public void createPartControl(Composite parent) {
browser = new Browser(parent, SWT.BORDER);
browser.setText(BytecodeOutlinePlugin.getResourceString(NLS_PREFIX
+ "empty.selection.text"));
final IWorkbenchWindow workbenchWindow = getSite().getWorkbenchWindow();
workbenchWindow.getPartService().addPartListener(this);
[...]
avez-vous un exemple comment je peux ajouter ce EditorListener à l'éditeur de code Java par défaut dans Eclipse? – RoflcoptrException