私の現在のプロジェクトでは、TextEditor
ネストされた a にアタッチされた jface ProjectionViewer の特定の実装を使用していMultiPageEditor
ます。私の仕事は、Ctrl-Z に対するカスタムの反応を実装することです。私が得た情報から、特定の実装を Viewer にアタッチすることでこれを行うのが最善でありIUndoHandler
、すべて問題ありません。
ただし、その TextEditor にフォーカスがあるときに Ctrl-Z を押しても、期待される反応は発生しません。関連するキーの組み合わせ Ctrl-Z を表示するコンテキスト メニューの[入力を元に戻す] をクリックすると、TextViewerUndoManager.DocumentUndoListener
の通知メソッドが呼び出されますが、TextViewerUndoManager
Ctrl-Z を押しても のコード行には触れられません。
この問題の考えられる原因として、拡張ポイントでこのキーの組み合わせに対してハンドラーが定義されている可能性があると想定しました。これは、以前にこのメカニズムを試したことがあるためです。別のウィジェットの特別なコンテキスト メニューに関連付けられているもの。
Ctrl-C と Ctrl-V が意図したとおりに機能することに注意してください。
Ctrl-Z が押されたときに何が起こるか、および に何も中継されない理由を調べる必要がありますTextViewerUndoManager
。
eclipse がこれらのキーの組み合わせを正常に処理し、どのコマンドが適切かを判断する方法について誰かが説明してくれると非常に助かります。
前もって感謝します