public class GfmView extends ViewPart implements GfmListener {
如何知道 View 何时最小化,所以也许不需要刷新 View。
public class GfmView extends ViewPart implements GfmListener {
如何知道 View 何时最小化,所以也许不需要刷新 View。
您可以添加一个org.eclipse.ui.IPartListener2
- 实现来跟踪您的视图状态。如果您的视图将被最小化(或关闭或隐藏或......),则调用此侦听器
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().addPartListener(<myPartListener>)
@Tom:恐怕并不总是那么简单......
在 Eclipse Juno (4.2) 中,IPartListener2 通知可见隐藏以及激活和停用。
但这不允许我可靠地确定 ViewPart 何时最小化。
最小化或取消最小化时不会触发可见隐藏。它仅用于覆盖/揭开窗户。
当窗口最小化/未最小化时触发激活-停用。但是,当窗口可见时焦点从窗口更改为/从窗口更改时也会触发它。(所以实际上这似乎是一个 focusGained-focusLost 通知。)
特别是当一个最小化的窗口被恢复时(通过按下带有堆叠窗口的图标),根本没有通知,因为视图没有获得焦点。
底线:对于 IPartListener2,最小化的窗口是可见的。
问题仍然存在:我如何知道视图何时被最小化?