我正在尝试将托盘图标添加到基于e4的应用程序中。在e3应用程序中,我使用WorkbenchWindowAdvisor类并覆盖
WorkbenchWindowAdvisor.postWindowOpen()
和
WorkbenchWindowAdvisor.dispose()
贡献和处理托盘图标的方法。在e4应用程序中,我使用MyLifeCycleManager(lifeCycleURI应用程序属性)和@ProcessAdditions根据主题Add System Tray and Active Workbech Shell reference in E4 application注释的方法我按以下方式创建托盘图标:
Tray tray = pDisplay.getSystemTray();
trayItem = new TrayItem(tray, SWT.NONE);
Image trayImage = AbstractUIPlugin.imageDescriptorFromPlugin(Activator.PLUGIN_ID, "icons/alt_window_16.gif").createImage();
trayItem.setImage(trayImage);
trayItem.setToolTipText(TRAY_TOOLTIP);
要处理托盘图标,我使用注入上下文的IWindowCloseHandler实例。
以e4方式创建和处理托盘图标(以及其他应用程序特定对象)的正确方法是什么?