MultiPageEditor中的每一个页面,可以是一个Editor,也可以是任何的一个SWT Composite。创建多页面的Editor,首先需要继承MultiPageEditorPart。在MultiPageEditorPart的createPages()方法中创建每一个Page。创建Page的方法有两种,一种是使用addPage(IEditorPart,IEditorInput),接受一个Editor对象(创建这个Editor对象直接进行new XXXEditor()即可),另一种是使用addPage(Control control)。创建这个control时,使用getContainer()所得到的容器作为这个Composite的parent即可。而这个作为container的parent,可以想象的到,实际上就是一个CTabFolder。
这个CTabFolder在创建Editor时被自动创建,并将其addSelectionListener的响应事件,映射到MultiPageEditor的pageChange()方法上。因此,例如要同步不同页面之间的内容,如果要监听页面切换的事件响应,只需实现pageChange()方法即可。
摘要: GEF官方的Developer Guide的阅读笔记,有一些重点地方地摘要,以及对EditPolicy角色定义部分的翻译。
阅读全文
摘要: GEF框架分析的第一部分,介绍GEF中EditPartViewer,以及GraphicalViewer的相关用法,如何将将GEF的内容通过GraphicalViewer显示在SWT Composite之上。
阅读全文
摘要: 使用GEF DirectedGraph有向图算法来实现自动布局的方法。改自GEF的Flow Example。对代码作了一些重够,能够方便的使用。
阅读全文