我有一个模型,其中一个模型对象在显示的图表中多次表示。考虑以下模型:
- 有很多分区
- 每个分区都有 x SourcePorts 和 y DestinationPorts
- 每个 SourcePort 都可以连接到 DestinationPort
- 选择了一个分区
我想将其可视化,以使所选分区位于中心:
- 在左侧,所有分区都可见,所有 SourcePort 均已绘制
- 在中心有选定的分区,所有端口都画了
- 在右侧,所有分区都可见,所有 DestinationPorts 都已绘制
- 端口之间的所有连接都已绘制
- 用户可以操作端口和连接(添加/删除端口和连接)
所以我的分区模型映射到多个数字。一个普通的 Partition 被画了两次(一次在左边,一次在右边)和被选中的 Partition 被画了 3 次。
如何在 GEF 中实现这一点?我应该为每个分区创建一个 EditPart 并让它为所有图形表示返回一个 IFigure 吗?还是应该每个被绘制到屏幕上的实例都有它自己的 EditPart?或者创建一个通过多个模型实例表示一个分区的额外模型是否有益?