第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

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

企画広告も役立つ情報バッチリ! Sponsored