?
我想在我的EditPartViewer中獲取一個圖形元素把它拖放到一個swt控件中。實現在<<圖形編輯器中拖拽對象到swt控件>>一文有提到了。不過我在處理的時候,并不是按照他的那個方式來做的。我是根據當前點(DragSourceEvent)的位置來查找該點下的對象。看是否是我需要的對象,如果是就允許拖動。否則就不可以。
問題在這里出來:當沒有出現滾動條的時候一切都很正常,當一出現滾動條就死活沒有辦法拖動了。最后才發現DragSourceEvent中的坐標是按照屏幕來得,而EditPartViewer 中的坐標是按照他的那個viewer來得。這個地方需要轉換一下。
這個轉換的動作發現在jfire(org.nightlabs.editor2d.util.EditorUtil https://svn.jfire.org/svn/main/trunk/org.nightlabs.editor2d/src/org/nightlabs/editor2d/util/EditorUtil.java)中有現成的。不多說了,拿來用吧。