我開發Eclipse RCP應用程序,並已定義了我的編輯自定義上下文(org.eclipse.ui.contexts)單鍵的鍵綁定。每當我調用我的編輯器時,都會激活此上下文。另外,我已經定義了一個單鍵綁定(org.eclipse.ui.bindings),我已經將範圍限定在這個上下文中,當在編輯器上下文中輸入時,它會調用一個命令/處理程序(我將使用這個例子中的字母'J')。我如何禁用Eclipse文本控件
一切按預期工作。當我啓動/選擇一個自定義編輯器時,上下文被激活,'J'執行我的處理程序。當我啓動/選擇視圖部件時,我的自定義編輯器的上下文被取消激活,'J'不再執行處理程序。但是,當我點擊窗口修剪區域中的某個文本小部件(比如快速訪問字段)並鍵入字母'J'時,按鍵就會被消耗並執行我的處理程序,我不想要的行爲。
其原因是,選擇另一個工作臺部分具有激活它的上下文和去激活前一個的效果。但是,單擊工作臺窗口區域中的其他任何地方(除另一部分以外)都不會停用前一個上下文。我確信這是一個設計,是一個完全合理的方法。但是,它阻止我定義單鍵密鑰綁定。
有沒有人一)運行到之前這個問題和b)如果是這樣,你是怎麼解決的呢?
現在我使用的涉及使用全球聽衆一個完整的黑客攻擊,完全禁止在檢測進入文本插件的鍵綁定服務,並重新啓用它從文本小出口。