属性事件在我自己的eclipse编辑器中查看

时间:2016-08-08 16:54:24

标签: java eclipse eclipse-plugin swt

我在eclipse中在我自己的编辑器中实现了一个Properties View,我使用代码启动了这个视图:

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("org.eclipse.ui.views.PropertySheet");

1)当属性视图变得可见或不可见时,是否会触发侦听器,使焦点失去焦点?

2)我用什么代码知道属性视图是否已关闭?

3)我用什么代码知道属性视图是否已打开但不可见?喜欢这张图片:

图1

Figure 1

4)我怎么知道它是否可见并具有焦点?喜欢图片:

图2

Figure 2

5)如果它是可见的并且DONT具有焦点,例如:

图3

Figure 3

1 个答案:

答案 0 :(得分:1)

使用IPartListener2收听所有部分事件。

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

partService.addPartListener(listener);

您将获得所有部分的活动,因此您必须检查该活动是否适合您。侦听器获取部件的所有状态更改的事件(打开,关闭,激活,返回顶部,......)

还有一个非常相似的IPartListener,但如果可能,应使用IPartListener2