向AbstractDecoratedTextEditor添加活动侦听器

时间:2015-03-25 20:16:45

标签: java eclipse-plugin

我有一个扩展MyEditor的编辑器AbstractDecoratedTextEditor。 在eclipse中,我可以打开很多MyEditor个文件。每个文件都是MyEditor的实例。 当我在选项卡中单击以更改文件时,我需要执行将打开的实例(文件)的相同操作。 也就是说,我需要在MyEditor中添加一个监听器,以了解实例(文件)何时变为活动状态。

1 个答案:

答案 0 :(得分:1)

您可以使用org.eclipse.ui.IPartListener收听对部件的更改。

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

partService.addPartListener(listener);

public void partActivated(IWorkbenchPart part)
当部件被激活时,将调用

侦听器的方法,因此您可以在此处查看编辑器。

您的编辑器是IWorkbenchPart的一个实例,因此您在`partActivated中可以使用

if (part instanceof MyEditor)
 {
   MyEditor editor = (MyEditor)part;

   ... check which file this editor is editing 
   ... and do action if it is the required file

 }