ここでは、Eclipse の 3.2 リリースに対する Eclipse プラットフォーム、および SWT に対する、プラグイン開発者に関係のある変更内容について説明します。
ワークベンチ・ユーザー・ガイドの『新機能』セクションに記載されているプラットフォームのエンド・ユーザー向けの多数の新規フィーチャーもあります。
プラットフォームの変更点
|
|
ランタイム・リファクタリング |
Eclipse ランタイムの柔軟性を向上させ、ランタイム・コンポーネントを独立して使用できるように、org.eclipse.core.runtime プラグインは複数のプラグインに分割されています。
分割されたランタイム・プラグインのコントロールを容易にするために新規 API が追加されました。 ランタイム・リファクタリングは、他のプラグインに透過的である必要があります。詳しくは、 Eclipse 3.2 マイグレーション・ガイドを参照してください。 |
共通ナビゲーター |
新規プラグイン org.eclipse.ui.navigator は、複数のドメイン・モデルからのコンテンツを組み合わせるビューアーをビルドするためのフレームワークを導入します。フレームワークはコンテンツ、ラベル、アクション、フィルター、およびその他の機能の宣言コントリビューションを可能にします。org.eclipse.ui.navigator.resources プラグインは、「プロジェクト・エクスプローラー」ビューの形式でのこのフレームワークの具体的な使用および、IResource モデルの宣言ビューアー拡張を提供します。
|
タブ付きプロパティー・フレームワーク |
タブ付きプロパティー・フレームワークが追加されています。タブ付きプロパティー・フレームワークは交換プロパティー・シート・ページを提供します。このページは、任意のコントロールを使用してプロパティーを「プロパティー」ビューに表示し、拡張レジストリーを介してコントリビュートされるタブとセクションによって構成されます。
詳しくは、記事 Eclipse タブ付きプロパティー・ビューを参照してください。 |
ファイル・システム API |
新規プラグイン org.eclipse.core.filesystem は、ファイル・システムと相互作用する新規の汎用プラグインを導入します。java.io API ではなく、このファイル・システム API を使用するためにプラットフォームはマイグレーションされています。したがって、リソースは任意のバッキング・ファイル・システムに作成することができ、プラグインは新しい種類のファイル・システムをサポートします。 その他のファイル・システムにリンクされたリソースを作成するためのプロジェクト、およびリンクされたリソース・ウィザードに対するサポートが追加されました。代替ファイル・システムを定義するプラグインは、org.eclipse.ui.ide.filesystemSupport 拡張ポイントを使用して、このウィザード・サポートに接続することができます。 |
インポートとエクスポートに追加されたカテゴリー化 |
|
テキスト・エディターにおける注釈用のツールチップ |
注釈吹き出しは、JDT テキストからプラットフォーム・テキストにプッシュダウンされています。テキスト、垂直および概要ルーラー吹き出しサポートは、テキスト・エディターで使用される TextSourceViewerConfiguration によってインストールされます。
|
テキスト・エディターにおける注釈ナビゲーション |
注釈ナビゲーションは JDT テキストからプラットフォーム・テキストにプッシュダウンされており、すべてのテキスト・エディターで使用可能です。
|
JFace フィールド支援 |
JFace は、ダイアログとフォーム内のフィールドを完了する際にユーザーを支援するための新規サポートを提供します。org.eclipse.jface.fieldassist パッケージは、イメージおよび対応する吹き出しテキストを使用して任意のコントロールを装飾するためのクラスを提供します。これらはダイアログの必要なフィールドのマーキング、フィールド・ベースのエラー状態の表示、またはコンテンツ・アシスト・プロンプトの表示などの目的のために使用することができます。パッケージにより、コンテンツ・プロポーザル、詳細情報のための 2 次ポップアップ、および明示的にまたは自動 (先行入力) スタイルでプロポーザルを呼び出すためのオプションを示すポップアップ・ダイアログなど、コントロールにコンテンツ・プロポーザルをインストールすることもできます。
|
JFace TreeViewer の機能拡張 |
AbstractTreeViewer はツリーにおいて、それぞれ異なる親チェーンを持つ複数の同等な要素をサポートします。このサポートでは、クライアントは setUseHashLookup(true) を呼び出すことにより要素・マップを使用可能にする必要があります。 TreeViewer は現在、SWT.VIRTUAL ツリーをサポートします。必要な場合にのみコンテンツを返す遅延コンテンツ・プロバイダー ILazyTreeContentProvider もあります。 |
ダイナミック・ヘルプ目次のサポート |
ヘルプ・システムは、ヘルプ目次のダイナミック構成をサポートするようになりました。XHMTL で作成されたトピックは、os/ws/arch 値、プラグインの存在、使用可能な機能などに基づいてコンテンツの即時のフィルター処理のための追加の Eclipse 固有のマークアップを含むことができます。共用コンテンツは、複数の文書に組み込むことができます。最後に、プラグインはその他の文書のアンカーに接続する XHTML フラグメントをコントリビュートすることができます。このため、情報開発者は表示するときにコンテンツに調整される動的文書を提供することができます。 |
ヘルプ検索の機能拡張 |
ユーザー支援索引作成、および検索は、さまざまな方法で拡張されました。追加の検索参加プログラムは、Lucene 索引にコンテンツを追加できる拡張ポイントを通じて登録することができます。ヘルプは、XHMTL で作成されたダイナミック・ヘルプ文書の索引を作成できる XHMTL 検索参加プログラムをコントリビュートすることができるようになりました。さらに、索引に以前存在しなかった文書が表示されるようになります (例えば、虎の巻や「ようこそ」ページ)。 検索ヒットは異なるアイコンを持つことができ、「開く」アクションは検索エンジンに委譲させることができます。 |
問題はグループ化することができます。 |
「問題」ビューの問題をグループ化できるようになりました。重大度と問題のタイプによるデフォルト・グループがあり、追加グループは org.eclipse.ui.ide.markerSupport 拡張ポイントを通じて定義することができます。 |
ダイアログのヘルプの改善 |
Eclipse の多くのダイアログには左下隅に標準の「ヘルプ」ボタンがあります。このボタンは、F1 (Windows の場合) を押す場合と同じようにコンテキスト・ヘルプを呼び出します。さらに、ヘルプ目次は、別のウィンドウにではなく、ダイアログのトレイに表示されます。カスタム・ダイアログは、Dialog ではなく、新規 TrayDialog クラスをサブクラスに分けることにより、この機能を継承することができます。虎の巻は、ダイアログを開くアクションを含むステップに対するダイアログ (トレイ内) で使用することもできます。 |
ユーザー支援コンテンツへのコマンド・リンクの組み込み |
ヘルプ内のリンク、虎の巻、および概要コンテキストは、ユーザーによって起動されたときにコマンドを実行することができます。コマンド・リンクを使用して設定ページを開き、ウィザードを起動し、ビューを表示し、パースペクティブを開き、その他の目的に使用することができます。コマンド・フレームワークは、コマンド・リンクをさらに多く使用できるように拡張が可能です。「ワークベンチ・ユーザー・ガイド」は多くの場所でコマンド・リンクによって拡張されています。下図はヘルプ・トピックの 2 つのコマンド・リンクを示します。
|
虎の巻からのコマンドの起動のサポート |
コマンドは虎の巻から起動することができます。以下のコンテンツ・ファイルは、「検索」ビューとパッケージ・エクスプローラーを開くためのコマンドを含みます。
<?xml version="1.0" encoding="UTF-8"?> <cheatsheet title="Example of Commands in a Cheat Sheet"> <intro> <description>A cheat sheet shows the package explorer</description> </intro> <item title="Show Search View"> <description>This is a step with a command which shows the search view.</description> <command serialization= "org.eclipse.search.ui.views.SearchView"/> </item> <item title="Step 2"> <description>This is a step with a command and parameters, shows package explorer.</description> <command serialization="org.eclipse.ui.views.showView( org.eclipse.ui.views.showView.viewId= org.eclipse.jdt.ui.PackageExplorer)"/> <onCompletion> Command example completed. </onCompletion> </item> </cheatsheet> |
完了メッセージ |
ステップが完了したときに表示される虎の巻のステップに完了メッセージを追加することができます。
|
コンポジット虎の巻 |
コンポジット虎の巻は、Eclipse 3.2 の新機能です。コンポジット虎の巻は、大きな問題をそれぞれが独自の虎の巻を持つ小さなタスクに分けて詳しく説明します。タスクはグループに分けられます。コンポジット虎の巻は虎の巻ビューに表示され、虎の巻選択ダイアログを使用して起動されます。各タスクには説明があり、ハイパーリンクはユーザーに一連のタスクを通じて指示します。
コンポジット虎の巻には、タスクとそのステータスを表示するツリーがあります。右/下パネルには個別のタスクが含まれます。 コンポジット虎の巻のコンテンツは XML ファイルに定義されます。コンテンツ・ファイルはタスク間にどのような依存関係があるかを指定して、前提条件のタスク完了後にのみタスクを起動できるようにします。 |
ヘルプ・キーワード索引 |
ヘルプにはキーワード索引が追加され、ユーザーの文書からキーワードを登録し、適切なヘルプ文書に対するリンクを提供します。
索引は「ヘルプ」ビューと「ヘルプ」ウィンドウ (以下のビュー) の両方で使用可能です。
注: 索引のコンテンツは SDK では使用することはできません (コンテンツが使用可能な場合にのみ索引のコンテンツが表示されます)。 |
XHTML ヘルプ文書変換ツール |
PDE には、プラグインの HTML ヘルプ文書を XHTML に迅速に変換する新規ユーティリティーがあります。HTML を有効な XHTML に変換する以外に、ツールはファイル名拡張子、目次を更新し、必要なバインディングを追加して、動的コンテンツを使用可能にして XHTML コンテンツの検索を可能にします。この変換後、ユーザーは、動的コンテンツ・フィルター処理、コンテンツの再利用、およびすべてがコンテンツ書式として XHTML を必要とする動的コンテンツ・コントリビューションなどの新規 3.2 ヘルプ機能を活用することができます。
この機能は、プラグイン・プロジェクトのコンテキスト・メニューから「PDE ツール」>「ヘルプ・ファイルを XHTML に変換」を通じて呼び出すことができます。 |
汎用ウェルカム |
具体的なウェルカムの実装の経験に基づいて、どの製品にでも使用できる構成可能な汎用ウェルカムが提供されます。
製品は、概要、ファースト・ステップ、チュートリアル、サンプル、新機能、Web リソース、マイグレーションの 7 つ (Eclipse SDK では 4 つ) の定義済みのメイン・セクションから選択することができます。汎用ウェルカムには各コントリビューション用の構成可能なページ・レイアウトと重要度レベルがあり、テーマごとに対応しています。すべてのプラットフォームに適応できるように HTML 表示と SWT 表示の両方も提供します。
汎用ウェルカムによって提供されるウェルカム設定ページは、エンド・ユーザー向けにウェルカム・カスタマイズを表示し、それを提供するすべての製品に組み込むことができます。 汎用ウェルカム仕様にこの詳細を記載しています。 |
ウェルカムの構成とテーマのサポート |
概要フレームワークの構成サポートがさらに充実しました。概要コンフィギュラーは、コントリビュートされ、グループの子の 1 回限りの計算、変数置換サポート、および最新アンカー・パス解決を提供します。このサポートは汎用ウェルカムによって頻繁に使用されますが、その他のウェルカムの実装で使用することもできます。
テーマはウェルカムのコンテンツの外観を集合的に定義する CSS ファイル、プロパティー、およびイメージの名前付き集合を表します。汎用ウェルカムは、テーマ選択機能と 3.2 の 2 つの具体的なテーマ「サークル」および「パープル・メッシュ」を提供することによりこのサポートを最大限に活用します。 |
Ant 拡張ポイントの名前空間サポート |
org.eclipse.ant.core antTasks および antTypes 拡張ポイントにより、定義が存在する URI を指定することができます。すべての変更内容について詳しくは、バグ 133190 を参照してください。 |
論理モデル統合のためのチーム・サポート |
論理モデルがチーム操作に参加できるようにする API が追加されました。この API を使用して
チーム・プロバイダーは以下のことを実行することができます。
|
SWT の変更点
|
|
テーブルとツリー内のソート・インディケーター |
テーブルとツリーは、カラムのヘッダーのソート方向インディケーターをサポートしています。 カラム (シンプル) および sorting カラム (仮想テーブル) でのソートを示す SWT スニペット |
ツリー内の順序を変更可能なカラム |
Eclipse 3.1 では、テーブルのカラムを再配列する機能を追加しました。そのサポートはツリーにも追加されました。 ツリーのカラムの表示順序は、カラム・ヘッダーをドラッグして変更するか、プログラマチックに設定することができます。 例 snippet. |
XP テーマ・サポートの向上 |
Windows XP では、SWT はタブ・フォルダーにテクスチャー背景を表示します。グループ、ラベル、チェック・ボックスなどはすべてこの背景に透過的に表示されます。また、StyledText などのカスタム・ウィジェットは、主な Windows XP テーマの正しい境界線を表示するようになりました。 Windows XP スキンでの実行方法について詳しくは、SWT FAQ を参照してください。 |
GIF アニメーション |
アニメーション化された GIF イメージはファイルに保管することができます。 例については、SWT スニペットを参照してください。 |
デスクトップ外観通知 |
テーマ、フォント、またはデフォルト・カラーなどの外観設定をデスクトップ用に変更する場合、 |
通知の破棄 |
従来は、 |
カラムのツールチップ |
ツールチップ・テキストは、
|
垂直クールバー |
垂直クールバーは |
OpenGL のサポート |
SWT アプリケーションで OpenGL を使用することができます。 OpenGL インターフェースは、LWJGL などのサード・パーティーの OpenGL ライブラリーと共に動作します。 例については、SWT スニペットを参照してください。 |
仮想ツリー |
ツリーは SWT.VIRTUAL スタイルをサポートするようになりました。このサポートにより、大量のデータを使用してツリーを迅速に作成することができます。TreeItems が必要な場合は、オンデマンドで作成することができます。 例については、SWT スニペットを参照してください。 |
イメージとテキストを表示するボタン |
ボタンは、テキストだけでなくイメージを表示することもできます。この機能は、 Windows XP、Mac OS X、および GTK でサポートされます。 |
Mac OS X の HIView |
SWT は、Mac OS X で HIView を使用するようになりました。これにより、多数のクリッピングとサイジングの問題が解決されます。 |
テキストへのオブジェクトの組み込み |
TextLayout を使用して、イメージまたはウィジェットなどのオブジェクトをテキストに組み込むことができるようになりました。 アセント、ディセント、幅などのグリフ・メトリックを指定することができます。オブジェクトはテキストを折り返します。 例については、SWT スニペットを参照してください。 |
テキストのインデント、位置合わせ、および行末そろえ |
TextLayout はテキストのインデント、行末そろえ、および位置合わせをサポートします。 例については、SWT スニペットを参照してください。 |
テキスト・ベースライン上げ |
TextLayout および TextStyle を使用して、テキストの範囲に対してベースライン上げを指定することができます。 例については、SWT スニペット を参照してください。 |
HSB カラー・サポート |
色は、色調、彩度、および輝度を指定して作成することができます。さらに、任意の色に対して、色調、彩度、および輝度を照会することができます。 例については、 SWT スニペットを参照してください。 |
StyledText の位置合わせ、インデント、位置調整 |
StyledText はテキストのインデント、位置調整、および位置合わせをサポートしています。 例については、 SWT スニペットを参照してください。 |
StyledText の組み込まれたオブジェクト |
StyledText は、イメージやウィジェットなどのオブジェクトをテキストに組み込むことができます。オブジェクトはテキストを折り返します。 例については、 SWT スニペットを参照してください。 |
背景イメージ |
背景イメージはコントロールに設定することができます。さらに、背景は、ラベルなどの子ウィジェットが継承することができます。 例については、 SWT スニペットを参照してください。 |
ネイティブ・イメージのロード |
コンストラクター |
テキストのドラッグ |
例については、 SWT スニペットを参照してください。 |
新規 ExpandBar ウィジェット |
ExpandBar ウィジェットでは、ヘッダーをクリックすることによりユーザーがウィジェットの集合を表示または非表示にすることができます。ExpandBar には、それぞれがヘッダーにイメージとタイトルがある可能性のある複数の項目が含まれます。 例については、この SWT スニペットを参照してください。 |
StyledText の黒丸 |
StyledText は、黒丸、番号付き、英大文字または英小文字などのさまざまなスタイル、およびカスタム定義されたスタイルでフォーマットされたリストを表示します。 例については、この SWT スニペットを参照してください。 |
カスタム描画ツリー |
ツリー・ウィジェットは個別のセルに対するカスタム描画をサポートします。アプリケーションは、データのカスタム・レンダリングによりツリーの本来のルック・アンド・フィールを改善することができます。アプリケーションは行の高さをコントロールして、複数の行のテキストを描画することができます。さらに、同じセルに複数のイメージを表示し、フォントまたは色を複数回変更して、選択を描画する方法を変更することができます。 例については、以下のスニペットを参照してください。 |
カスタム描画テーブル |
テーブル・ウィジェットは個別のセルに対するカスタム描画をサポートします。テーブルの本来のルック・アンド・フィールを維持しながら、ユーザーは、イメージ付きテキスト以外の書式でデータを表示し、1 つのセルの複数行のテキストを表示し、同じセル内でフォントと色を複数回変更し、固有の選択描画を上書きするなどの目的でセルを描画する方法をカスタマイズすることができます。 例については、以下のスニペットを参照してください。 |
テーブルとツリーに対するドラッグ・オーバー効果 |
テーブル・ウィジェットおよびツリー・ウィジェットはドラッグ対象のビジュアル・フィードバックを提供します。 |
新規ツールチップ・クラス |
新規のツールチップ・クラスを使用して、コントロールに直接関連付けられていないツールチップを表示することができます。これらのツールチップはどこにでも配置することができ、プラットフォームのデフォルトの外観または以下に示すバルーン表示にすることができます。 |