Moving single nodes using the mouse
How to drag-and-drop
Dragging a node with your mouse and dropping it onto a target node makes the dropped node (and any included subtree) a child of the target node. Thus you can use this method to quickly change a node's parent.
Dragging a node while holding the Shift key down and dropping it onto a target node makes the dropped node (and any included subtree) a sibling of the target node. This is useful for manually changing the order of sibling nodes. Note that the new sibling node is inserted after (i.e. below) the target node.
Dragging a node while holding the Ctrl key down and dropping it onto a target node makes the dropped node (and any included subtree) also a sibling of the target node, but now the new sibling node is inserted before (i.e. above) the target node.
To abort drag-and-drop, either move the cursor to an area of whitespace in the tree pane (to prevent losing the dragged node in the tree) and release the left mouse button, or press the Esc key.
Advantages of drag-and-drop
Dragging nodes with the mouse has some advantages over using cursor keys:
- You can drag a node beyond the top or bottom of its subtree without having to change commands to move it to the next subtree up or down. See Moving single nodes using the keyboard.
- Dragging with a mouse does not invalidate any hyperlinks. See Re-linking hyperlinks.
You can disable drag-and-drop by clicking Main menu ⁄ View ⁄ Options ⁄ Tree and unticking Enable drag-and-drop.
Remember that if the node has child nodes, the whole subtree is moved with it.
1. Clicking Main menu ⁄ Help ⁄ How to move nodes using the mouse, or Main menu ⁄ Tree ⁄ Move ⁄ How to move nodes using the mouse will conveniently display much of this information for you.
2. You cannot drop a node onto one of its children, i.e. make the moved node a child of its own child. This will display an error message: "Trying move to child".
3. The dragged node will be inserted at the bottom of the target node's subtree.
1. If much node dragging is needed, reduce the size of your TreePad PLUS window vertically (by dragging the top border down and⁄or the bottom border up) so less mouse cursor travel is needed from top to bottom. Let the heel of your mouse hand rest stationary on the mat when it is not supported by your keyboard wrist rest. Maybe increase the mouse pointer speed a notch.
2. To minimize dragging distance, it may also help to implode the whole tree by selecting the Root node and clicking the Implode icon or pressing Ctrl+D, then either 1) open just the source and destination subtrees before dragging, or 2) open just the source subtree and let the mouse cursor hover over the destination subtree to open it (see below).
3. Dragging calls for a little finesse and patience, particularly when dragging a node beyond the top or bottom borders of the tree pane, which will scroll to reveal the rest of the tree. If the tree does not appear to scroll immediately, you may have dragged the cursor too far.
4. When dragging, the tree pane cursor changes to one of two forms. We shall call the first one the "drag but not drop" form, appearing as a circle with a diagonal stroke through it :
Fig. 1. The "drag but not drop" cursor. We selected node E and were dragging it up past C.
This cursor is displayed faintly when you are within the tree pane meaning that you can drag (and scroll) but not drop. As soon as you move the cursor beyond the tree pane, the display changes to a sharp image and scrolling stops. If this happens, reverse direction without releasing the left mouse button, and scrolling should resume. If you do release the left button you will have to begin again.
The second form of the cursor which we shall call the "drag and drop" form consists of an arrow with a rectangle representing the node:
Fig. 2. The "drag and drop" cursor. You can also see the faint shadow of this cursor behind it. This cursor is normally faint.
The cursor takes this form when you are in the "drop zone", meaning that releasing the left mouse buttom will cause the selected node (E) to become a child or sibling of the target node (C in this example). The drop zone extends from the node icon to the right edge of the node title.
5. Note that if you wish to drop the selected node onto a node which is currently hidden within a collapsed subtree, pause for a second with the cursor at the level of the subtree root node and it will automatically expand the subtree!
Fig. 3. Here we wished to make E a child of D3, so we let the mouse cursor linger on D until the subtree opened, then dragged E down to D3.