2014-02-06 84 views
0

如何在View中打開Eclipse CompareEditor?如何在View中添加Eclipse CompareEditor?

更具體地說,我希望視圖包含SashForm。在左側窗框中,我提供了一些有關提交的信息,並且在正確的窗框中,我想要放置一個比較編輯器,將提交與其父項進行比較。有這樣的事情甚至有可能嗎?

我成功地使用了eGit的GitCompareEditorInput和CompareUI類來打開一個單獨的比較編輯器或一個帶有比較編輯器(比較某個提交到它的父代的比較編輯器)的對話框。但是現在我有興趣將這個比較編輯器放在另一個視圖中,如上所述。

感謝

更新: 我試圖CompareEditorInput.createContents(compositeParent),但我只有兩個空矩形。

+0

這太過分了,因爲你必須在編輯器組件內重新實現所有編輯器功能 – GGrec

+0

eclipse.compare.internal.CompareDialog似乎能夠做到這一點。現在我正在嘗試對其進行逆向工程。 – cdmihai

回答

0

舉辦CompareEditorInput班級的關鍵似乎是提供了一個實現org.eclipse.compare.ICompareContainer的班級。一旦你有了它,你可以使用CompareEditorInput.setContainer(container)將它連接到輸入。

org.eclipse.compare.internal.CompareContainer提供了容器的部分實施,但這是內部所以應該只用作指導而不是直接使用。