문제

I have an Eclipse RCP application which uses some bindings from org.eclipse.ui.defaultAcceleratorConfiguration in addition to its own keybindigs, which are defined through the extension org.eclipse.ui.binding. I defined my own binding scheme and set the defaultAcceleratorConfiguration as parentId, then activated that scheme from plugin_customization.ini so that I can override some binding

Currently, nearly all of my commands are in the org.eclipse.ui.contexts.window context. However, I would like some binding to only take effect when a certain perspective is selected.

How could I change the current context so that when a perspective is selected or loaded (upon application launch, for example) a certain context is activated, then revert to the window context when it is deselected? I am looking for a solution that interferes other perspectives minimally, that is, it should be able to be used by several perspectives in the workbech.

I did some IPerspectiveListener3 trickery that indeed works. I activate the context when my perspective is activated, and deactivate it upon perspective deactivation. However, I wonder whether a less hackish solution exists.

도움이 되었습니까?

해결책

I went with the IPerspectiveListener3 approach, and didn't run into any regressions. Yet.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top