MultiPageEditor中的每一個(gè)頁面,可以是一個(gè)Editor,也可以是任何的一個(gè)SWT Composite。創(chuàng)建多頁面的Editor,首先需要繼承MultiPageEditorPart。在MultiPageEditorPart的createPages()方法中創(chuàng)建每一個(gè)Page。創(chuàng)建Page的方法有兩種,一種是使用addPage(IEditorPart,IEditorInput),接受一個(gè)Editor對象(創(chuàng)建這個(gè)Editor對象直接進(jìn)行new XXXEditor()即可),另一種是使用addPage(Control control)。創(chuàng)建這個(gè)control時(shí),使用getContainer()所得到的容器作為這個(gè)Composite的parent即可。而這個(gè)作為container的parent,可以想象的到,實(shí)際上就是一個(gè)CTabFolder。
這個(gè)CTabFolder在創(chuàng)建Editor時(shí)被自動創(chuàng)建,并將其addSelectionListener的響應(yīng)事件,映射到MultiPageEditor的pageChange()方法上。因此,例如要同步不同頁面之間的內(nèi)容,如果要監(jiān)聽頁面切換的事件響應(yīng),只需實(shí)現(xiàn)pageChange()方法即可。
摘要: GEF官方的Developer Guide的閱讀筆記,有一些重點(diǎn)地方地摘要,以及對EditPolicy角色定義部分的翻譯。
閱讀全文
摘要: GEF框架分析的第一部分,介紹GEF中EditPartViewer,以及GraphicalViewer的相關(guān)用法,如何將將GEF的內(nèi)容通過GraphicalViewer顯示在SWT Composite之上。
閱讀全文
摘要: 使用GEF DirectedGraph有向圖算法來實(shí)現(xiàn)自動布局的方法。改自GEF的Flow Example。對代碼作了一些重夠,能夠方便的使用。
閱讀全文