GEF編輯器的深入應用

2021-08-29 15:10:48 字數 623 閱讀 4019

最近,由於專案工作較忙,寫作很少,但是通過專案的應用,對gef進行了深度研究,主要內容如下:

一、gef編輯器中網格線線型的調整、背景顏色的改變等等

gef編輯器中,網格線作為輔助實現節點定位、相鄰節點之間自動對齊調整等功能,具有重要意義。但是,gef網格確省網格線留給我們的調整餘地只有單元格的間距,針對有些使用者的特殊要求,比如修改線型等,就無能為力了。

由於專案的需要,對此類內容進行了研究,實現了網格線線型的調整、編輯器背景顏色的調整等等。實現的方法是:對rooteditpart進行creategridlayer進行重寫,將自己網格的設計來替換系統確省的gridlayer。

二、gef編輯器中,建立層的概念

gef編輯器中,可以設定多個層,每一層都有自己的畫布,在畫布上實現自己的元素布置。可以控制顯示不同的層。

三、對於採用xylayout布局的容器,在容器尺寸變化時,同步放大或縮小容器的元素尺寸,使容器的元素始終能夠全部顯示出來。

四、消除調色盤所佔的位置。確省情況下,即使調色盤沒有,系統仍然為其保留空白區域。

五、建立編輯狀態和執行狀態的兩種模式,在執行模式下,figure中各個元素響應外部事件,按照模型的配置,實現實際的控制和執行等等。

由於最近比較忙,空下來時,逐步補全有關內容。

GEF編輯器的區域及滾動條

gef編輯器是構架在draw2d的figurecanvas上的,而figurecanvas是swt中canvas的子類.當得到figurecanvas之後,就可以得到gef編輯器的區域和gef編輯器內部畫布的大小 編輯器區域大小 figurecanvas.getbounds 這是運用了figurec...

GEF中多頁編輯器中的Action不能使用了

最近在開發設計乙個gef專案,實現了多頁編輯器 multipageeditorpart 發現在切換頁面過程中之前的一系列 retarget action cut,delete,paste等 都失效了,而在單頁編輯器 editorpart 中可以正常使用 其實,最簡單的方法就是在gef編輯器中覆蓋父類...

gef直接編輯的思路

攔截編輯的事件,在同樣的位置,同樣的大小,用text來覆蓋。首先需要在原有的基礎上多加兩個類 edirecteditmanager 直接編輯管理類 ecelleditorlocator 單元格的編輯的位置 public class ecelleditorlocator implements cell...