2016-08-22 31 views
0

在我們的E4 RCP應用程序中,我們有一個透視圖,其中包含具有幾個E4視圖(MParts)的視圖文件夾。 其中一個視圖是CRUD視圖,即。一個允許編輯和保存特定實體實例的視圖。否認Eclipse 4視圖變爲隱形?

每當這個視圖變髒,即編輯過的實體已被更改但尚未保存(出於某種內部原因),我們想要阻止對同一視圖文件夾中的另一個視圖的更改(這將使CRUD視圖無形)。 E4有否可能否決一種看不見的觀點?

當然我們可以註冊爲MPart在EPartService一部分聽衆,但只允許接收partHidden事件,這是爲時已晚。

回答

0

我看不到一個合理的方法來做到這一點。

的部分堆使用CTabFolderorg.eclipse.e4.ui.workbench.renderers.swt.StackRenderer實現。

雖然CTabFolder有一個選擇監聽器,讓你聽的選項卡選擇它並沒有提供一種方式來否決選擇。所以即使你編寫了一個擴展標準渲染器的自定義堆棧渲染器,你仍然無法控制這個。

你可以寫未使用CTabFolder一個完全新的堆棧渲染,但是這是一個大量的工作。