我正在使用Vogellas 教程中描述的 Eclipse RCP 托盘项。
现在的要求不仅是在工具提示中显示应用程序的名称,还要在进行冗长操作时显示百分比。
我知道trayitem 属性是私有的ApplicationWorkbenchWindowAdvisor
,所以我添加了一个getter 和setter 方法。
唯一缺少的是从我的ProgressMonitorDialog
实例访问托盘项实例的可能性。
你能告诉我,你将如何解决这个难题?
谢谢
我正在使用Vogellas 教程中描述的 Eclipse RCP 托盘项。
现在的要求不仅是在工具提示中显示应用程序的名称,还要在进行冗长操作时显示百分比。
我知道trayitem 属性是私有的ApplicationWorkbenchWindowAdvisor
,所以我添加了一个getter 和setter 方法。
唯一缺少的是从我的ProgressMonitorDialog
实例访问托盘项实例的可能性。
你能告诉我,你将如何解决这个难题?
谢谢
TrayItem
由于您可以从SystemTray
任何窗口构建一个:
final Tray tray = window.getShell().getDisplay().getSystemTray();
TrayItem trayItem = new TrayItem(tray, SWT.NONE);
,您是否必须从 访问该 TrayItem
实例ApplicationWorkbenchWindowAdvisor
?
您可以将它放在更易于访问的类中,甚至可以在需要的时间和地点构建一个。
说到在执行冗长操作时显示百分比,我只想提一下Eclipse3.6M6 中最新的任务图标改进(不是系统托盘,但它们现在可以提供良好的状态指示器)。有关示例,请参见代码段 336 。
新的 API
TaskItem#setOverlayImage(Image)
允许客户端设置要在任务栏中的应用程序按钮顶部显示的图像。
新的 API
TaskItem#setOverlayText(String)
允许客户端设置在任务栏中的应用程序按钮顶部显示的短文本。
替代文字 http://download.eclipse.org/eclipse/downloads/drops/S-3.6M6-201003121448/images/overlaytext.png
新的 API
TaskItem#setProgress(int)
允许TaskItem#setProgressState(int)
客户端在任务栏中的应用程序按钮中显示进度指示。
替代文字 http://download.eclipse.org/eclipse/downloads/drops/S-3.6M6-201003121448/images/progress.png