我用emf和gef来做的搭建一个流程编辑器,但是一直都出现了一个问题,就是我在删除一个node节点的同时,我在代码中要求同时删除其相关联的connection连线,但是郁闷的是,删除的时候只是删除了节点,而没有成功的删除连线。一直以来我都以为是editPart部分的刷新出现了问题,结果不是的。
在查看了生成的XML文件的时候发现,确实是没有删除掉连线,但是只是删除了connection的target部分,原来是我只是在diagram里面删除了connection的信息,在connection的source和target的node节点中connection list中没有删除相关的信息,从而导致了这个问题。只要在删除节点前,把相关的要删除的connection在各个node和diagram中的副本都删除干净后,是能保证删除的。
但是这个具体的后台的原因,我不是很理解,再研究下,也希望达人能帮忙解释一下。