GEF編輯器的區域及滾動條

2021-08-22 06:32:25 字數 869 閱讀 5423

gef編輯器是構架在draw2d的figurecanvas上的,而figurecanvas是swt中canvas的子類.

當得到figurecanvas之後,就可以得到gef編輯器的區域和gef編輯器內部畫布的大小:

編輯器區域大小:figurecanvas.getbounds();

這是運用了figurecanvas是canvas子類的特點,呼叫swt的canvas的getbounds()方法,即呼叫control的getbounds()方法.

畫布大小:figurecanvas.getcontents.getbounds();

這是運用了ifigure的getbounds()方法, 這兩個區域矩形不可混淆.

若要觸發gef編輯器的滾動條操作,僅需呼叫figurecanvas的scrolltox(int hoffset)和scrolltoy(int voffset)即可.

獲取figurecanvas的方法也比較簡單.通過editpart.getviewer()獲得editpartviewer,一般情況下editpartviewer的control就是figurecanvas.

列出**如下:

figurecanvas canvas 

=(figurecanvas)editpart.getviewer().getcontrol();

canvas.scrolltox(

500);

canvas.scrolltoy(

600);

system.out.println(canvas.getbounds());

system.out.println(canvas.getcontents().getbounds());

hexise 2006-12-29 13:16

文字編輯器《三》更好的滾動條

void cmyeditorview onsize uint ntype,int cx,int cy void cmyeditorview onvscroll uint nsbcode,uint npos,cscrollbar pscrollbar si.fmask sif pos setscrol...

GEF編輯器的深入應用

最近,由於專案工作較忙,寫作很少,但是通過專案的應用,對gef進行了深度研究,主要內容如下 一 gef編輯器中網格線線型的調整 背景顏色的改變等等 gef編輯器中,網格線作為輔助實現節點定位 相鄰節點之間自動對齊調整等功能,具有重要意義。但是,gef網格確省網格線留給我們的調整餘地只有單元格的間距,...

瀏覽器滾動條的處理

今天遇到了乙個關於滾動條的問題,為了處理這個問題整整試了一上午,子元素的寬度缺省會撐滿父元素的寬度 沒有滾動條時 子元素寬度 父元素寬度 有滾動條時 父元素的有效寬度會變小 父元素寬度 原父元素寬度 滾動條寬度 因此子元素重新調整寬度 子元素寬度 原父元素寬度 滾動條寬度 此時子元素明顯會因為寬度變...