Eclipse RCP:在最小化时不要刷新View

时间:2013-07-10 13:42:09

标签: java eclipse-plugin eclipse-rcp minimize

我们有View that shows file from Internet

public class GfmView extends ViewPart implements GfmListener {

如何知道View何时最小化,因此可能无需刷新View。

#8 [optimization] Don't update View when it is minimized

Documentation没有say关于它。

2 个答案:

答案 0 :(得分:2)

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

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().addPartListener(<myPartListener>)

答案 1 :(得分:0)

@Tom:我担心这并不总是那么简单......

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

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

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

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

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

底线:对于IPartListener2,可以看到最小化的窗口。

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