天天看點

RCP:給GEF編輯器添加網格和标尺。

網格和标尺效果如上圖所示。

添加網格比較簡單,也可以自己實作,主要思路是為編輯器添加一個GridLayer。但是還是建議參考eclipse自己的GEF樣例來實作。

需要注意兩個部分:

2、重寫節點的EditPart的getAdapter方法

以上即可完成添加網格。

如果要添加标尺呢?GEF提供了RulerComposite,可以友善的完成這個操作。

我們可以注意到,早前的那張圖裡,标尺是占據着整個編輯器的外層的,于是我們可以想到,隻要替換編輯器的Parent Compostie為RulerComposite即可完成。

是以,同樣是重寫createGraphicalViewer方法,加入一下代碼:

但是,這樣還不能算是結束,還需要重寫getGraphicalControl方法

//事實上,這一步并不是必要的,如果你把rulerComposite作為GraphicalViewer的Control,那麼,這一步就是多餘的。

完成了以上,就完成了網格和标尺的添加。

當然,你可能會注意到你的網格和圖中的田字型網格并不一緻,這是因為我重寫了RootEditPart并且提供了自己的GridLayer。

繼續閱讀