SWT-действия с сочетаниями клавиш ... без необходимости добавлять их в меню - PullRequest
3 голосов
/ 09 марта 2011

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

Теперь ... как я могу зарегистрировать Действие в обычном SWT / JFace, не добавляя его в меню, но так, чтобы его можно было вызвать с помощью сочетания клавиш?

Ответы [ 2 ]

1 голос
/ 09 марта 2011

Я использую, чтобы решить это простым SWT, используя Display.addFilter для события KeyDown.См. этот вопрос для примера.

0 голосов
/ 09 марта 2011

Используйте расширение org.eclipse.ui.bindings и добавьте новый ключ.

Вы присваиваете последовательность (M1, M2, M3 и M4 используются для представления таких клавиш, как Shift, Command и Alt, в зависимости от системы). Например, я назначил комбинацию клавиш Alt + D для команды, поэтому я ввел «M3 + D» в поле последовательности.

Чтобы ваша привязка клавиш работала, вам нужно выбрать имя_схемы . Вы можете сделать один под расширением привязок. Просто назначьте ему идентификатор. Затем вам нужно добавить запись в файл «plugin_customization.ini»:

org.eclipse.ui/KEY_CONFIGURATION_ID=your.binding.scheme.id

Или вы можете просто использовать "org.eclipse.ui.defaultAcceleratorConfiguration" в качестве идентификатора вашей схемы, но он включает в себя множество комбинаций клавиш Eclipse, которые, я думаю, будут переопределять ваши.

Вы можете оставить поле contextId пустым, оно говорит, что в этом случае оно будет по умолчанию org.eclipse.ui.contexts.window.

Наконец, просто укажите идентификатор вашей команды, и вы должны быть настроены!

...