2013-03-13 75 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