Position the cursor anywhere on a diagram element, then hold
down the left mouse button, and drag the element to where you want it to go.
Connections will be partially "rubber-banded" - only the line segments
connected to the block being moved will adjust appropriately.
Three "drag" functions have now been specified for arrows, allowing the user to move, respectively, the tail or head of the selected arrow, or to insert or move a bend in the line. When inserting a new bend, you can drag it until you release the mouse button.
If the head or tail of an arrow is dragged into contact with a different diagram block, it becomes "attached" to that block.
A section of the diagram can be dragged (permanently) by creating an Enclosure block around it, expanding the enclosure by mousing on its corners, and then selecting the Drag Contents function of the Enclosure block. The whole Enclosure can then be dragged, together with its contents, by dragging the rectangle at the top of the enclosure. The Enclosure block can be deleted afterwards.