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。對代碼作了一些重夠,能夠方便的使用。
閱讀全文