API version 1

- ‐

popupMenu

ポップアップメニューを表示します。

呼出形式一覧

呼出形式

説明

integer popupMenu(string menu_1[, string menu_2[, ... menu_N]])

階層化されたStringオブジェクトでメニューを指定します。

メニューの選択肢に自動的に割り当てられたID番号が返ります。

IDは、メニューの先頭要素が1となります。階層化されたメニューは、「上位の要素の値 × 100 + n」がサブメニューのID番号となります。

integer popupMenu(CRS::Common::Core::XmlDocument xmlData)

メニュー定義XMLデータでメニューを指定します。

integer popupMenu(CRS::Common::Core::JsonDocument jsonData)

メニュー定義JSONデータでメニューを指定します。

戻り値一覧

戻り値

説明

integer

メニュー項目に割り当てられたID値

メニューが選択されなかった場合は、0が返ります。

引数一覧

引数

説明

menu_1

メニューの選択肢を文字列で指定します。

  • "-"を指定すると、セパレータが表示されます。

  • 先頭の1文字に"*"を付加するとチェックマークが表示されます。

  • 先頭の1文字に"~"を付加すると無効表示となり、選択できなくなります。

  • 下位に子オブジェクトを持つオブジェクトを指定すると、階層化されたサブメニューが表示されます。

  • 配列を指定すると、配列要素がメニュー項目として展開されます。

menu_2

メニューの2番目の項目

menu_N

メニューのN番目の項目

xmlData

メニュー定義XMLデータ

jsonData

メニュー定義JSONデータ

例外

なし

メニュー定義XMLの書式

メニュー要素

要素名

説明

親要素

属性

menuitem

メニュー要素です。メニューの各項目、サブメニューの親項目になります。

ルート、menuitem

id、title、checked、grayed

separator

セパレータ要素です。メニューに区切り線を挿入します。

ルート、menuitem

なし

メニュー属性

属性名

説明

指定できる値

id

メニューIDです。選択されたメニューのIDがメソッドの戻り値になります。

整数値

title

メニューに表示されるタイトルです。

文字列

checked

チェックマークの有無です。"true"を設定するとメニューの左側にチェックマークが表示されます。

"true"

grayed

メニューの有効/無効を指定します。"true"を設定するとメニューが無効状態になります。

"true"

使用例

例1)文字列での指定
var m1 = new String("menu1");  /* id=1 */
var m2 = new String("menu2");  /* id=2 */
var m3 = new String("-");
var m4 = new String("menu3");  /* id=4 */

var s1 = new String("*sub-menu1");  /* id=201 */
var s2 = new String("sub-menu2");   /* id=202 */
var s3 = new String("~sub-menu3");  /* id=203 */
m2.append(s1);
m2.append(s2);
m2.append(s3);

var id = popupMenu(m1, m2, m3, m4);


例2)XMLでの指定
var x = new XmlDocument();
x << xml <<-
<?xml version="1.0" encoding="UTF-8"?>
<menudefine>
    <menuitem id="1" title="menu1" />
    <menuitem id="2" title="menu2" checked="true" />
    <separator />
    <menuitem id="3" title="menu3">
        <menuitem id="11" title="menu11" />
        <menuitem id="12" title="menu12" grayed="true" />
        <separator />
        <menuitem id="13" title="menu13" checked="true">
            <menuitem id="21" title="menu21" />
            <menuitem id="22" title="menu22" />
        </menuitem>
    </menuitem>
</menudefine>
->>;
var id = popupMenu(x);

例3)JSONでの指定
var j = new JsonDocument;
j << json <<-
{
    "menudefine": {
        "menuitem": [
            {
                "@id": "1",
                "@title": "menu1"
            },
            {
                "@checked": "true",
                "@id": "2",
                "@title": "menu2"
            },
            {
                "@id": "3",
                "@title": "menu3",
                "menuitem": [
                    {
                        "@id": "11",
                        "@title": "menu11"
                    },
                    {
                        "@grayed": "true",
                        "@id": "12",
                        "@title": "menu12"
                    },
                    {
                        "@checked": "true",
                        "@id": "13",
                        "@title": "menu13",
                        "menuitem": [
                            {
                                "@id": "21",
                                "@title": "menu21"
                            },
                            {
                                "@id": "22",
                                "@title": "menu22"
                            }
                        ]
                    }
                ],
                "separator": ""
            }
        ],
        "separator": ""
    }
}
->>;

関連項目

XmlDocumentJsonDocument クラス

Object.append メソッド