RCP E4 状态栏太小

RCP E4 Statusbar is to small

我为我的 e4 rcp 应用程序创建了一个状态栏,但状态栏太小了。

在我的 Appliication.e4xmi 中配置如下:

Trimmed Window -> Trim条 -> Window Trim(底部) -> 工具栏 -> 工具控制(link 到我的状态栏 class)

链接状态栏class:

public class StatusBar {

private Label label;

@Inject
private IEventBroker eventBroker;
public static final String STATUSBAR = "statusbar";

@Inject
@Optional
public void getEvent(@UIEventTopic(STATUSBAR) String message) {
    updateInterface(message);
}

@PostConstruct
public void createControls(Composite parent) {
    label = new Label(parent, SWT.LEFT);
    label.setBackground(parent.getBackground());
}

public void updateInterface(String message) {
    try {
        Display.getDefault().asyncExec(new Runnable() {
            @Override
            public void run() {
                try {
                    label.setText(message);
                } catch (Exception e) {
                    logger.error(e.fillInStackTrace());
                }
            }
        });
    } catch (Exception exception) {
        logger.error(exception.fillInStackTrace());
    }
}

View of the Statusbar

ToolControl 不需要 Toolbar。将 ToolControl 作为 Trim Bar 的直接子项。

将标签放在合成中以正确布局:

@PostConstruct
public void createGui(final Composite parent)
{
  Composite body = new Composite(parent, SWT.NONE);

  body.setLayout(new GridLayout());

  Label label = new Label(body, SWT.LEFT);

  label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));

   ....
}

您可能还想在 e4xmi 的 ToolControl 定义中指定一个标记值 stretch,以使控件使用 trim 栏中所有可用的水平 space。