2013-07-10 25 views

回答

2

您可以添加一個org.eclipse.ui.IPartListener2 - 實現來跟蹤您的視圖的狀態。這個監聽器被調用,如果你的觀點將被最小化(或關閉或隱或......)

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

@湯姆:恐怕並不總是那麼簡單......

在Eclipse朱諾(4.2),IPartListener2通知關於可見隱藏和關於激活停用。

但是這不允許我可靠地確定何時ViewPart被最小化。

  • 當最小化或未最小化時,不會觸發可見隱藏。它僅用於覆蓋/揭開窗戶。

  • 當窗口被最小化/未最小化時,激活停用被觸發。但是當窗口可見時焦點從窗口改變到窗口或從窗口改變焦點時也會觸發它。 (因此,實際上,這似乎是一個focusGained-focusLost通知。)

特別是,在恢復最小化的窗口(按與層疊窗口中的圖標),也沒有通知,因爲在所有的視圖不獲得重點。

底線:對於IPartListener2,最小化窗口是可見的。

問題依然存在:如何知道視圖何時最小化?