2013-03-13 74 views
0

我自己的插件項目有一個編輯器(它實現org.eclipse.ui.part.MultiPageEditorPart)與2頁:一個是GraphicalEditorWithFlyoutPalette(這將解析XML文件轉換爲數字)另一個是StructuredTextEditor(它會將數字解析爲XML代碼)。所以我想要做的是在第一個編輯器中繪製數字,並在另一個編輯器中獲取源代碼,並做相反的事情。相信許多GEF和插件/ RCP項目可能具有此功能。代碼突出和光標的位置

現在我不得不面對的事實是,當我嘗試我的兩個編輯之間切換時,光標總是停留在Editor.What我應該得到源的第一行是,如果一個數字是選擇在第一個編輯器,當我切換到第二個編輯器時,應該突出顯示一些代碼塊(就像Eclipse中的Outline View一樣),或者至少光標應該停留在相應的XML塊開始的那一行(就像XML Editor一樣在Eclipse中)

任何人都有一些有用的建議給? Tks很多:-)

+0

不完全是對你的問題的回答,但你應該至少知道有一些框架可以使構建這種編輯器變得更容易。我建議你可以看看Sapphire(http://www.eclipse.org/sapphire/),這樣你就可以專注於實現你正在編輯的文件的語義,而不是編輯器頁面如何同步的細節。 – 2013-03-13 15:44:29

回答

0

在GEF編輯器中,您可以使用SelectionEditPolicyshowSelection方法來聆聽選擇更改。當您的選擇更改時,此方法將被調用。在該方法中,您可以更改第二個編輯器中光標所在的位置(或者設置某種共享變量,當編輯器被激活時,它可以被編輯器讀取)。

+0

tks.I會試一試。 – 2013-03-22 01:42:03