EN JA
menu(3X)
menu(3X) menu(3X)

名称

menu - メニューをプログラムするための curses 拡張

書式

#include <menu.h>
 

解説

menu ライブラリは、文字セル端末のメニューシステムを構成するための端末独立の機能を提供します。ライブラリは次のものを含んでいます。メニュー項目を作成し修正する項目ルーチン、メニューへ項目グループ化するメニュールーチン、スクリーンのメニューの表示、ユーザのハンドル相互作用です。

menu ライブラリは、 curses ライブラリを使用し、 initscr のような curses 初期化ルーチンはこれらの関数を使用する前に呼ばれなければなりません。 menu ライブラリを使用するためには、オプション -lmenu -lcurses でリンクしてください。

項目属性のための現在デフォルト値

menu ライブラリは、項目属性のためのデフォルト値を維持します。 NULL 項目ポインタで適切な get_set_ ルーチンを呼ぶことによりこのデフォルトを得るか設定できます。このデフォルトを交換するためには、 set_ 関数は将来のアイテム生成に影響するが、既に作成された項目の解釈は変更しません。

ルーチン名インデックス

次のテーブルは各 menu ルーチンと記述されるマニュアルページの名前をリストしています。
curses ルーチン名 マニュアルページ名
current_item mitem_current(3X)
free_item mitem_new(3X)
free_menu menu_new(3X)
item_count menu_items(3X)
item_description mitem_name(3X)
item_index mitem_current(3X)
item_init menu_hook(3X)
item_name mitem_name(3X)
item_opts mitem_opts(3X)
item_opts_off mitem_opts(3X)
item_opts_on mitem_opts(3X)
item_term menu_hook(3X)
item_userptr mitem_userptr(3X)
item_value mitem_value(3X)
item_visible mitem_visible(3X)
menu_back menu_attributes(3X)
menu_driver menu_driver(3X)
menu_fore menu_attributes(3X)
menu_format menu_format(3X)
menu_grey menu_attributes(3X)
menu_init menu_hook(3X)
menu_items menu_items(3X)
menu_mark menu_mark(3X)
menu_opts menu_opts(3X)
menu_opts_off menu_opts(3X)
menu_opts_on menu_opts(3X)
menu_pad menu_attributes(3X)
menu_pattern menu_pattern(3X)
menu_request_by_name menu_requestname(3X)
menu_request_name menu_requestname(3X)
menu_spacing menu_spacing(3X)
menu_sub menu_win(3X)
menu_term menu_hook(3X)
menu_userptr menu_userptr(3X)
menu_win menu_win(3X)
new_item mitem_new(3X)
new_menu menu_new(3X)
pos_menu_cursor menu_cursor(3X)
post_menu menu_post(3X)
scale_menu menu_win(3X)
set_current_item mitem_current(3X)
set_item_init menu_hook(3X)
set_item_opts mitem_opts(3X)
set_item_term menu_hook(3X)
set_item_userptr mitem_userptr(3X)
set_item_value mitem_value(3X)
set_menu_back menu_attributes(3X)
set_menu_fore menu_attributes(3X)
set_menu_format menu_format(3X)
set_menu_grey menu_attributes(3X)
set_menu_init menu_hook(3X)
set_menu_items menu_items(3X)
set_menu_mark menu_mark(3X)
set_menu_opts mitem_opts(3X)
set_menu_pad menu_attributes(3X)
set_menu_pattern menu_pattern(3X)
set_menu_spacing menu_spacing(3X)
set_menu_sub menu_win(3X)
set_menu_term menu_hook(3X)
set_menu_userptr menu_userptr(3X)
set_menu_win menu_win(3X)
set_top_row mitem_current(3X)
top_row mitem_current(3X)
unpost_menu menu_post(3X)

戻り値

ポインタを返すルーチンはエラーの場合 NULL を返します。整数を返すルーチンは、次のエラーコードの一つを返します。
E_OK
ルーチンが成功した。
E_BAD_ARGUMENT
ルーチンは正しくないか範囲外の引数を検知しました。
E_BAD_STATE
ルーチンは初期化または終了の関数から呼ばれました。
E_NO_MATCH
文字は一致しませんでした。
E_NO_ROOM
メニューはそのウィンドウには大きすぎます。
E_NOT_CONNECTED
項目はメニューに接続されていません。
E_NOT_POSTED
メニューは記入されていません。
E_NOT_SELECTABLE
指定の項目は選択することができません。
E_POSTED
メニューは既に記入されています。
E_REQUEST_DENIED
メニュードライバは要求を処理することができませんでした。
E_SYSTEM_ERROR
システムエラーが生じた ( errno 参照)。
E_UNKNOWN_COMMAND
メニュードライバコードは未知の要求コードを合いました。

関連項目

エントリポイントの詳細な説明のための "menu_"で始まる名前は curses(3X) と関連するページ。 (訳注: curses(3X) は存在しません。ncurses(3) 参照)

ヘッダファイル <menu.h> は自動的にヘッダファイル <curses.h><eti.h> を含んでいます。

ライブラリリスト中で、libmenu.a は、libncurses.a の前にあるべきです。すなわち、`-lmenu -lncurses' で、反対なら (リンクエラーとなります)。

移植性

これらのルーチンは、System V メニューライブラリをエミュレートします。それらは、Version 7 または BSD バージョンではサポートされませんでした。

作者

Juergen Pfeifer。マニュアルページと新しい curses の適応は、Eric S. Raymond。

関連項目

これは、 ncurses version . (patch ) について説明しています。