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);