Программно поменять иконку для команды eclipse RCP - PullRequest
3 голосов
/ 24 марта 2010

У меня есть выпадающее меню в Coolbar. Он имеет 3 подпункта, которые образуют радиогруппу. Я хотел бы изменить значок, показанный на панели инструментов, когда пользователь выбирает один из этих вариантов.

Я погуглил и увидел, что должен посмотреть: org.eclipse.ui.commands.ICommandService.refreshElements (String, Map) а также org.eclipse.ui.commands.IElementUpdater

Вероятно, это правильная вещь, чтобы посмотреть на исключение - недостаточно информации. Один или два небольших фрагмента кода будут отличными.

Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 25 марта 2010

Хорошо, если вы не хотите использовать «пользовательский» элемент управления, нужно, чтобы ваш обработчик (обработчик, связанный с конкретной командой) реализовал IElementUpdater. Когда каждый элемент панели инструментов отображается или щелкается (т. Е. Если пользователь выбирает переключатели), вызывается метод: updateElement (элемент UIElement, параметры Map). Элемент имеет метод setIcon (), и это то, что я использовал, чтобы изменить значок выпадающего меню.

3 голосов
/ 24 марта 2010

Каждое обновление Coolbar указывает на специализацию класса WorkbenchWindowControlContribution .

Эта ошибка 186800 содержит пример кода, который может представлять интерес.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...