У меня есть приложение Eclipse RCP, которое использует некоторые привязки из org.eclipse.ui.defaultAcceleratorConfiguration
в дополнение к своим собственным привязкам клавиш, которые определяются через расширение org.eclipse.ui.binding
.Я определил свою собственную схему привязки и установил defaultAcceleratorConfiguration как parentId
, затем активировал эту схему из plugin_customization.ini
, чтобы я мог переопределить некоторую привязку
В настоящее время почти все мои команды находятся в контексте org.eclipse.ui.contexts.window
,Однако я хотел бы, чтобы некоторые привязки вступили в силу только тогда, когда выбрана определенная перспектива.
Как изменить текущий контекст так, чтобы при выборе или загрузке перспективы (например, при запуске приложения)) определенный контекст активирован, а затем возвращается к контексту окна, когда он отменен? Я ищу решение, которое минимально влияет на другие перспективы, то есть оно должно быть в состоянии использовать несколько точек зрения в рабочем месте.
Я сделал IPerspectiveListener3
хитрость, которая действительно работает.Я активирую контекст, когда активируется моя перспектива, и деактивирую его при деактивации перспективы.Однако мне интересно, существует ли менее хакерское решение.