1

我们有显示来自 Internet 的文件的视图

public class GfmView extends ViewPart implements GfmListener {

如何知道 View 何时最小化,所以也许不需要刷新 View。

#8 [优化] View 最小化时不更新

文档没有说明它。

4

2 回答 2

2

您可以添加一个org.eclipse.ui.IPartListener2- 实现来跟踪您的视图状态。如果您的视图将被最小化(或关闭或隐藏或......),则调用此侦听器

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().addPartListener(<myPartListener>)
于 2013-07-10T14:19:59.513 回答
0

@Tom:恐怕并不总是那么简单......

在 Eclipse Juno (4.2) 中,IPartListener2 通知可见隐藏以及激活和停用。

但这不允许我可靠地确定 ViewPart 何时最小化。

  • 最小化或取消最小化时不会触发可见隐藏。它仅用于覆盖/揭开窗户。

  • 当窗口最小化/未最小化时触发激活-停用。但是,当窗口可见时焦点从窗口更改为/从窗口更改时也会触发它。(所以实际上这似乎是一个 focusGained-focusLost 通知。)

特别是当一个最小化的窗口被恢复时(通过按下带有堆叠窗口的图标),根本没有通知,因为视图没有获得焦点。

底线:对于 IPartListener2,最小化的窗口是可见的。

问题仍然存在:我如何知道视图何时被最小化?

于 2013-08-08T12:22:26.907 回答