/****************************************************************************/
/* 標準パラメーター：メニュー用						    */
/****************************************************************************/

#include <stdio.h>
#include "defines.h"
#include "menu.h"

/****************************************************************************/
/* デフォルト設定 */
/* こうすると、代入のための式展開が無いためサイズが小さくなる */
/* ただし、定数しか使えなくなる */

static _MENU_DATA defmdata = {
	/* メニューモード */
	 0	/* メッセージモード (1) */
	
	,0	/* non remake menu : 0=none,1=項目再表示なし,2=再表示 */
	
	,0	/* popup (1) */
	,0	/* popdown : 0=none , 1=ESC only , 2=always */
	,3	/* popup/down mode : 01〜05 */
	
	,1	/* mouse use (1) */
	,0	/* カーソル off(0)/on(1) */
	,0	/* direct key jump : 0=none,1=select only,2=select&[RET] */
	
	,0	/* top exit (1) : [1]選択時にupを押すとﾘﾀｰﾝ */
	,0	/* last exit(1) : [all]選択時にdownを押すとﾘﾀｰﾝ */
	
	,0	/* scroll mode : 0=jump , 1=smoth (未サポート) */
	
	,0	/* non select enable (1) */
	,0	/* select color -> normal color (1) */
	,0	/* special color enable (1) */
	
	,0	/* 枠内クリア : 0=yes , 1=no */
	
	,0	/* 固定枠幅モード (1=wxによる) */
	
	,1	/* select menu reverse length : 0=menu len , 1=mlen */
	,0	/* メッセージ表示モード（未サポート）：0=左 , 0=中央 , 2=右 */
	
	,1	/* タイトル表示モード : 0=左 , 1=中央 , 2=右 */
	,2	/* テイル表示モード   : 0=左 , 1=中央 , 2=右 */
	
	,0	/* 番号モード
			0=番号なし
			1=Ａ〜Ｚまたはﾀﾞｲﾚｸﾄｾﾚｸﾄｷｰの表示
			2=１〜９／Ａ−Ｚ
			3=１０進２桁１から
			4=１０進３桁１から
			5=１６進２桁０１から
		*/
	,0	/* 番号は０から (1) */
	,0	/* A-Z大文字 , １０進数上位桁０なし , １６進数大文字 */
	
	/* getline/date用 */
	,0	/* パスワード入力モード(1)/自動確定 (1) */
	,0	/* 先行入力後カーソル位置/先行入力モード */
	
	/* 同時多項目選択用 */
	,0	/* リミット数＋１の時の処理：0=ベル２回 , 1=リターン */
	,2	/* 既にセレクトされている項目を再セレクトした時の処理
			0=無視する
			1=ベルを１回鳴らす（=non select）
			2=取り消す
		*/
	,1	/* 初期化モード
			0=msatr[]の内容に従う
			1=sel[]の内容によって初期設定する
		*/
	
	,0	/* 汎用利用領域：現在未使用 */
	
	,-1	/* リターンモード
			 0=ESC/EXIT/limitでしかリターンしない
			>0=n_ret番目以降の項目を選択するとリターン
		 	   このn_ret番以降は選択されたことにならない
			-1=all番目を選択するとリターン
		 	   このall番は選択されたことにならない
			-2=msatr[1〜all]のbit11=1の項目が選択されたらリターン
		 	   bit11=1の項目は選択されたことにならない
		*/
	
	/* その他 */
	,1	/* メニューpopup/down速度 */
	
	,0	/* メニュー横幅 : 0=自動 , >0=その幅 */
	,1	/* メニュー上空行数 */
	,1	/* メニュー下空行数 */
	,0	/* メニュー縦幅 : 0=自動 , >0=その幅(blineで調節) */
	,1	/* メニュー左空桁数 */
	,1	/* メニュー右空桁数 */
	,1	/* 項目段間桁数（wmenu時）*/
	
	,0	/* 未使用 */
	
	,0	/* メニュー移動可能範囲 */
	,0
	,DISPX-1
	,DISPY
	
	/* タイトル、テイル、セパレーター */
	,""	/* タイトル  : ""=なし */
	,""	/* テイル    : ""=なし */
	,""	/* ":"文字列 : ""=なし */
	
	/* 枠線 */
	,4	/* 枠線モード：0=なし,1=細,2=細２重,3=太,4=太２重,5=極太 */
		/* 枠なしは未サポート */
	,0xffff	/* 枠パターン */
	
	/* 操作キー */
	,NULL	/* 操作キー（現在は使用できない）*/
	,0	/* 緊急脱出キーの数 */
	,NULL	/* 緊急脱出キーデータのあるアドレス */
};

/****************************************************************************/

void set_dmenu_data(_MENU_DATA *mdata)
{
unint x,y;
	*mdata=defmdata;
	/* メニュー移動可能範囲終点座標の設定 */
	x=TWIDTH(&y);
	mdata->endx=x-1;
	mdata->endy=y-2;
}

/****************************************************************************/
