Layout 多段线连接的工具栏布局';谁的孩子?

Layout 多段线连接的工具栏布局';谁的孩子?,layout,eclipse-rcp,parent-child,eclipse-gef,Layout,Eclipse Rcp,Parent Child,Eclipse Gef,是否有方法为多段线连接的子级指定布局 我想在ConnectionLocator.MIDDLE处向PolylineConnection添加几个Labels,而不使用容器图形作为标签 PolylineConnection和Label都有editpart,标签的模型对象是PolylineConnection的模型对象的子对象 理想情况下,我想将多段线的所有标签子项添加到工具栏布局中的ConnectionLocator.MIDDLE。您尝试的是混合两种布局:首先,您想使用ConnectionLocato

是否有方法为
多段线连接的子级指定布局

我想在
ConnectionLocator.MIDDLE
处向
PolylineConnection
添加几个
Label
s,而不使用容器图形作为标签

PolylineConnection
Label
都有
editpart
,标签的模型对象是PolylineConnection的模型对象的子对象


理想情况下,我想将多段线的所有标签子项添加到
工具栏布局中的
ConnectionLocator.MIDDLE

您尝试的是混合两种布局:首先,您想使用
ConnectionLocator.MIDDLE
来定位图形,但另一方面,您希望此位置的图形具有自己的布局


唯一的解决方案是创建一个使用
工具栏布局的图形,并使用
连接定位器将其定位在
多段线中

通常,必须在
ConnectionLocator.MIDDLE
处添加第一个子项,并在
RelativeLocator
的帮助下,在前面的子项上添加其他子项,如下所示(该行将在连接的编辑部分中的所有图形子项上循环):


我已经写了一篇详细介绍。

你说得对,混合两种布局是不可能的。但是,我不想使用容器图形,因为子图形是通过连接编辑部分中的
getModelChildren()
动态添加/删除的。我发现了一个可以使用
RelativeLocator
(参见我的解决方案)的黑客程序。这个解决方案既有趣又优雅。
figure.add(childFigure, 
           new RelativeLocator((IFigure) figureChildren.get(currentIndex - 1), 
                                   0.5, 
                                   1.7);