I've patched the dragging behavior. The idea is to cast rays into the scene and project them into the x-y plane (z == 0, there where the graph layout resides). Such a ray is constructed for the mouse position at which the drag was started, and for the current mouse position. This yields two points in the plane dragOrigin and dragDestination. The difference between both points tells us how far we have to translate the camera (location and target). Works fine in both 2D view and 3D view.
P.S. Similar code could be useful to improve dragging of nodes when the view is 3D.
I've patched the dragging behavior. The idea is to cast rays into the scene and project them into the x-y plane (z == 0, there where the graph layout resides). Such a ray is constructed for the mouse position at which the drag was started, and for the current mouse position. This yields two points in the plane dragOrigin and dragDestination. The difference between both points tells us how far we have to translate the camera (location and target). Works fine in both 2D view and 3D view.
P.S. Similar code could be useful to improve dragging of nodes when the view is 3D.