BEITELにおいては、JavaScript以外のスクリプトからAPI操作をする場合があるため、JavaScriptにおけるFunctionオブジェクトに加えて、以下のオブジェクトもFunctionタイプとして取り扱うようになっています。

jp.carabiner.treeeditor.js.Listenerインタフェース

機能

ハンドラとして設定可能な処理を表現するインタフェースです。

メソッド

void call(Object event) throws Exception

機能
ハンドラの呼び出し時に実行されます。
引数
  • イベント
    イベントです。
戻り値
なし
サンプル
window.onclick = new Packages.jp.carabiner.treeeditor.js.Listener(
             { call: function(ev) { Packages.java.lang.System.out.println("click!") } });

java.lang.Runnable, java.util.concurrent.Callableインタフェース

GroovyのClosureなどで実装している場合があります。
// Groovyの例
window.onclick = {println "Clicked"};

Java jp.carabiner.treeeditor.js.JSWindow$MenuContainer

機能

メニューを表現します。

プロパティ

プロパティ名 機能
file
ファイルメニューです。読み込みのみ可能です。
MenuContainerタイプのオブジェクトです。
edit
編集メニューです。読み込みのみ可能です。
MenuContainerタイプのオブジェクトです。
help
ヘルプメニューです。読み込みのみ可能です。
MenuContainerタイプのオブジェクトです。
childNodes
子ノードのリストです。読み込みのみ可能です。
NodeListタイプのオブジェクトです。

関数プロパティ

createMenuItem(String,Function)

機能
新規にメニューアイテムを作成します。
引数
  • メニュー項目名
    メニュー項目として表示する名前を指定します。
  • ハンドラ
    メニュー選択時に実行する処理を指定します。
    このハンドラにはMenuEventタイプのオブジェクトが引数として渡されます。
戻り値
メニューアイテムが返されます。
MenuItemタイプのオブジェクトです。
サンプル
var comp = window.menu.createMenuItem("メニュー1",
                                           function(ev){alert("メニュー1");});
window.menu.file.appendChild(comp);

createMenuContainer(String)

機能
新規にメニューコンテナを作成します。
引数
  • メニュー項目名
    メニュー項目として表示する名前を指定します。
戻り値
メニューコンテナが返されます。
MenuContainerタイプのオブジェクトです。
サンプル
var container = window.menu.createMenuContainer("メニュー2");
window.menu.file.appendChild(container);
var comp = window.menu.createMenuItem("メニュー2アイテム",
                                 function(ev){alert("メニュー2");});
container.appendChild(comp);

createSeparator()

機能
新規に区切り線を作成します。
引数
戻り値
区切り線が返されます。
Componentタイプのオブジェクトです。
サンプル
var comp = window.menu.createSeparator();
window.menu.file.appendChild(comp);

appendChild(node)

機能
メニューバーにアイテムを追加します。
引数
  • 新規アイテム
    メニューバーに追加するアイテムを指定します。
    MenuContainerタイプのオブジェクトを指定することができます。
戻り値
追加されたアイテムが返されます。

insertBefore(newNode, refNode)

機能
メニューバーの指定位置にアイテムを追加します。
引数
  • 新規アイテム
    メニューバーに追加するアイテムを指定します。
    MenuContainerタイプのオブジェクトを指定することができます。
  • 追加先アイテム
    メニュー項目の追加先を指定します。
戻り値
追加されたアイテムが返されます。

removeChild(node)

機能
メニューバーから指定されたアイテムを削除します。
引数
  • 削除するアイテム
    メニューバーから削除するアイテムを指定します。
戻り値
削除されたアイテムが返されます。

Java jp.carabiner.treeeditor.js.swing.JSSwingMenuItem

機能

メニューアイテムを表現します。

プロパティ

