2011-08-12 12 views
1

一度に複数のエディタを開くことができないようにする方法があるのでしょうか?私が今持っているのは、それが押されるたびに新しいエディタを与えるボタンです。 私はあなたが新しいエディタを開いたときに他のすべてのエディタを閉じIWorkbenchWindowIPartServiceIPartListenerを追加することができます日食RCPに一度に1つのエディタのみ? RCP

おかげ

+1

なぜあなたはエディタを使用していますか? - ボタンをクリックしたときにリフレッシュされるViewPartを、はるかに意味をなさないものにしますか? - エディタが汚れている場合、エディタに無効な値が含まれている場合はどうなりますか? –

答えて

1

を使用しています。編集者の現在のセットはIWorkbenchPage.getEditorReferences()です。

+0

常に1つのエディタが開いていると仮定すると、IWorkbenchPage.getActiveEditor()で十分です;) –

+1

@Tom問題は、新しいエディタが開かれた後に通知され、 'IWorkbenchPage.getActiveEditor()'が古いエディターではなく新しいエディターを返します。とにかく、私は通常、可能な限り少数の前提条件を持つアルゴリズムを好みます。たとえそれが少し複雑であっても...-) –

+0

あなたは正しいです。私のコメントは誤解を招きました。新しいエディタを開く前に** getActiveEditorを呼び出さなければなりません。とにかく、おそらく最も簡単なのは、新しいものを開く前にIWorkbenchPage.closeAllEditors(save)です。 –

関連する問題