ワークベンチ・エディター

ワークベンチ・エディターの実装は、ユーザーのプラグインおよび編集する内容によって固有のものですが、 ワークベンチは、エディターを構築するための汎用的な構造を提供します。 以下の概念は、すべてのワークベンチ・エディターに適用されます。

エディター・パーツおよびその入力

エディターは IEditorPart を インプリメントする必要があり、多くの場合、EditorPart クラスを拡張して作成されます。  エディターは createPartControl メソッドにそのユーザー・インターフェースをインプリメントします。  このメソッドは、エディターの内容を表示する SWT ウィジェットまたは JFace ビューアーを組み立てるために使用されます。 

エディター入力とは、編集されるもののことです。エディター入力は、ファイル名と考えることができます。 ただし実際は、もっと一般的なものです。 IEditorInput は、エディター入力に対してプロトコルを定義します。 このプロトコルには、入力の名前、エディターの上部のラベルにその入力を表示するために使用するイメージが含まれます。

エディター入力ラベル

プラットフォームでは、2 つの汎用のエディター入力が提供されています。 IFileEditorInput は、ファイル・システム内のファイルである入力を表しています。  IStorageEditorInput は、 バイトのストリームである入力を表しています。 これらのバイトは、ファイル・システム以外のソースからのものであってもかまいません。

エディター入力のリセット

エディターが、その入力オブジェクトを素早く置換する機能をサポートしていれば、 IReusableEditor をインプリメントする必要があります。  このインターフェースをインプリメントすることによって、ワークベンチはエディターを「再生」できます。 ワークベンチ・ユーザー設定では、ある数のエディターが開いた後、それらのエディターが再使用されるよう指示することができます。 

エディター入力のナビゲート 

エディターのナビゲーション・ヒストリーをインプリメントしたい場合、 INavigationLocationProvider を インプリメントする必要があります。 ここには、ナビゲーション・ヒストリーを保管しておくために必要な現在のナビゲーション・ロケーション (INavigationLocation) をワークベンチが要求するための機構が用意されています。  ワークベンチは、ナビゲーション・ユーザー・インターフェースの機構を処理します。  INavigationLocation は、 それが表すロケーションにエディターを復元しなければならないときに通知を受けます。 

エディターの残りの実装は、表示する内容によって異なります。  次に、最も一般的なタイプのエディターであるテキスト・エディターについて説明します。