プロパティ名 機能
icon
アイコンとなるファイルを指定します。設定のみで取得はできません。
ファイルはjarファイル内に格納され、クラスパス(beitel.exeのあるディレクトリのlibもしくはext以下)内に存在する必要があります。
key
ショートカットキーのキーコードを取得します。読み込みのみ。
java.awt.event.KeyEvent.VK_*で示されるキーコードが格納されます。ショートカットキーが指定されていない場合は0です。
modifier
ショートカットキーのAlt,Ctrlなどの修飾子を取得します。読み込みのみ。
java.awt.event.InputEvent.SHIFT_DOWN_MASKなどの修飾子の論理和が格納されます。ショートカットキーが指定されていない場合は0です。
text
メニューのテキストを設定・取得します。
tooltips
メニューのツールチップを設定・取得します。
parentNode
親ノードへの参照です。読み込みのみ可能です。
Menu, MenuContainerタイプのうちいずれかのオブジェクトです。

関数プロパティ

setKeyStroke(Number,Number)

機能
ショートカットキーを指定します。
引数
  • キーコード
    ショートカットのキーコードを指定します。
    keyプロパティに対応します。
  • 修飾子
    ショートカットの修飾子を指定します。
    modifierプロパティに対応します。
戻り値
なし
サンプル
var comp = window.menu.createMenuItem("メニュー3", function(ev){alert("メニュー3");});
comp.setKeyStroke(java.awt.event.KeyEvent.VK_H, java.awt.Event.SHIFT_MASK|java.awt.Event.CTRL_MASK);
window.menu.file.appendChild(comp);

Java jp.carabiner.treeeditor.js.swing.JSSwingMenu

機能

メニューコンテナ(子メニューを持つことができるメニュー)を表現します。

プロパティ

プロパティ名 機能
icon
アイコンとなるファイルを指定します。設定のみで取得はできません。
ファイルはjarファイル内に格納され、クラスパス(beitel.exeのあるディレクトリのlibもしくはext以下)内に存在する必要があります。
key
ショートカットキーのキーコードを取得します。読み込みのみ。
java.awt.event.KeyEvent.VK_*で示されるキーコードが格納されます。ショートカットキーが指定されていない場合は0です。
modifier
ショートカットキーのAlt,Ctrlなどの修飾子を取得します。読み込みのみ。
メニューコンテナの場合この値は常に0です。
text
メニューのテキストを設定・取得します。
tooltips
メニューのツールチップを設定・取得します。
childNodes
子ノードのリストです。読み込みのみ可能です。
NodeListタイプのオブジェクトです。
parentNode
親ノードへの参照です。読み込みのみ可能です。
Menu, MenuContainerタイプのうちいずれかのオブジェクトです。

関数プロパティ

appendChild(node)

機能
メニューコンテナにアイテムを追加します。
引数
  • 新規アイテム
    メニューコンテナに追加するアイテムを指定します。
    MenuContainerタイプもしくはMenuItemタイプのオブジェクトを指定することができます。
戻り値
追加されたアイテムが返されます。

insertBefore(newNode, refNode)

機能
メニューコンテナの指定位置にアイテムを追加します。
引数
  • 新規アイテム
    メニューコンテナに追加するアイテムを指定します。
    MenuContainerタイプもしくはMenuItemタイプのオブジェクトを指定することができます。
  • 追加先アイテム
    メニュー項目の追加先を指定します。
戻り値
追加されたアイテムが返されます。

removeChild(node)

機能
メニューコンテナから指定されたアイテムを削除します。
引数
  • 削除するアイテム
    メニューコンテナから削除するアイテムを指定します。
戻り値
削除されたアイテムが返されます。

setKeyStroke(Number,Number)

機能
ショートカットキー(Alt+キーコード)を指定します。
引数
  • キーコード
    ショートカットのキーコードを指定します。
    keyプロパティに対応します。
  • 修飾子
    ショートカットの修飾子を指定します。
    MenuItemタイプとインタフェースを共通にするために用意してある引数です。この値には常に0を指定する必要があります。
戻り値
なし
サンプル
var container = window.menu.createMenuContainer("メニュー4(T)");
container.setKeyStroke(java.awt.event.KeyEvent.VK_T, 0);
window.menu.file.appendChild(container);
var comp = window.menu.createMenuItem("メニュー4アイテム", function(ev){alert("メニュー4");});
container.appendChild(comp);