多页编辑器的实现
?
在GEF的开发中,多页标签编辑器是一种常见的实现,其实现主要是继承MultiPageEditorPart或者FormEditor来实现,在实现的子类中加入自定义的Editor或者page。
一、继承MultiPageEditorPart
具体步骤如下:
a、自定义继承MultiPageEditorPart的CustomMultiPageEditor
b、在其中调用createPages()方法,来创建多个页面[int org.eclipse.ui.part.MultiPageEditorPart.addPage(IEditorPart editor, IEditorInput input) throws PartInitException],通过这个方法加入自己的编辑器
二、继承FormEditor
具体步骤如下:
a、自定义继承FormEditor的CustomMultiEditor
b、在其中调用addPage()方法,来创建多个页面[public int addPage(IEditorPart editor, IEditorInput input)],d调用这个方法增加自己的编辑器
三、关于保存
在实现多页编辑器之前,其内嵌的Editor已经重载了doSave()的方法。在多页编辑器中重载doSave()方法,调用getEditor(this.nowPageIndex).doSave(monitor)来实现保存。
?
以上步骤虽然实现了多页编辑器,但是在编辑器和文本之间的同步并未实现,这是下一步要考虑的,目前还没有思路
?