向 AbstractDecoratedTextEditor 添加主动侦听器
Adding active listener to AbstractDecoratedTextEditor
我有一个扩展 AbstractDecoratedTextEditor
的编辑器 MyEditor
。
在 Eclipse 中,我可以打开很多 MyEditor
的文件。每个文件都是 MyEditor
的一个实例。
当我在选项卡中单击以更改文件时,我需要对将打开的实例(文件)执行相同的操作。
也就是说,我需要在 MyEditor
中添加一个侦听器以了解实例(文件)何时激活。
您可以使用 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
}
我有一个扩展 AbstractDecoratedTextEditor
的编辑器 MyEditor
。
在 Eclipse 中,我可以打开很多 MyEditor
的文件。每个文件都是 MyEditor
的一个实例。
当我在选项卡中单击以更改文件时,我需要对将打开的实例(文件)执行相同的操作。
也就是说,我需要在 MyEditor
中添加一个侦听器以了解实例(文件)何时激活。
您可以使用 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
}