org.eclipse.ui.perspectives

ワークベンチを使用してプラグイン機能の外観を制御するいくつかの方法については、すでに説明しました。 ビューは、「ウィンドウ」->「ビューの表示」メニューを使用して、表示/非表示の切り替えが可能です。 アクション・セットは、「ウィンドウ」->「パースペクティブのカスタマイズ...」メニューを使用して、表示/非表示の切り替えが可能です。 これらのフィーチャーは、ユーザーがワークベンチを編成するときに役立ちます。

パースペクティブ

パースペクティブは、ワークベンチ・ウィンドウ内で追加の編成レイヤーを提供します。 ユーザーは、パースペクティブが複数のタスク間に渡る場合に、パースペクティブを切り替えることができます。 パースペクティブは、ビューのコレクション、ビューのレイアウト、およびユーザーが最初にパースペクティブを開いたときに使用する必要のある、 可視のアクション・セットを定義します。

プラットフォーム自体は、リソース・パースペクティブというパースペクティブを 1 つ定義します。 ヘルプ・システムおよび Java ツールなどのその他のプラットフォーム・プラグインは、追加のパースペクティブを定義します。 org.eclipse.ui.perspectives 拡張ポイントを使用することにより、プラグインは独自のパースペクティブを定義することができます。

plugin.xml 内のパースペクティブの仕様は明確です。 以下のマークアップは、ワークベンチが独自のリソース・パースペクティブを定義するときに使用されます。

<extension
         point="org.eclipse.ui.perspectives">
      <perspective
            name="%Perspective.resourcePerspective"
            icon="icons/full/cview16/resource_persp.gif"
            class="org.eclipse.ui.internal.ResourcePerspective"
            id="org.eclipse.ui.resourcePerspective">
      </perspective>
   </extension>

プラグインは、パースペクティブをインプリメントするクラスの名前と共に、 パースペクティブの ID および名前を提供する必要があります。アイコンも指定することができます。 パースペクティブ・クラスは、IPerspectiveFactory をインプリメントします。

マークアップから、実際の作業がコード内で発生していることがわかります。 パースペクティブ・ファクトリーのインターフェースは明確です。 IPerspectiveFactory を インプリメントする場合は、パースペクティブおよびそのパースペクティブ・ページのレイアウトを記述する情報と共に、 IPageLayout を構成することが前提になります。

ワークベンチ・パーツ・レイアウト

IPageLayout のメイン・ジョブの 1 つは、 ワークベンチ・ウィンドウ内のエディターおよびビューの配置を記述することです。 これらのレイアウトは、 SWT 内の Layout クラスとは違うことに注意してください。 IPageLayout および Layout は、 類似した問題 (より大きい領域内でのウィジェットのサイズ変更および位置決め) を解決しますが、 パースペクティブ・ページ・レイアウトを提供するために SWT レイアウトを理解する必要はありません。

パースペクティブ・ページのレイアウトは、エディターを表示するための一領域を使用して初期化されます。 パースペクティブ・ファクトリーは、エディターに関連した他のビューを追加する役割を担います。 ビューは、他の部分に対応 (上、下、左、右) してレイアウトに追加されます。 また、プレースホルダー (空スペース) も最初に表示されない項目に追加することができます。

関連するビューを編成し、扱いやすくするため、IFolderLayout を使用して タブ付きフォルダーにビューをグループ化することができます。 たとえば、リソース・パースペクティブは、 ワークベンチの左上角のフォルダー内にリソース・ナビゲーターを配置します。  プレースホルダーは、フォルダー・レイアウトと共に共通で使用されます。 リソース・パースペクティブは、 リソース・ナビゲーターと同じフォルダー内のブックマーク・ビューにプレースホルダーを定義します。 ユーザーがブックマーク・ビューを表示すると、 それは、ナビゲーターと共に同じフォルダー内に表示され、ビューごとにタブが 1 つ付いています。

また、IPageLayout を使用して、 使用可能なアクションおよびショートカットをパースペクティブ内に定義することができます。   

Copyright IBM Corp. and others 2000,2002.