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網格確省網格線留給我們的調整餘地只有單元格的間距,...
瀏覽器滾動條的處理
今天遇到了乙個關於滾動條的問題,為了處理這個問題整整試了一上午,子元素的寬度缺省會撐滿父元素的寬度 沒有滾動條時 子元素寬度 父元素寬度 有滾動條時 父元素的有效寬度會變小 父元素寬度 原父元素寬度 滾動條寬度 因此子元素重新調整寬度 子元素寬度 原父元素寬度 滾動條寬度 此時子元素明顯會因為寬度變...