#define	_I386	1		/*	dos.h内で参照	*/
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winb.h>
#include <te.h>
#include <fntb.h>
#include <gui.h>
#include <egb.h>
#include <guidbg.h>
#include <file_dlg.h>
#include <ctype.h>
#include <fmcfrb.h>
#include <cdrfrb.h>
#include <io.h>
#include <errno.h>

#include "gui_func.h"
#include "variable.c"
#include "userfunc.c"
#include "getfdinf.c"

/*	initDataWINDOW:Button_About:MJ_BUTTONL40の呼び出し関数	*/
int	Func_About(kobj, messId, argc, pev, trigger)
int		kobj ;
int		messId ;
int		argc ;
EVENT	*pev ;
int		trigger ;
{
	printf("\n+------------------------+\n");
	printf(  "|  FD/CD 表面検査 V1.00c |\n");
	printf(  "| Copyright (c) ToY 1995.|\n");
	printf(  "+--- Thank you m(__)m ---+\n");
	AlertDisp(MES_aboutthis);
	return NOERR ;
}

/*	initDataWINDOW:Window_Base:MJ_WINDOWL40の呼び出し関数	*/
int	Func_Window(kobj, messId, argc, pev, trigger)
int		kobj ;
int		messId ;
int		argc ;
EVENT	*pev ;
int		trigger ;
{
	if(messId==MM_ERASE)
	{
			MMI_SetHaltFlag(TRUE);
	}
	return NOERR ;
}

/*	initDataWINDOW:DButton_Exec:MJ_DBUTTONL40の呼び出し関数	*/
int	Func_Exec(kobj, messId, argc, pev, trigger)
int		kobj ;
int		messId ;
int		argc ;
EVENT	*pev ;
int		trigger ;
{
EVENT	*ev;
int		stopFlag=FALSE;
int		i,j,ret,ldr,chk_devtype,chk_devunit,Nmin,Nmax,Ndlt,Ncol;

#include "chkmain.c"

	execFlag=TRUE;
	printf("\nFD/CD 表面検査 Information\n");
/*	前処理		*/
	if(chkbefore()==-1)		goto chkmain_end;
/*	メイン処理		*/
	chkmain();
/*	事後処理	*/
chkmain_end:
	chkafter();
	execFlag=FALSE;
	return NOERR ;
}

/*	initDataWINDOW:DButton_Cancel:MJ_DBUTTONL40の呼び出し関数	*/
int	Func_Cancel(kobj, messId, argc, pev, trigger)
int		kobj ;
int		messId ;
int		argc ;
EVENT	*pev ;
int		trigger ;
{
	Func_Window(kobj,MM_ERASE,0,0,0);
	return NOERR ;
}

/*	initDataWINDOW:NumBox_ErrStop:MJ_NUMBOXL40の呼び出し関数	*/
/*	initDataWINDOW:NumBox_Retry:MJ_NUMBOXL40の呼び出し関数	*/
int	Func_NumBox(kobj, messId, argc, pev, trigger)
int		kobj ;
int		messId ;
int		argc ;
EVENT	*pev ;
int		trigger ;
{
	MMI_SetWakeObj(Text_OUTFile);
	return NOERR ;
}

/*	initDataWINDOW:Icon_SelR:MJ_ICONL40の呼び出し関数	*/
/*	initDataWINDOW:Icon_SelL:MJ_ICONL40の呼び出し関数	*/
int	Func_DevSelect(kobj, messId, argc, pev, trigger)
int		kobj ;
int		messId ;
int		argc ;
EVENT	*pev ;
int		trigger ;
{
	if(kobj==Icon_SelR)
	{
		chkdrive=chkdrive+1;
	}
	else
	if(kobj==Icon_SelL)
	{
		chkdrive=chkdrive-1;
	}
	if(chkdrive<0)	chkdrive=4;
	if(chkdrive>4)	chkdrive=0;

	switch(chkdrive)
	{
		case	0:
			chkdrv_icn=198;
			chkdrv_no =300;
			break;
		case	1:
			chkdrv_icn=198;
			chkdrv_no =301;
			break;
		case	2:
			chkdrv_icn=199;
			chkdrv_no =302;
			break;
		case	3:
			chkdrv_icn=199;
			chkdrv_no =303;
			break;
		case	4:
			chkdrv_icn=197;
			chkdrv_no =326;
			break;
	}
	MMI_SendMessage(Icon_SelDevice   ,MM_SETSHAPE,1,chkdrv_icn);
	MMI_SendMessage(Icon_SelDevice_No,MM_SETSHAPE,1,chkdrv_no);
	MMI_SendMessage(Icon_SelDevice   ,MM_ERASE,0);
	MMI_SendMessage(Icon_SelDevice_No,MM_ERASE,0);
	MMI_SendMessage(Icon_SelDevice   ,MM_SHOW,0);
	MMI_SendMessage(Icon_SelDevice_No,MM_SHOW,0);
	return NOERR ;
}

/*	initDataWINDOW:Icon_OUTFile:MJ_ICONL40の呼び出し関数	*/
int	Func_OUTFileSEL(kobj, messId, argc, pev, trigger)
int		kobj ;
int		messId ;
int		argc ;
EVENT	*pev ;
int		trigger ;
{
	GetFileName();
	return NOERR ;
}

/*	initDataWINDOW:TIcon_Mode:MJ_TICONL40の呼び出し関数	*/
int	Func_Mode(kobj, messId, argc, pev, trigger)
int		kobj ;
int		messId ;
int		argc ;
EVENT	*pev ;
int		trigger ;
{
	if(outputMode==0)	outputMode=1;
	else				outputMode=0;

	MMI_SendMessage(Message_Mode,MM_SETMSG,1,modeStr[outputMode]);
	MMI_SendMessage(Dialog_MesBack[1],MM_ERASE,0);
	MMI_SendMessage(Dialog_MesBack[1],MM_SHOW,0);
	return NOERR ;
}

/*	initDataWINDOW:Icon_SKB:MJ_ICONL40の呼び出し関数	*/
int	Func_SoftKey(kobj, messId, argc, pev, trigger)
int		kobj ;
int		messId ;
int		argc ;
EVENT	*pev ;
int		trigger ;
{
	MMI_DspSkb();
	return NOERR ;
}

/*	initDataWINDOW:Text_OUTFile:MJ_TEXTL40の呼び出し関数	*/
int	Func_OUTFileIN(kobj, messId, argc, pev, trigger)
int		kobj ;
int		messId ;
int		argc ;
EVENT	*pev ;
int		trigger ;
{
	return NOERR ;
}
