2013-04-10 2 views
3

Я внедрил пользовательскую панель инструментов в своем приложении RCP. Я также использую расширение org.eclipse.ui.menus для внесения команд на пользовательскую панель инструментов.Как я могу настроить свою собственную панель инструментов через IElementUpdater

<extension 
    point="org.eclipse.ui.menus"> 
    <menuContribution    
     locationURI="toolbar:com.my.custom.toolbar.identifier.toolbar"> 
    <command 
      commandId="com.my.command.id" 
      icon="icons/my_icon.png" 
      style="toggle" 
      tooltip="My Toggle Tooltip"> 
     </command> 
    </menuContribution> 
</extension> 

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

У меня есть элементы панели инструментов, которые относятся к типу, и мне нужно их обновить свой интерфейс, используя интерфейс IElementUpdater, который реализует обработчик команды.

Я также вношу эту команду в стандартное меню Eclipse ... например, «панель инструментов: org.eclipse.ui.main.toolbar», и его состояние переключения обновляется через IElementUpdater, когда это необходимо.

Возможно, что-то у меня на моей панели инструментов, которая подключается к IElementUpdater, но я не знаю, с чего начать искать эту работу.

ответ

1

Я использовал IElementUpdater, но не для случаев, чтобы обновить состояние переключения, так как это должно быть сделано соединением с соответствующей командой. Существуют, однако, некоторые проблемы в Eclipse 4, которые я уже начал указывать в blog article.

Какой вариант использования Eclipse вы используете? 3.x или 4.x? В 4.x существует bug, касающийся синхронизации вкладов и их командных состояний.

+0

У меня работает приложение 3.x RCP. Он состоит из CoolBar с CoolItems, которые содержат панели инструментов. – twindham

+0

В этом случае, если вы пытаетесь решить проблему переключения, взгляните на эту статью http://blog.eclipse-tips.com/2009/03/commands-part-6-toggle-radio-menu .html .. переключение разрешается с использованием соединения с командой и состояния ее состояния. –

+0

Я видел эту статью, с которой вы связались, и я успешно использовал образцы в ней, чтобы получить обновление переключающих кнопок на главной панели инструментов Eclipse. Это моя настраиваемая панель инструментов, которая не работает. Я думаю, мне нужно посвятить некоторое время, чтобы прочитать исходный код Eclipse, чтобы увидеть, как основная панель инструментов Eclipse получает уведомление от IElementUpdater. – twindham

Смежные вопросы