[英]Eclipse RCP - Open a View in the Editor Area (3.8/e4 hybrid)
我正在研究3.8-e4混合(即我們有Luna依賴,但我們還沒有使用Application.e4xmi )。 所以我們基本上運行了緊湊的圖層。
話雖如此,找到一種e4編程方式將這些討厭的視圖堆疊到編輯器文件夾上會很不錯。
我想在編輯器區域中放置一個通用視圖文件夾,以便在那里打開在運行時打開的每個視圖。
創建透視擴展,並將每個可能的視圖添加到該擴展,並將關系堆棧放在相對的org.eclipse.ui.editorss上 。 如果你有太多的視圖要打開,並且項目可以快速擴展,那么這有點不方便。 我還注意到通配符視圖ID在這里不起作用。
如果您發現自己有時間將每個可能的視圖添加到透視圖擴展中,那就可以了。 雖然,如果您打開一個未在此處添加的視圖(即:在另一個文件夾中打開),則每個后續打開的視圖將在上一個文件夾中打開,而不是在編輯器區域中打開(如果不是,請查詢更多說明)得到它)。
在IPerspectiveFactory
,我們可以訪問IPageLayout
,它恰好是org.eclipse.ui.internal.e4.compatibility.ModeledPageLayout
(e4 stuff)。
現在,這個ModeledPageLayout
實現是合理的,但也沒有文檔和奇怪的公共API。 這個可以將視圖疊加在任何其他親屬上
modeledPageLayout.stackView("newView0", IPageLayout.ID_EDITOR_AREA);
這將是2.1的程序化版本。 此外,這里出現同樣的問題。 如果在其他地方打開視圖,則上面的代碼變得無用。
有趣的是, stackView
API不支持通配符(而其他如addView
則支持)。
我有很多觀點,每個都有很多不同的文件夾。 一切都准確無誤。
由於Eclipse提供的API可以從系統周圍的任何地方獲取所有視圖ID,因此我希望按照透視圖執行以下操作: 未添加到特定文件夾的每個視圖ID都將附加到編輯器區域(即編輯器文件夾) ,編輯堆棧) 。
這將是我的最后手段,除非有人提供更方便和省時的解決方案。
請記住,e4程序化替代方案更靈活!
這些將在e4版本中棄用。
我最近打開的這個錯誤附帶了一個小型SSCCE。 此評論中描述了重現此步驟的步驟,因此我不打算將它們復制粘貼到此處。
我建議你選擇可能的修復3,因為我認為沒有更快的方法來做到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.