第7回:エディタの拡張 (4/4)

Eclipse実践プラグイン開発
Eclipse実践プラグイン開発

第7回:エディタの拡張
著者:ビーブレイクシステムズ  大森 洋行   2005/8/15
前のページ  1  2  3  4
クラスを作成し、エディタ・アクションを追加

   「概要」ページの「すべての拡張」から「examples.hello2.editorContribution」 - 「サンプル・エディター・アクション」を選択し、「拡張エレメント詳細」の「class」リンクをクリックして、examples.hello2.actions.SampleEditorMenuActionクラスを作成します。

   SampleEditorMenuActionクラスのrunメソッドに以下のようにコードを記述します。

public void run(IAction action) {
    Shell shell = Display.getCurrent().getActiveShell();
    MessageDialog.openInformation(
        shell,
        "Hello2 プラグイン",
        "Hello, Eclipse world");
}
   以上でエディタ・アクションを追加することができました。ワークベンチ・ランタイムを起動し、本連載の第5回で作成したhello.txtファイルを「サンプル・エディター」で開くと、図7のように表示されます。

   これまでにエディタ・アクションを追加する手順について説明しました。次に拡張ポイントとエディタ・アクション・クラスについて説明します。


拡張ポイント

   拡張する拡張ポイントは、"org.eclipse.ui.editorActions"で、extension要素の構造を図8にまとめました。

"org.eclipse.ui.editorActions"のextension要素の構造
図8:"org.eclipse.ui.editorActions"のextension要素の構造
(画像をクリックすると別ウィンドウに拡大図を表示します)


エディタ・アクション・クラス

   エディタ・アクション・クラスでインプリメントする必要があるインターフェースは、org.eclipse.ui.IEditorActionDelegateインターフェースです。

   また図9のようにIEditorActionDelegateインターフェースをインプリメントしたクラスは、ある程度の機能を実装して提供されており、これらのクラスを継承して実装することもできます。

IEditorActionDelegateインターフェースとインプリメントしているクラス
図9:IEditorActionDelegateインターフェースとインプリメントしているクラス
(画像をクリックすると別ウィンドウに拡大図を表示します)

   IEditorActionDelegateインターフェースをインプリメントしたエディタ・アクション・クラスでは、表2のメソッドを実装する必要があります。

メソッド 内容
setActivePart エディタが選択されたときに呼ばれます
run ユーザがメニュー・アイテムかツールバー・ボタンをクリックしたときに呼ばれ、実際に実行する機能を実装
selectionChanged 選択を変更したときに呼ばれ、機能の変更処理やパラメータの変更処理などを実装

表2 実装するメソッド


まとめ

   今回はエディタとエディタ・アクションの追加方法について説明しました。

   ポイントは、以下のとおりです。

  • エディタを拡張する拡張ポイントは、"org.eclipse.ui.editors"

  • エディタに連動するアクションを拡張する拡張ポイントは、"org.eclipse.ui.editorActions"

  • エディタ・クラスがインプリメントするインターフェースは、org.eclipse.ui.IEditorPart

  • エディタ・コントリビュータ・クラスがインプリメントするインターフェースは、IEditorActionBarContributor

  • エディタ・アクション・クラスがインプリメントするインターフェースは、IEditorActionDelegate
   エディタの例としてラベルを表示しましたが、エディタ・クラスのcreatePartControlメソッドにSWTやJFaceのGUIコンポーネントを配置することによって様々なエディタを作成することができます。

   次回は、パースペクティブの拡張について説明します。

前のページ  1  2  3  4


ビーブレイクシステムズ社 大森 洋行
著者プロフィール
ビーブレイクシステムズ社  大森 洋行
中堅システム開発会社にて、データベース検索ソフトの開発・導入コンサルティング・セミナー講師に従事。その現場の中で、Java及びオープンソースを用いたシステム開発は今後のシステム開発の主流になると考え、それらを独学で学ぶ。本格的にそれらを用いた開発に携わるため、ビーブレイクシステムズに入社。現在、データ項目やその流れの分析に重点をおきながら、Javaやオープンソースを用いたシステム開発に携わる。


INDEX
第7回:エディタの拡張
  はじめに
  拡張ポイント
  エディタ・アクションの追加
クラスを作成し、エディタ・アクションを追加
Eclipse実践プラグイン開発
第1回 Eclipseとプラグイン
第2回 プラグインの配布とインストール
第3回 基本的なGUIコンポーネントの利用
第4回 JFaceのGUIコンポーネント
第5回 メニューとポップアップ・メニューの拡張
第6回 ビューの拡張
第7回 エディタの拡張
第8回 パースペクティブの拡張
第9回 プロパティと設定の拡張
Eclipseが提供するBIとレポーティングツール
第1回 インストールからはじめるEclipse BIRT
第2回 データベースのデータをレポートに出力しよう
第3回 レポートを作成しよう
第4回 スクリプティング機能・Tomcatでのプレビュー・レポートエンジンを使用したレポート出力
Eclipse3ではじめるJava Webアプリケーション開発
第1回 Eclipse3の概要とインストール
第2回 Eclipse3の基本機能
第3回 Eclipse3の基本操作を憶えよう
第4回 Eclipseの便利な機能
第5回 Webアプリケーションの開発(1)〜JSP作成〜
第6回 Webアプリケーションの開発(2)〜サーブレットの作成〜
第7回 データベースの利用
第8回 フレームワークの利用
第9回 O/Rマッパーの利用
第10回 JUnitの利用
第11回 Antの利用
第12回 CVSの利用(1)
第13回 CVSの利用(2)
Eclipse WTPによる標準開発ツールの提供
第1回 Eclipse WTPの概要とインストール
第2回 Eclipse WTPでHello World
第3回 Eclipse WTPのDB系ツールを使う
第4回 Eclipse WTPのエディタとその他のツール

人気記事トップ10

人気記事ランキングをもっと見る