从ProgressMonitorDialog更改TrayIcon工具提示

时间:2010-03-18 07:14:12

标签: java eclipse eclipse-rcp rcp

我正在使用Eclipse RCP托盘项目,其描述为 in Vogellas tutorials

现在的要求不仅要在工具提示中显示应用程序的名称,还要在执行冗长的操作时显示百分比。

我知道trayitem属性是来自ApplicationWorkbenchWindowAdvisor的私有属性,所以我添加了一个getter和setter方法。

唯一缺少的是可以从我的ProgressMonitorDialog实例访问trayitem实例。

你能告诉我,你将如何解决这个难题? 感谢

1 个答案:

答案 0 :(得分:1)

由于您可以从任何窗口围绕TrayItem构建SystemTray

final Tray tray = window.getShell().getDisplay().getSystemTray();
TrayItem trayItem = new TrayItem(tray, SWT.NONE);

,您是否必须从TrayItem访问 ApplicationWorkbenchWindowAdvisor个实例?

您可以将它放在一个更易于访问的类中,甚至可以在需要的地方和时间构建一个。


说到在进行冗长的操作时显示百分比,我只是想提到最新的任务图标improvements in Eclipse3.6M6(不是系统托盘,但他们现在可以提供良好的状态指示器)。有关示例,请参阅Snippet 336

  • TaskItem overlay image
  

新的API TaskItem#setOverlayImage(Image)允许客户端将图像设置为显示在任务栏中的应用程序按钮之上。

alt text http://download.eclipse.org/eclipse/downloads/drops/S-3.6M6-201003121448/images/overlayimage.png

  • TaskItem叠加文字
  

新API TaskItem#setOverlayText(String)允许客户端设置要在任务栏中的应用程序按钮顶部显示的短文本。

alt text http://download.eclipse.org/eclipse/downloads/drops/S-3.6M6-201003121448/images/overlaytext.png

  • TaskItem进度
  

新的API TaskItem#setProgress(int)TaskItem#setProgressState(int)允许客户在任务栏的应用程序按钮中显示进度指示。

alt text http://download.eclipse.org/eclipse/downloads/drops/S-3.6M6-201003121448/images/progress.png