2010-09-10 12 views
2

Я пытаюсь захватить пользовательские настройки из строки меню, например, если пользователь нажал «Файл» в меню, мой плагин напечатает «Файл нажат». Я понял, как прослушивать варианты выбора с помощью IselectionService, но до сих пор не имеет понятия, как это сделать с барами главного меню (или панелями инструментов).прослушиватель затмений для выбора главного меню меню

Спасибо за помощь


Подробнее:

Я собираюсь объяснить мою проблему немного более точно:
Я хотел меню действий захвата верхнего уровня и панели инструментов, проблема я действительно не знаю, как создать и прикрепить слушателя.
Это ISelectionListener плагина.
Моей целью является прослушивание меню верхнего уровня рабочего стола и панели инструментов верхнего уровня.
Thanx за помощью

// the listener we register with the selection service 
private ISelectionListener listener = new ISelectionListener() { 
    public void selectionChanged(IWorkbenchPart sourcepart, ISelection selection) { 
    // we ignore our own selections 
    if (sourcepart != SelectionView.this) { 
     showSelection(sourcepart, selection); 
    } 
    } 
}; 
... 
... 
public void createPartControl(Composite parent) { 
    ... 
    getSite().getWorkbenchWindow().getSelectionService().addSelectionListener(listener); 

PS: Большинство того, что я нашел о меню слушателя были SWT вещей для некоторого вида или окна я создал, то не то, что я имел в виду, мне нужен слушатель главного меню верхнего уровня и панели инструментов в eclipse workbench.

ответ

1

Если вы знаете местоположение uri (которое вы можете проверить с помощью PluginSpy), you can add an handler, чтобы отреагировать на это событие меню.

Примечание: Menu Contribution article упоминает locationURI для:

  • главного меню "org.eclipse.ui.main.menu"
  • главного toolbor является "org.eclipse.ui.main.toolbar"
+0

эй, спасибо за быстрый ответ :) –

+0

, пожалуйста, снова посмотрите на мой вопрос, я его отредактировал! –

+0

@amir: Я снова посмотрел на ваш вопрос (и отредактировал его на самом деле), но теперь нет новых элементов для добавления. Все еще смотрящий. – VonC

1

ЮО может попытаться использовать ICommandService: с эту службу вы можете зарегистрировать IExecutionListener.

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

Надеется, что это помогает

+0

Я просто хочу сказать, что я получил некоторую помощь от парней, которые сделали плагин Smarttutor, который, конечно, мне нужен. фиксирует все действия в меню. –

+0

вот веб-сайт: http: //code.google.com/p/smarttutor/ –

+0

Звонок справа, он работает. Iam теперь ищет событие выпадающего меню главного меню и событие наведения мыши над меню и элементами меню на затмении. нужна помощь в этом –

0

я просто хочу сказать вам, я получил некоторую помощь от парней, которые сделали Smarttutor плагин, который все тоже, что мне нужен. фиксирует все действия в меню. - amir farah 31 secs ago edit Я просто хочу сказать вам, что я получил помощь от парней, которые сделали плагин Smarttutor, который, конечно, мне нужен. фиксирует все действия в меню.
вот веб-сайт: code.google.com/p/smarttutor

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

  • Нет связанных вопросов^_^