Improve Arrow.remove()
Currently, the only use of SFGMainWindow._ports
is in Arrow.remove
. It should be possible to rewrite this to not rely on SFGMainWindow._ports
.
All DragButtons are available as SFGMainWindow._drag_buttons.values()
and the ports associated with a DragButton
as DragButton.port_list
.
Also, the code looks quite complicated... (Although currently not will full code coverage.)