我有一个包含两个主要域类的 DSL:Area 和 Entity。区域由 GeometryShape 在视觉上表示,而实体由 CompartmentShape 表示。实体可以嵌入到区域中,也可以不嵌入(在这种情况下,它们嵌入在根对象中,这是一种区域)。实体之间可能存在关系,包括不同领域的实体之间。区域不能嵌入到其他区域内,实体也不能嵌入到其他实体内。
我的问题是我无法从图表中获得我想要的行为。实体在区域中的嵌入在模型级别上运行得非常好,但视觉表示表现不稳定。例如,如果我拖动在该区域之外的区域中创建的实体,它不再响应鼠标单击(我有执行重新父级的代码,但不知何故,事物的图表方面被破坏了)。
我已经到处搜索了如何做到这一点的样本,但结果都是空的。我在网上找到的每个示例都通过“引用”关系模拟嵌套,而我正在执行域类(以及它们关联的形状类)的真正嵌入。
有没有人有如何做到这一点的例子?
当我发泄时,我是唯一一个认为图表/形状类被大量记录不足的人吗?