GMF视图定义含有这样的功能,可以将视图组件切割成多个Compartment,每个Compartment用于显示不同方面的信息内容,就好像是将一个屋子分割成多个隔断,每个隔断用于存放不同的物品。该功能普遍应用与一种情况,模型实体之间的类引用关系是组合关系,比如Task和Assignment实体,就可以从Task视图中切割出一个Compartment来,用于显示Assignment信息。
实现方法如下:
首先在Rounded Rectangle节点下新建一个Rectangle子节点,并为其指定如下属性信息:
这相当于在Task节点中为Assignment分配了一个视图空间,来用于显示其信息内容。接着我们为该Rectangle指定一个布局,为简化配置,这里使用了Stack Layout布局。然后,我们需要在TaskFigure节点下新建一个Child Access子节点,用于访问该Rectangle对象,将Figure属性设置成刚刚建立的AssignmentFigure。同样,需要在Canvas节点下实例化我们声明的AssignmentFigure,所不同的是这次我们要添加一个Compartment子节点,并将属性信息设置成如图所示:
collapsible属性用于指定该compartment