我需要在Eclipse应用程序的状态栏中显示状态指示器。我无法通过ApplicationWindowAdviser(另一个团队拥有核心产品)做出贡献,但我确信我应该能够通过扩展点做出贡献。尽管有很多谷歌搜索,我找不到任何描述如何做到这一点。
答案 0 :(得分:8)
在org.eclipse.ui.menuContributions扩展中,使用“toolbar:org.eclipse.ui.trim.status”作为locationURI。您可以将命令/自定义控件提供给状态栏。
答案 1 :(得分:1)
答案 2 :(得分:0)
首先,将状态栏添加到application.e4xmi(应用程序> Windows和对话框>修剪窗口> TrimBars> WindowTrim(底部)>工具栏>工具控件)
创建.java类并在工具栏(类uri)中提供地址。
e4状态栏实现与e3实现不同。在e4中,您可以使用eventbroker将文本(info)发送到状态栏。@Inject
private IEventBroker eventBroker;
private static final String STATUSBAR ="statusbar";
@Inject @Optional
public void getEvent(@UIEventTopic(STATUSBAR) String message) {
updateInterface(message);
}
@PostConstruct
public void createControls(Composite parent) {
.... \\ swt definitions e.g. label
}
public void updateInterface(String message)
{
try{
Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
try{
label.setText(message);
}
catch(Exception exc){
System.out.println(exc);
}
}
});
}
catch(Exception exception){
System.out.println(exception);
}
}
另外,不要忘记将eventbrokersender添加到另一个java类。
@Inject
private IEventBroker eventBroker;
private static final String STATUSBAR ="statusbar";
eventBroker.send(STATUSBAR, "status bar test message..");