メニューのシステムコールを直接使用せずに、 簡単に標準的なメニュー処理を行えるようにしたライブラリーである。
|
W openmenu(W men)
W men データ番号
≧0 メニューID <0 エラー
men
で指定したデータ番号の標準メニューをオープンして、
メニューIDを関数値として戻す。
データボックス上の標準メニュー定義をメニューマネージャに渡す構造体に変換し、 メニューを生成する。この時、仮身操作等の特殊メニュー項目はダミーの項目としておく。
openmenu()
では、
同時に1つのメニューしかオープンできない。
|
VOID closemenu(void)
なし
なし
openmenu()
でオープンした標準メニューをクローズする。
|
W selmenu(W vid, FUNCP mfunc[])
W vid 仮身ID FUNCP mfunc[] メニュー対応関数
メニュー対応関数の戻値
登録した標準メニューの選択処理を行う。 キーメニューによる選択処理も行う。
wevt.e.type = EV_AUTKEY
の時は 何もせずにリターンする。
vid
は oget_vmn()
でのパラメータとする。
実身操作メニューへの特殊メニューの追加の処理も行う。
wevt.e.type = EV_KEYDOWN
の時は、
mfnd_key()
を実行する。
それ以外の時は msel_men() を実行する。
wexe_dmn()
を実行してリターンする。
仮身 / 実身 / ディスク / 付箋操作メニューの時は oexe_vmn()
に渡すための選択番号の調整を行う。選択番号 + 0x4000
とする。
mfunc
で指定されたメニュー対応関数を実行し、
その関数値でリターンする。
この時、変換テーブルに定義されているパラメータを、メニュー対応関数に渡す。
|
VOID inactmenu(W mask, W mode)
W mask 内部番号マスク W mode 不能状態
なし
登録した標準メニューの不能状態を一括設定する。
mask
は設定の対象を示すの内部番号のマスクで、
LSBが内部番号0、MSB が内部番号31に対応する。
mode
により、mask
で指定した項目の不能状態を設定する。
mode = 0 : 対象を不能状態、対象以外を可能状態とする。 mode = M_INACT : 対象を不能状態、対象以外は変更なしとする。 mode = M_ACT : 対象を可能状態、対象以外は変更なしとする。
|
VOID indmenu(W ino, W param, W mode)
W ino 内部番号 W param 項目を指定するパラメータ W mode モード
なし
登録した標準メニューのインジケータを設定する。
ino
で指定した内部番号の項目群 ( 1 〜 N 個)
のインジケータを設定する。
同じ内部番号の項目群は、同じ親メニューに含まれていなくてはいけない。
mode & 3 = 0 : param≠0 の時 ON、param =0 の時 OFF = 1 : param=パラメータ の時 ON param≠パラメータ の時 OFF = 2 : param & パラメータ=1 の時 ON param & パラメータ=0 の時 OFF
|
W opengmenu(W men)
W men データ番号
≧0 メニューID <0 エラー
men
で指定したデータ番号の汎用メニューをオープンして、
メニューIDを関数値として戻す。
データボックス上の汎用メニュー定義をメニューマネージャに渡す構造体に変換し、 メニューを生成する。
同時に12個までの汎用メニューがオープンできる。
|
VOID closegmenu(W men)
W men データ番号
なし
men で指定してオープンした汎用メニューをクローズする。
|
W selgmenu(W men, PNT pos, W *ppar)
W men データ番号 PNT pos 表示位置 W *ppar パラメータを戻す変数へのポインタ
men
で指定してオープンした汎用メニューの選択処理を行い、
選択番号に対応する内部番号を関数値として戻し、*ppar にパラメータを戻す。
pos
は汎用メニューの表示位置を指定する。
|
VOID chggmenu(W men, W ino, W param, W mode)
W men データ番号 W ino 内部番号 W param 項目を指定するパラメータ W mode モード
なし
men
で指定してオープンした汎用メニューの状態変更処理を行う。
ino
で指定した内部番号の項目群 ( 1 〜 N 個 ) の状態を設定する。
mode <0: param で指定した状態を設定。 mode & 1 =0: param = パラメータ の時、インジケータをON param ≠ パラメータ の時、インジケータをOFF =1: param & パラメータ=1 の時、インジケータをON param & パラメータ=0 の時、インジケータをOFF
mode & 0x10 ≠ 0
の時は、ON のみ設定し、OFF は設定しない。
|
W keymenu(void)
なし
メニュー処理関数の戻値
イベント処理関数のキー入力処理として、 キーメニューの処理のみの時に、 イベント処理関数テーブルに登録するための関数。
イベント ( wevt
) の命令キーまたはメニューボタンがONの時に、
イベント処理関数として定義されたメニュー処理関数を実行して、その関数値を戻す。
命令キーおよびメニューボタンが OFF の時は、 何もせずに 0 を戻す。
|
VOID chgmitem(W no, TC *ptr)
W no 項目 TC *ptr 変更する内容
なし
no
で指定した項目をTCで指定した内容に変更する。