⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menu.c

📁 这个是单片机4200的ui程序
💻 C
📖 第 1 页 / 共 5 页
字号:
				{
					gpMenudata ->ml = (P_MAIN_MENU_LIST)gpMenudata->currentMenu->pPreMenuList;
					gpMenudata ->mlIndex= gpMenudata->currentMenu->preIndex;
					gpMenudata ->mlCount= gpMenudata->currentMenu->precount;
					gpMenudata ->currentMenu = gpMenudata->ml + gpMenudata ->mlIndex;

					currentmenu = gpMenudata ->ml + gpMenudata ->mlIndex;
					if(currentmenu->titleID== DISP_COPY)
						{
						num = gUIMain.copysetting.Copynumber;
						strcpy(buf, GetMsgData(Ms_PaperSize2[gUIMain.papersetting.Papersize]));
						sprintf(firstlinebuf,"C:%2d  %s %3d%%",num,buf,gUIMain.copysetting.Zoomratio);
						strcpy(secondlinebuf,GetMsgData(gpMenudata ->currentMenu->dispID));
						}
					else
						{
						strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
						strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
						}
				}
				else
				{
					strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
					strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
				}
				setconfirm = FALSE;
				newnumber = TRUE;
				}
			break;
		case PANEL_BACK:
			if(setconfirm == TRUE)
				{
				setconfirm = FALSE;
				}
			newnumber = TRUE;
			if(currentmenu->titleID == DISP_COPY)
				{
				num = gUIMain.copysetting.Copynumber;
				strcpy(buf, GetMsgData(Ms_PaperSize2[gUIMain.papersetting.Papersize]));
				sprintf(firstlinebuf,"C:%2d  %s %3d%%",num,buf,gUIMain.copysetting.Zoomratio);
				strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
				}
			else if(currentmenu->titleID == DISP_ZOOM)
				{
				gpMenudata ->ml = (P_MAIN_MENU_LIST)gpMenudata->currentMenu->pPreMenuList;
				gpMenudata ->mlIndex = gpMenudata->currentMenu->preIndex;
				gpMenudata ->mlCount = gpMenudata->currentMenu->precount;
				gpMenudata ->currentMenu = gpMenudata->ml + gpMenudata ->mlIndex;
				currentmenu = gpMenudata ->currentMenu;

				udefault = 5;
				min = currentmenu->item_min;
				max = currentmenu->item_max;
				setconfirm = TRUE;
				strcpy(firstlinebuf,GetMsgData(currentmenu->dispID));
				strcpy(secondlinebuf,GetMsgData(currentmenu->itemchoose_addr[udefault]));
				}
			else
				{
				strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
				strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
				}
			break;
		case PANEL_NUM0:
			if(setconfirm == TRUE)
				EditorMultiInput(PANEL_NUM0, currentmenu);
			break;
		case PANEL_NUM1:
			if(setconfirm == TRUE)
				EditorMultiInput(PANEL_NUM1, currentmenu);
			break;
		case PANEL_NUM2:
			if(setconfirm == TRUE)
				EditorMultiInput(PANEL_NUM2, currentmenu);
			break;
		case PANEL_NUM3:
			if(setconfirm == TRUE)
				EditorMultiInput(PANEL_NUM3, currentmenu);
			break;
		case PANEL_NUM4:
			if(setconfirm == TRUE)
				EditorMultiInput(PANEL_NUM4, currentmenu);
			break;
		case PANEL_NUM5:
			if(setconfirm == TRUE)
				EditorMultiInput(PANEL_NUM5, currentmenu);
			break;
		case PANEL_NUM6:
			if(setconfirm == TRUE)
				EditorMultiInput(PANEL_NUM6, currentmenu);
			break;
		case PANEL_NUM7:
			if(setconfirm == TRUE)
				EditorMultiInput(PANEL_NUM7, currentmenu);
			break;
		case PANEL_NUM8:
			if(setconfirm == TRUE)
				EditorMultiInput(PANEL_NUM8, currentmenu);
			break;
		case PANEL_NUM9:
			if(setconfirm == TRUE)
				EditorMultiInput(PANEL_NUM9, currentmenu);
			break;
		default:
			break;		
		}
}

