我希望能够在运行时更改标题栏文本。通常我想在我的应用程序打开文件时执行此操作,以便在标题栏中包含应用程序名称 - 文件名。
我读过关于使用ApplicationWorkbenchWindowAdvisor
获取IWorkbenchWindowConfigurer
,然后使用它来设置标题的人,但我实际上并不知道在哪里或如何抓住ApplicationWorkbenchWindowAdvisor
,或者这是否是我需要写的课程。
目前,标题是通过我的plugin.xml中的appName属性设置的。
有人可以举例说明它的用法吗?
答案 0 :(得分:2)
您可以通过在应用的顶级MWindow
设置标签来执行此操作:
@Inject
MApplication application;
@Inject
EModelService modelService;
....
MWindow window = (MWindow)modelService.find("id of your top window", application);
window.setLabel("new label");
答案 1 :(得分:0)
使用EModelService按ID查找MWindow的替代方法是使用注入。通过这种方式,它可以在执行操作的控件的上下文中找到父(并且是活动的,尽管可能是冗余的)窗口(在您的情况下为文件选择器):
@Inject
@Active
private MWindow window;