我在eclipse中在我自己的编辑器中实现了一个Properties View,我使用代码启动了这个视图:
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("org.eclipse.ui.views.PropertySheet");
1)当属性视图变得可见或不可见时,是否会触发侦听器,使焦点失去焦点?
2)我用什么代码知道属性视图是否已关闭?
3)我用什么代码知道属性视图是否已打开但不可见?喜欢这张图片:
图1
4)我怎么知道它是否可见并具有焦点?喜欢图片:
图2
5)如果它是可见的并且DONT具有焦点,例如:
图3
答案 0 :(得分:1)
使用IPartListener2
收听所有部分事件。
IPartService partService = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService();
partService.addPartListener(listener);
您将获得所有部分的活动,因此您必须检查该活动是否适合您。侦听器获取部件的所有状态更改的事件(打开,关闭,激活,返回顶部,......)
还有一个非常相似的IPartListener
,但如果可能,应使用IPartListener2
。