Only after a layout? That’s odd.
What happens if some code moves a node? Add a button that calls GoView.MoveSelection(null, …). Do selected GoBasicNodes get moved with each click of the button?
What methods have you overridden on GoBasicNode or any of its parts?
To answer the lastquestion, I haven’t overriden any methods on GoBasicNode, I just add functionality via interfaces the derived class implements. I’m wondering now if this is the culprit, because in the event_DocumentChanged method I am using type information to control program flow… but it does indeed happen only after I perform a layout.
I added a context-menu command to move the currently selected object:
I should also add that a second command will cause the object to move farther away, but the link reconnects. So, after an odd number of moves the links are disconnected, and after an even number, it is connected. This only happens with GoBasicNode derived objects, and they are implementing different interfaces. I’m guessing it has something to do with that and some convoluted logic :)
Can you email your GoBasicNode derived class to “godiagram” at this domain? we’ll eyeball it for you.