Action の親玉を調べる

そういえば、もう 1 つの SampleAction クラスがインタフェースを実装していることを忘れていました。IWorkbenchWindowActionDelegate とういインタフェースを実装しているようです。

IWorkbenchWindowActionDelegate という名前なのですから Workbench に関係しているんでしょう。ところで、Workbench ってなに?

困ったときは Help を見る。ところで、3.0.1 だとこの Help も日本語化されているのかなぁ。後で 3.0.1 をインストールしてみよう ;-) というのも、今は出先で Network Unreachable なのでした。

まぁ、それはそれとして、Help の一番上に Workbech User Guide というのがあります。開いてみると、Getting Started があって、Basic tutorial - The Workbench というのがありました。

おぉ、と思って見てみると

When the Workbench is launched the first thing you see is a dialog that allows you to select where the workspace should be located.

いきなり Workbench を立ち上げたらはないよなぁ。てっきり、Workbench の説明かと思いましたが、どうやら違うようです。でも、IDE の UI を Workbench といっているような気がします。

また、また、探していくと Platform Plug-in Developer Guide に Programmer's Guide - Plugging into the workbench - Worckbench under the covers という項目がありました。

やっぱり IDE の UI を Workbench というみたいですね。

ひとまず解決ということで、SampleAction に戻ります。

IWorkbenchWindowActionDelegate インタフェースのことを調べていたのでした。

このインタフェースで定義されているのは dispose メソッドと init メソッドです。あれ、run メソッドがないんだ。ということで、IWorkbenchWindowActionDelegate インタフェースの親インタフェースの IActionDelegate インタフェースを見てみます。

run メソッドはこちらにありました。でも、よくわからないのは dispose メソッドとか init メソッドは初期化や終了時の処理ですよね。なんで IActionDelegate インタフェースで定義しないんでしょう?

そう思って、Javadoc 見たら IActionDelegate2 というインタフェースがあって、そちらには dispose メソッドと init メソッドが定義されているんですね。何か、不思議な感じ。

まぁ、いいや。

IActionDelegate インタフェースの派生インタフェースはいろいろあるようです。これも用途に応じて選ぶのでしょう。

でも、SamplePlugin クラスは親がクラスなのに、SamplePlugin は親がインタフェース。この違いは何なんでしょうね。