void StringType(Uint8 action)
{
	Uint8 num,adfflag;
	P_MAIN_MENU_LIST currentmenu;
	char buf[5];

	currentmenu = gpMenudata ->ml + gpMenudata ->mlIndex;

	switch(action)
		{
		case PANEL_ARROWRIGHT:
			if(setconfirm == TRUE)
				{
				udefault++;
				if( udefault>max)
					udefault = min;						
				strcpy(firstlinebuf,GetMsgData(currentmenu->dispID));
				strcpy(secondlinebuf,GetMsgData(currentmenu->itemchoose_addr[udefault]));
				}
			else
				{
				if(currentmenu->titleID == DISP_COPY)
					{
					num = gUIMain.copysetting.Copynumber;
					strcpy(buf, GetMsgData(Ms_PaperSize2[gUIMain.papersetting.Papersize]));
					sprintf(firstlinebuf,"C:%2d  %s %3d%%",num,buf,gUIMain.copysetting.Zoomratio);
					strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
					}
				else
					{
					strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
					strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
					}
				}
			if(setconfirm == TRUE&&*(Uint8*)val[currentmenu->item_userdefault] == udefault)
				sprintf(secondlinebuf,"%s*",secondlinebuf);
			break;
		case PANEL_ARROWLEFT:
			if(setconfirm == TRUE)
				{
				if( udefault==min)
					udefault = max;
				else
					udefault--;						
				strcpy(firstlinebuf,GetMsgData(currentmenu->dispID));
				strcpy(secondlinebuf,GetMsgData(currentmenu->itemchoose_addr[udefault]));
				}
			else
				{
				if(currentmenu->titleID == DISP_COPY)
					{
					num = gUIMain.copysetting.Copynumber;
					strcpy(buf, GetMsgData(Ms_PaperSize2[gUIMain.papersetting.Papersize]));
					sprintf(firstlinebuf,"C:%2d  %s %3d%%",num,buf,gUIMain.copysetting.Zoomratio);
					strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
					}
				else
					{
					strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
					strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
					}
				}
			if(setconfirm == TRUE&&*(Uint8*)val[currentmenu->item_userdefault] == udefault)
				sprintf(secondlinebuf,"%s*",secondlinebuf);
			break;
		case PANEL_BACK:
			if(setconfirm == TRUE)
				{
				setconfirm = FALSE;
				}
			step = 0;
			if(currentmenu->titleID == DISP_COPY)
				{
				num = gUIMain.copysetting.Copynumber;
				strcpy(buf, GetMsgData(Ms_PaperSize2[gUIMain.papersetting.Papersize]));
				sprintf(firstlinebuf,"C:%2d  %s %3d%%",num,buf,gUIMain.copysetting.Zoomratio);
				strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
				}
			else
				{
				strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
				strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
				}
			break;
		case PANEL_SELECT:
			if(currentmenu->pNextMenuList != NULL&&currentmenu->dispID != DISP_ZOOM&&!gUIMain.bFirstPowerUP)
				{
				currentmenu = currentmenu->pNextMenuList;
				strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
				strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
				}
			else if(currentmenu->pNextMenuList != NULL&&(currentmenu->dispID == DISP_ZOOM&&udefault == 5))
				{
				*(Uint8*)val[currentmenu->item_userdefault] = udefault;
				currentmenu = currentmenu->pNextMenuList;
				min = currentmenu->item_min;
				max = currentmenu->item_max;
				udefault = *(Uint16*)val[currentmenu->item_userdefault];
				
				strcpy(firstlinebuf,GetMsgData(currentmenu->dispID));
				sprintf(secondlinebuf,"[%d-%d]>%d",currentmenu->item_min,currentmenu->item_max,udefault);
				
				gpMenudata ->ml = (P_MAIN_MENU_LIST)gpMenudata->currentMenu->pNextMenuList;
				gpMenudata ->mlIndex = gpMenudata->currentMenu->NextIndex;
				gpMenudata ->mlCount = gpMenudata->currentMenu->count;
				gpMenudata ->currentMenu = gpMenudata->ml + gpMenudata ->mlIndex;					

				setconfirm = TRUE;
				}
			else if(setconfirm == FALSE)
				{
				min = currentmenu->item_min;
#ifdef _DRPD_VALID
				if(currentmenu->dispID == DISP_REC_MODE&&gUIMain.faxsetting.DRPDmode == 0)
					max = 3;
/*				else if(currentmenu->dispID == DISP_LAYOUT)
					{
					if(adfflag == 0)
						max = 4;
					else
						max = 5;
					}*/
				else
#endif
					max = currentmenu->item_max;				
				if(currentmenu->fun2 != NULL)
					{
					currentmenu->fun2();
					if (currentmenu->titleID == DISP_CLR_SET)
						{
						LCDDisplayClear();
						strcpy(firstlinebuf,GetMsgData(DISP_UPDATE_DATA));
						strcpy(secondlinebuf,"");
						DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
						DisplayLCD(1, secondlinebuf, MIDDLE,FALSE);
						NU_Sleep(400);
						}
					strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));						
					strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
					return;
					}
				else if(currentmenu->item_userdefault != 0)
					{
					udefault = *(Uint8*)val[currentmenu->item_userdefault];
					strcpy(firstlinebuf,GetMsgData(currentmenu->dispID));
					strcpy(secondlinebuf,GetMsgData(currentmenu->itemchoose_addr[udefault]));

					setconfirm = TRUE;
					}
				else if (currentmenu->titleID == DISP_T_PC)	/* Add by Alan for PushScan */
					{
						Uint8 i;
						i = currentmenu->dispID - SCAN_APP_NAME_ID;
						if (i < gUIMain.scansetting.Scan2PCAPI.ApplicCount)
						{
							if (GetAgentConnectedState())
							{
								if (ADF_FeedSensorCheck()) {
									/* ADF Push Scan only support: Letter, A4, Legal Sizes */
									if ( (gUIMain.scansetting.IOriginalsize != ISIZE85_11INCH)
											&& (gUIMain.scansetting.IOriginalsize != ISIZEA4)
											&& (gUIMain.scansetting.IOriginalsize != ISIZELGL) ) {
										/* Display error and sound */
										SpeakerSoundPlay(SOUND_OF_KEYPAD);
										LCDDisplayClear();
										strcpy(firstlinebuf, GetMsgData(DISP_ORI_SIZE));
										strcpy(secondlinebuf, GetMsgData(DISP_ERROR));
										DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
										DisplayLCD(1, secondlinebuf, MIDDLE,FALSE);
										NU_Sleep(600);
										strcpy(firstlinebuf, GetMsgData(currentmenu->titleID));						
										strcpy(secondlinebuf, GetMsgData(currentmenu->dispID));
										return;
									}
								}
								else {
									/* FB Push Scan does't support Legal Size */
									if ( gUIMain.scansetting.IOriginalsize == ISIZELGL ) {
										/* Display error and sound */
										SpeakerSoundPlay(SOUND_OF_KEYPAD);
										LCDDisplayClear();
										strcpy(firstlinebuf, GetMsgData(DISP_ORI_SIZE));
										strcpy(secondlinebuf, GetMsgData(DISP_ERROR));
										DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
										DisplayLCD(1, secondlinebuf, MIDDLE,FALSE);
										NU_Sleep(600);
										strcpy(firstlinebuf, GetMsgData(currentmenu->titleID));						
										strcpy(secondlinebuf, GetMsgData(currentmenu->dispID));
										return;
									}									
								}
								/* Set push scan Application ID */
								SetPushScanAppID(gUIMain.scansetting.Scan2PCAPI.ApplicRecord[i].ApplicationID);
								LCDDisplayClear();
								strcpy(firstlinebuf, GetMsgData(DISP_PLS_WAIT));
								strcpy(secondlinebuf,"");
								DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
								DisplayLCD(1, secondlinebuf, MIDDLE,FALSE);
								NU_Sleep(2600);
								strcpy(firstlinebuf, GetMsgData(currentmenu->titleID));						
								strcpy(secondlinebuf, GetMsgData(currentmenu->dispID));
							}
							else
							{
								/* Display error and sound for Agent not connecting */
								SpeakerSoundPlay(SOUND_OF_KEYPAD);
								LCDDisplayClear();
								strcpy(firstlinebuf, GetMsgData(DISP_PLS_CHECK));
								strcpy(secondlinebuf, GetMsgData(DISP_CONFIGURATION));
								DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
								DisplayLCD(1, secondlinebuf, MIDDLE,FALSE);
								NU_Sleep(800);
								strcpy(firstlinebuf, GetMsgData(currentmenu->titleID));						
								strcpy(secondlinebuf, GetMsgData(currentmenu->dispID));
							}
						}						
						//MenuListInitSet(COPY_IDLE);
						//gUIMain.UIstate = STANDBY;
						//setconfirm = TRUE;
						return;
					}
				}
			else
				{
				adfflag = ADFSensorDocCheck();
				if(currentmenu->dispID == DISP_LAYOUT&&adfflag == 0)
					{
					if(udefault == 5)
						{
						SpeakerSoundPlay(SOUND_OF_KEYPAD);
						copyparaerr = TRUE;
						return;
						}
					}
				else if(currentmenu->dispID == DISP_LAYOUT&&adfflag == 1)
					{
					if(udefault == 1||udefault == 2||udefault == 3)
						{
						SpeakerSoundPlay(SOUND_OF_KEYPAD);
						copyparaerr = TRUE;
						return;						
						}
					}
				strcpy(firstlinebuf,GetMsgData(DISP_SAVED));
						
				LCDDisplayClear();
				DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
				
				*(Uint8*)val[currentmenu->item_userdefault] = udefault;
				if(currentmenu->item_userdefault == Val_presetratio)
					CalZoomRatio();
				else if(currentmenu->item_userdefault == Val_NV_presetratio)
					{
					CalDFZoomRatio();
					UpdateData(currentmenu->item_userdefault);
					UpdateData(Val_zoomratio);
					}
				else if(currentmenu->item_userdefault > Val_autoreduction&&currentmenu->item_userdefault<Val_dialnumber)
					{
					UpdateData(currentmenu->item_userdefault);
					FunFAX_ParamSelectAPI();
					}
				else if(currentmenu->item_userdefault >= Val_FM_rxlevel&&currentmenu->item_userdefault<= Val_FM_symbolrate)
					{
					FunFAX_ParamSelectAPI();
					NVFlashDataWrite(FAXMAINTENANCE);
					}
				NU_Sleep(400);
				
				if(currentmenu->titleID == DISP_COPY)
					{
					num = gUIMain.copysetting.Copynumber;
					strcpy(buf, GetMsgData(Ms_PaperSize2[gUIMain.papersetting.Papersize]));
					sprintf(firstlinebuf,"C:%2d  %s %3d%%",num,buf,gUIMain.copysetting.Zoomratio);
					strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
					}
				else
					{
					strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));						
					strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
					}
				setconfirm = FALSE;
				}
			if(setconfirm == TRUE&&*(Uint8*)val[currentmenu->item_userdefault] == udefault)
				sprintf(secondlinebuf,"%s*",secondlinebuf);
			break;
		case PANEL_PHONEBOOK:
			strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
			strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
			break;
		default:
			break;
		}
