アクションセットを作成する方法です。
アクションセットとは、メニューやツールバーに登録するアクション一覧のことです。
plugin.xmlにエクステンションとして登録します。
<extension point="org.eclipse.ui.actionSets">
<actionSet ...>
<menu ... />
<action ... />
</actionSet>
</extension>
参考ページ : menu
アクションセットを定義します。
<actionSet
label="Sample Action Set"
visible="true"
id="org.limy.eclipse.core.actionSet">
アクションセットに付けるID
アクションセットの表示名
アクションセットのデフォルト可視性を true / false で指定します。
デフォルトは false です。
アクションセットの説明文
アクションを定義します。
<action
label="&Sample Action"
class="org.limy.eclipse.TestAction"
tooltip="Hello, Eclipse world"
icon="icons/sample.gif"
toolbarPath="additions"
id="org.limy.eclipse.core.actions.SampleAction"/>
アクションに付けるID
アクションの表示名
アクションに結びつけるコマンドID
参考ページ : コマンドの作成
アクションを表示する場所のメニューID
アクションを表示する場所のツールバーID
アクションを表示するアイコン
アクションが無効のときに表示するアイコン
アクションの上にカーソルが乗っているときに表示するアイコン
アクションのツールチップ文字列を定義します。
アクションのヘルプコンテキストID
アクションスタイルを定義します。
デフォルトスタイルです。
ラジオボタンスタイルにします。
トグルボタンスタイルにします。
プルダウンスタイルにします。
ラジオボタンまたはトグルボタンのデフォルト値を true / false で指定します。
デフォルトはfalseです。
アクションクラス名を指定します。
クラスは org.eclipse.ui.IWorkbenchWindowActionDelegate
または org.eclipse.ui.IWorkbenchWindowActionDelegate を実装している必要があります。
retarget が true のとき、この属性は無視されます。
動的にアクションクラスを変更するときに true にします。
このとき、class 属性は無視されます。
retargetを使う を参考して下さい。
retarget が true の場合のみ有効です。
アクションの表示文字列やツールチップ文字列を動的に変更したい場合には true を指定します。
選択しているオブジェクト数によって、アクションの有効/無効を制御します。
オブジェクトが全く選択されていないときにアクションを有効にします。
オブジェクトが0または1つだけ選択されているときにアクションを有効にします。
オブジェクトが1つ以上選択されているときにアクションを有効にします。
オブジェクトが2つ以上選択されているときにアクションを有効にします。
オブジェクトが n 個選択されているときに限ってアクションを有効にします。
あらゆる状態でアクションを有効にします(デフォルト)。
詳細は不明です。
現在アクティブなエディタやビューによって、アクションの有効/無効を切り替えたりすることが出来ます。
retarget 属性を true で定義します。
エディタの場合、contributorクラスというものを利用します。
エディタ定義の contributorClass 属性を指定します。
contributorクラスは、例えば以下のように作成します。
public class LrdEditorContributor extends EditorActionBarContributor {
private OpenExternalBrowserAction openExternalBrowserAction;
public LrdEditorContributor() {
super();
openExternalBrowserAction = new OpenExternalBrowserAction();
}
public void init(IActionBars bars, IWorkbenchPage page) {
super.init(bars, page);
// この項は、allowLabelUpdate属性がtrueのときに有効
openExternalBrowserAction.setText("text");
openExternalBrowserAction.setToolTipText(
"tooltop : " + getPage().getActiveEditor().getTitle());
bars.setGlobalActionHandler(
"org.limy.eclipse.lrd.BrowseAction",
openExternalBrowserAction);
}
}
コンストラクタでアクションを生成し、
initメソッドでアクション(ツール)バーにアクションを追加します。
これによってアクションが有効になります。
allowLabelUpdate を true で定義すると、
アクションの表示文字列やツールチップ文字列を動的に変更することが出来ます。
上の例では、ツールチップ文字列にエディタのタイトル(つまりファイル名)を埋め込んでいます。
|
|