Изменить подсказку TrayIcon из ProgressMonitorDialog - PullRequest
2 голосов
/ 18 марта 2010

Я использую Eclipse RCP trayitem, который описан в учебных пособиях Vogellas .

Теперь требуется указывать не только название приложения во всплывающей подсказке, но и процент при выполнении длительных операций.

Я понимаю, что атрибут trayitem является приватным с ApplicationWorkbenchWindowAdvisor, поэтому я добавил метод получения и установки.

Единственное, чего не хватает, так это возможности доступа к экземпляру trayitem из моего ProgressMonitorDialog экземпляра.

Можете ли вы сказать мне, как бы вы решили эту загадку?
Спасибо

1 Ответ

1 голос
/ 18 марта 2010

Поскольку вы можете построить TrayItem вокруг SystemTray из любого окна:

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

, вам нужно получить доступ к этому TrayItem экземпляру из ApplicationWorkbenchWindowAdvisor?

Вы можете поместить его в более доступный класс или даже построить тот, где и когда вам это нужно.


Говоря о показе процента при выполнении длительных операций, я просто хотел упомянуть значки последних задач улучшения в Eclipse3.6M6 (не в системном трее, но связанные с ними теперь могут обеспечить хороший индикатор состояния). См. Фрагмент 336 для примера.

  • TaskItem оверлейное изображение

Новый API TaskItem#setOverlayImage(Image) позволяет клиентам устанавливать изображение для отображения в верхней части кнопки приложения на панели задач.

альтернативный текст http://download.eclipse.org/eclipse/downloads/drops/S-3.6M6-201003121448/images/overlayimage.png

  • Текст оверлея TaskItem

Новый API TaskItem#setOverlayText(String) позволяет клиентам устанавливать короткий текст, который будет отображаться в верхней части кнопки приложения на панели задач.

альтернативный текст http://download.eclipse.org/eclipse/downloads/drops/S-3.6M6-201003121448/images/overlaytext.png

  • TaskItem progress

Новые API TaskItem#setProgress(int) и TaskItem#setProgressState(int) позволяют клиентам отображать индикацию хода выполнения на кнопке приложения на панели задач.

альтернативный текст http://download.eclipse.org/eclipse/downloads/drops/S-3.6M6-201003121448/images/progress.png

...