se un nodo non è una foglia allora ci sono sicuramente 10px di collegamento al primo figlio. La colonna rappresenta il 6° px di questo collegamento principale. La prima "riga" da cui deve partire il collegamento verticale è il primo figlio (in realtà il secondo..il primo è già fatto in quanto ci sono i 10 px di collegamento..per semplicità consideriamo il primo) l'ultima "riga" è quella in cui si trova l'ultimo figlio del nodo. Per la prima "riga" basta conoscere la "riga" in cui si trova il nodo padre, per l'ultima, puoi usare una variabile per memorizzarti la "riga" in cui viene disegnato l'ultimo figlio.
Infine, sapendo queste info, te la puoi cavare con un semplice for e tutto è pronto