//	if(setconfirm == TRUE&&*(Uint8*)val[currentmenu->item_userdefault] == udefault)
//		sprintf(secondlinebuf,"%s*",secondlinebuf);
}

void ConfirmString(Uint8 action)
{
	P_MAIN_MENU_LIST currentmenu;
	Uint8 AlignL1,AlignL2;

	currentmenu = gpMenudata ->ml + gpMenudata ->mlIndex;

	AlignL1 = currentmenu->firstline;
	AlignL2 = currentmenu->secondline;	

	switch(action)
		{
		case PANEL_ARROWRIGHT:
			if(setconfirm == TRUE)
				{
				udefault++;
				if( udefault>max)
					udefault = min;			
				sprintf(firstlinebuf,"%s?",GetMsgData(currentmenu->dispID));
				strcpy(secondlinebuf,GetMsgData(currentmenu->itemchoose_addr[udefault]));
				}
			else
				{
				strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
				strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
				}
			break;
		case PANEL_ARROWLEFT:
			if(setconfirm == TRUE)
				{
				if( udefault==min)
					udefault = max;
				else
					udefault--;						
				sprintf(firstlinebuf,"%s?",GetMsgData(currentmenu->dispID));
				strcpy(secondlinebuf,GetMsgData(currentmenu->itemchoose_addr[udefault]));
				}
			else
				{
				strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
				strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
				}
			break;
		case PANEL_BACK:
			if(setconfirm == TRUE)
				{
				setconfirm = FALSE;
				}
			step = 0;
			strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
			strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
			break;
		case PANEL_SELECT:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -