e4工具栏太长,不会使自己成为多行

时间:2016-11-08 12:27:14

标签: eclipse-rcp toolbar multiline e4

如果我的工具栏无法显示其所有元素,则应将其自身设置为多线 我的工具栏中有很多工具项,但是我如何设置,所有这些都始终显示,即在多行工具栏中。

请参阅fragment.e4xmi了解模型。

my e4xmi

1 个答案:

答案 0 :(得分:1)

我找到了一种方法可以将工具栏包装在e4中。 注意:我发现直到2行才开始。

@Inject
private MTrimmedWindow mTrimmedWindow;

String toolbarID = "ID of the toolbar"

现在将以下代码添加到shell或复合调整大小的侦听器

MTrimBar trim = modelService.getTrim(mTrimmedWindow, SideValue.TOP);
List<MTrimElement> children = trim.getChildren();
for (MTrimElement child : children) {
    if (child instanceof MToolBar) {
        MToolBar mToolBar = (MToolBar) child;
        if (toolbarID.equals(mToolBar.getElementId())) {
            Object toolBar;
            if ((toolBar = mToolBar.getWidget()) != null && toolBar instanceof ToolBar) {
                Rectangle rect = getClientArea();
                Point size = ((ToolBar)toolBar).computeSize(rect.width, SWT.DEFAULT);
                ((ToolBar)toolBar).setSize(size);
            }
        }
    }
}