代码之家  ›  专栏  ›  技术社区  ›  Arne Deutsch

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

  •  0
  • Arne Deutsch  · 技术社区  · 14 年前

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

    1. 有许多分区
    2. 每个分区都有x个源端口和y个目标端口
    3. 每个SourcePort都可以连接到DestinationPort
    4. 已选择一个分区

    我想将其可视化,以便选定的分区位于中心:

    1. 在左侧,所有分区都可见,所有源端口都已绘制
    2. 中间是选定的分区,所有端口都涂有油漆
    3. 在右边,所有的分区都是可见的,所有的destinationport都被绘制出来了
    4. 端口之间的所有连接都已喷漆
    5. 用户可以操作端口和连接(添加/删除端口和连接)

    所以我的分区模型映射到多个图形。一个普通的分区被绘制两次(一次在左边,一次在右边),选定的分区被绘制三次。

    如何在全球环境基金中实施?我是否应该为每个分区创建一个EditPart并让它返回所有图形表示的IFigure?或者每个绘制到屏幕的实例都应该有自己的EditPart?或者创建一个额外的模型,其中一个分区通过多个模型实例表示,这样做是否有益?

    1 回复  |  直到 13 年前
        1
  •  1
  •   pbanfi    13 年前

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

    礼炮