我正在使用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