我有一個用GEF編寫的圖形編輯器。在此編輯器中,可以拖放元素並通過在特定錨點上拖放來創建連接。GEF:拖放過程中的自動滾動
一切工作正常,除了當用戶拖動東西時圖不會自動滾動。
我希望圖表可以在用戶拖動某物時到達側面時自動滾動。
GEF支持這樣的功能嗎?應該調用哪個類/ setter來啓用它?
如果沒有直接支持,如何繼續實現呢?
我有一個用GEF編寫的圖形編輯器。在此編輯器中,可以拖放元素並通過在特定錨點上拖放來創建連接。GEF:拖放過程中的自動滾動
一切工作正常,除了當用戶拖動東西時圖不會自動滾動。
我希望圖表可以在用戶拖動某物時到達側面時自動滾動。
GEF支持這樣的功能嗎?應該調用哪個類/ setter來啓用它?
如果沒有直接支持,如何繼續實現呢?
自從我上次與GEF搞混了,已經有一段時間了。
是否拖放不工作或只是在負座標方向? 你使用什麼佈局?
IIRC,有不同的佈局,其中一個(FreeForm?)支持負座標,所以如果您只是在負座標上遇到問題,您可以嘗試更改佈局。
下面是Scrolling Graphical editor(作者說;))這可能會給你一個很好的提示的例子。
還有一個名爲的類,org.eclipse.gef.ui.parts.ScrollingGraphicalViewer也可能有幫助。
只有提示,雖然,因爲我不知道你的代碼。
第一步是讓您的畫布滾動。這是解釋in this book,頁96 - 101。
假設你已經在FigureCanvas
繪製你的人物和你使用FreeformFigure
S和FreeformLayer
,你可以做到以下幾點:
您Figure
添加MouseMoveListener
在其EditPart
。每次檢測到拖動時,在mouseDragEvent
方法中,用getViewer().reveal(EditPart.this)
顯示您的數字。
這會導致您的Figure
在被拖動時始終顯示。
one more: org.eclipse.gef.editparts.ViewportAutoexposeHelper – Calon