单个模型元素在UI中多次表示...如何在GEF中实现?

时间:2010-11-23 09:45:34

标签: java eclipse eclipse-gef

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

  1. 有很多分区
  2. 每个分区都有x SourcePorts和y DestinationPorts
  3. 每个SourcePort都可以连接到DestinationPort
  4. 选择了一个分区
  5. 我希望将其显示为所选分区位于中心位置:

    1. 在左侧,所有分区均可见,所有SourcePorts都已绘制
    2. 在中间有选定的分区,所有端口都已绘制
    3. 在右侧,所有分区都可见,所有DestinationPorts都已绘制
    4. 端口之间的所有连接均已绘制
    5. 用户可以操作端口和连接(添加/删除端口和连接)
    6. 所以我的分区模型映射到多个数字。普通分区被绘制两次(左侧一次,右侧一次)和选定的分区三次。

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

1 个答案:

答案 0 :(得分:1)

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

Saluti