網格和标尺效果如上圖所示。
添加網格比較簡單,也可以自己實作,主要思路是為編輯器添加一個GridLayer。但是還是建議參考eclipse自己的GEF樣例來實作。
需要注意兩個部分:
2、重寫節點的EditPart的getAdapter方法
以上即可完成添加網格。
如果要添加标尺呢?GEF提供了RulerComposite,可以友善的完成這個操作。
我們可以注意到,早前的那張圖裡,标尺是占據着整個編輯器的外層的,于是我們可以想到,隻要替換編輯器的Parent Compostie為RulerComposite即可完成。
是以,同樣是重寫createGraphicalViewer方法,加入一下代碼:
但是,這樣還不能算是結束,還需要重寫getGraphicalControl方法
//事實上,這一步并不是必要的,如果你把rulerComposite作為GraphicalViewer的Control,那麼,這一步就是多餘的。
完成了以上,就完成了網格和标尺的添加。
當然,你可能會注意到你的網格和圖中的田字型網格并不一緻,這是因為我重寫了RootEditPart并且提供了自己的GridLayer。