0

我有一个模型,其中一个模型对象在显示的图表中多次表示。考虑以下模型:

  1. 有很多分区
  2. 每个分区都有 x SourcePorts 和 y DestinationPorts
  3. 每个 SourcePort 都可以连接到 DestinationPort
  4. 选择了一个分区

我想将其可视化,以使所选分区位于中心:

  1. 在左侧,所有分区都可见,所有 SourcePort 均已绘制
  2. 在中心有选定的分区,所有端口都画了
  3. 在右侧,所有分区都可见,所有 DestinationPorts 都已绘制
  4. 端口之间的所有连接都已绘制
  5. 用户可以操作端口和连接(添加/删除端口和连接)

所以我的分区模型映射到多个数字。一个普通的 Partition 被画了两次(一次在左边,一次在右边)和被选中的 Partition 被画了 3 次。

如何在 GEF 中实现这一点?我应该为每个分区创建一个 EditPart 并让它为所有图形表示返回一个 IFigure 吗?还是应该每个被绘制到屏幕上的实例都有它自己的 EditPart?或者创建一个通过多个模型实例表示一个分区的额外模型是否有益?

4

1 回答 1

1

我建议创建一个包含所有可视化数据的不同模型:通过这种方式,您可以将数据模型的元素链接到可视化模型元素的多个实例,并以简单而优雅的方式解决您的问题。此外,您不会用可视化所需的所有数据“污染”数据模型,即图表中元素的坐标。

萨卢蒂

于 2011-02-01T15:43:00.717 回答