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

📄 uinew.c

📁 这个是单片机4200的ui程序
💻 C
📖 第 1 页 / 共 5 页
字号:
		case PANEL_CANCEL:
			if(errorstate.enginestate == PAPERSIZEERR)
				{
				errorstate.enginestate = ENGINEREADY;
				return;
				}
			
			pml = gpMenudata->ml + gpMenudata ->mlIndex;
			if(gUIMain.bFirstPowerUP)
				{
				strcpy(firstlinebuf,GetMsgData(DISP_UPDATE_DATA));
				strcpy(secondlinebuf,GetMsgData(DISP_PLS_WAIT));
				LCDDisplayClear();

				DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
				DisplayLCD(1, secondlinebuf, MIDDLE,FALSE);
				NU_Sleep(1000);
				
				gUIMain.UIstate = STANDBY;
				gUIMain.bFirstPowerUP = FALSE;
				MenuListInitSet(COPY_IDLE);
				return;
				}
			switch(gUIMain.UIstate)
				{
				case WAITINGKEYIN:
					if(gUIMain.waittype == WAIT_IDCOPYBACKSIDE||gUIMain.waittype == WAIT_2UP2NDPAGE)
						UIAPI_CancelCopyJob();
					else if(gUIMain.waittype == WAIT_PRINTANOTHERSIDE)
						UICancelPrintJob();
					gUIMain.UIstate = CANCEL;
					gUIMain.waittype = WAIT_NONE;
					break;
				case COPY_PROCESSING:
					//UIDoCancelJob();

					// Cellming.Chen (2006-10-10)----------Start
					UIAPI_CancelCopyJob();
					// Cellming.Chen (2006-10-10)----------End

					//strcpy(firstlinebuf,GetMsgData(DISP_CANCELING));
					gUIMain.UIstate = CANCEL;
					/*LCDDisplayClear();
					DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
					DisplayLCD(1, secondlinebuf, MIDDLE,TRUE);
					NU_Sleep(2000);
					gUIMain.UIstate = STANDBY;					
					MenuListInitSet(COPY_IDLE);
					firsttimedisplay = TRUE;*/
					break;
				case FACTORY_MODE:
					if(pml->titleID == DISP_FAX_FACTORY||pml->titleID == DISP_DTMF_TEST
					||pml->titleID == DISP_OFF_HOOK_TEST||pml->titleID == DISP_MODEM_TEST)
							FaxAPI_FaxTest_Stop();
					MenuListInitSet(COPY_IDLE);
					gUIMain.UIstate = STANDBY;
					break;
				case SERVICE_MODE:
					if(password)
						MenuListInitSet(SERVICE_MODE);
					break;
				case FAX_PROCESSING:
					gUIMain.UIstate = STANDBY;
					MenuListInitSet(COPY_IDLE);
					//firsttimedisplay = TRUE;
					break;
				case SCAN_PROCESSING:
					//UIDoCancelJob();
					PC_ScanCancel_OP();
					//strcpy(firstlinebuf,GetMsgData(DISP_CANCELING));
					gUIMain.UIstate = CANCEL;
					break;
				case PRINT_PROCESSING:
					//when printint a fax from memory cancel the current print, printing of any addition fax in memory will continue;
					if(!TimeOutFlag)
						{
						UICancelPrintJob();			
						//strcpy(firstlinebuf,GetMsgData(DISP_CANCELING));
						gUIMain.UIstate = CANCEL;
						}
					break;
				case MENU:
					if(inputbuf[0] != 0)
						{
						inputindex = 0;
						memset(inputbuf, 0, sizeof(inputbuf));
						if(pml->type == IDINPUT)
							{
							if(step == 0)
								{
								curindex = 4;
								EditorCursorShow(curindex);			
								strcpy(buftemp,GetMsgData(DISP_TEL));
								sprintf(secondlinebuf,"%s=%s",buftemp,inputbuf);
								AlignL1 = MIDDLE;
								}
							else if(step == 1)
								{
								curindex = 0;
								lastbutton = PANEL_CANCEL;
								curjump = FALSE;
								EditorCursorShow(curindex);
								strcpy(secondlinebuf,"");		
								AlignL1 = LEFT;
								}
							}
						LCDDisplayClear();
						DisplayLCD(0, firstlinebuf, AlignL1,FALSE);
						DisplayLCD(1, secondlinebuf, LEFT,FALSE);
						updateLCD = FALSE;
						}
					else
						{
						gUIMain.UIstate = STANDBY;					
						MenuListInitSet(COPY_IDLE);
						if(step != 0)
							step = 0;
						NU_Reset_Semaphore(&gDateTimeSem,1);
						if(waitingCommJob != NULL)
							{
							oswReleaseBuffer(waitingCommJob);
							waitingCommJob = NULL;
							}
						}
					break;
				case FAX_IDLE:
					if(inputbuf[0] != 0)
						{
						inputindex = 0;
						memset(inputbuf, 0, sizeof(inputbuf));
						switch(pml->type)
							{
							case DIALINPUT:
								curindex = 4;
								EditorCursorShow(curindex);			
								strcpy(buftemp,GetMsgData(DISP_TEL));
								sprintf(secondlinebuf,"%s=%s",buftemp,inputbuf);
								AlignL1 = MIDDLE;
								break;
							case PHONEBOOKINPUT:
							case MULTIDIAL:	
								if(step == 1||(step == 2&&(pml->dispID == DISP_ADD_PER||pml->dispID == DISP_EDIT_PER)))
								{
								curindex = 0;
								EditorCursorShow(curindex);
								strcpy(secondlinebuf,"");
								lastbutton = PANEL_CANCEL;
								curjump = FALSE;
								AlignL1 = LEFT;
								}
								break;
							case IDINPUT:
								if(step == 0)
									{
									curindex = 4;
									EditorCursorShow(curindex);			
									strcpy(buftemp,GetMsgData(DISP_TEL));
									sprintf(secondlinebuf,"%s=%s",buftemp,inputbuf);
									AlignL1 = MIDDLE;
									}
								else if(step == 1)
									{
									curindex = 0;
									EditorCursorShow(curindex);
									strcpy(secondlinebuf,"");
									lastbutton = PANEL_CANCEL;
									curjump = FALSE;
									AlignL1 = LEFT;
									}
								break;
							default:
								break;
							}
							LCDDisplayClear();
							DisplayLCD(0, firstlinebuf, AlignL1,FALSE);
							DisplayLCD(1, secondlinebuf, LEFT,FALSE);
						}
					else
						{
						MenuListInitSet(COPY_IDLE);
						presscount = 0;
						utemp = 0;//need to have //Junny
						step = 0;
						lastbutton = PANEL_NONE;
						if(phonelist != NULL)
							{
							free(phonelist);
							phonelist = NULL;
							}
						gUIMain.UIstate = STANDBY;
						modechange = FALSE;
						}
					break;
				case QUICKFAX:
					if(inputbuf[0] != 0)
						{
						inputindex = 0;
						memset(inputbuf, 0, sizeof(inputbuf));
						showbuf = inputbuf;
						strcpy(buftemp,GetMsgData(DISP_FAX_TO));
						sprintf(quickfaxbuf,"%s:%s",buftemp,showbuf);
						}
					else
						{
						MenuListInitSet(COPY_IDLE);
						presscount = 0;
						utemp = 0;//need to have //Junny
						step = 0;
						lastbutton = PANEL_NONE;
						if(phonelist != NULL)
							{
							free(phonelist);
							phonelist = NULL;
							}
						gUIMain.UIstate = STANDBY;
						modechange = FALSE;
						}
					break;
				case COPY_IDLE:
				case QUICKCOPY:
					MenuListInitSet(COPY_IDLE);
					gUIMain.UIstate = STANDBY;
					break;
				case SCAN_IDLE:
					MenuListInitSet(COPY_IDLE);
					gUIMain.UIstate = STANDBY;
					break;				
				default:
					MenuListInitSet(COPY_IDLE);
					gUIMain.UIstate = STANDBY;
					break;
				}
				newnumber = TRUE;
			break;
		case PANEL_BACK:
				 //-------------add by sky---------- 
	   		 if (0x01==FCTMode)                        
	    		{
	       		 PanleState=PanleState |0X01;
	        		break;
	    		}
		     //--------------add by sky----------
     			//pml = gpMenudata->ml + gpMenudata ->mlIndex;
	 
			if(gUIMain.bFirstPowerUP)
				{
				strcpy(firstlinebuf,GetMsgData(DISP_UPDATE_DATA));
				strcpy(secondlinebuf,GetMsgData(DISP_PLS_WAIT));
				LCDDisplayClear();

				DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
				DisplayLCD(1, secondlinebuf, MIDDLE,FALSE);
				NU_Sleep(1000);
				
				gUIMain.UIstate = STANDBY;
				gUIMain.bFirstPowerUP = FALSE;
				MenuListInitSet(COPY_IDLE);
				return;
				}
			if((gpMenudata ->currentMenu->pPreMenuList != NULL&&setconfirm == FALSE&&step == 0)||pml->titleID == DISP_ZOOM)
				{
				gpMenudata ->ml = (P_MAIN_MENU_LIST)gpMenudata->currentMenu->pPreMenuList;
				gpMenudata ->mlIndex= gpMenudata->currentMenu->preIndex;
				gpMenudata ->mlCount= gpMenudata->currentMenu->precount;
				if(gpMenudata->currentMenu->pPreMenuList == mlROOT)
					gUIMain.UIstate = STANDBY;
				}
			else if(gpMenudata ->currentMenu->pPreMenuList ==NULL&&gUIMain.UIstate !=SERVICE_MODE)
				{
				gUIMain.UIstate = STANDBY;
				//modechange = FALSE;
				//memset(inputbuf, 0, sizeof(inputbuf));
				factorycount ++;
				}
			pml = gpMenudata->ml +gpMenudata ->mlIndex;
			gpMenudata->currentMenu = pml;
			pml ->fun(PANEL_BACK);

			if(factorycount == 5)
				{
				gUIMain.UIstate = FACTORY_MODE;
				gpMenudata->ml = (P_MAIN_MENU_LIST)mlPRINTERTEST;
			    	gpMenudata->mlIndex = 0;
			    	gpMenudata->mlCount = MENUITEMCOUNT(mlPRINTERTEST);
				gpMenudata->currentMenu = (P_MAIN_MENU_LIST)&mlPRINTERTEST[0];
				factorycount = 0;
				defaultset = FALSE;
				DiagnosticMode = FALSE;

				strcpy(firstlinebuf,GetMsgData(gpMenudata->currentMenu->titleID));
				strcpy(secondlinebuf, GetMsgData(gpMenudata->currentMenu->dispID));
				}
			else if(factorycount == 3)
				defaultset = TRUE;
			else if(factorycount == 4)
				{
				DiagnosticMode = TRUE;
				defaultset = FALSE;
				}
			
			if(!password&&gUIMain.UIstate == SERVICE_MODE)
				{
				gUIMain.UIstate = STANDBY;
				DiagnosticMode = FALSE;
				factorycount = 0;
				memset(inputbuf2,0,sizeof(inputbuf2));
				}
			
			break;
		case PANEL_SELECT:
			//-------------add by sky---------- 
	    		if (0x01==FCTMode)                        
	    		{
	        		PanleState=PanleState |0X04;
	        		break;
	    		}
	     		 //--------------add by sky----------
			if(gUIMain.UIstate == WAITINGKEYIN)
				{
				switch(gUIMain.waittype)
					{
					case WAIT_PRINTANOTHERSIDE:
						pfhUIRespDuplexPrint();
						gUIMain.UIstate = PRINT_PROCESSING;
						break;
					case WAIT_IDCOPYBACKSIDE:
						UIAPI_IDCopy2ndPageStart();
						gUIMain.UIstate = COPY_PROCESSING;
						break;
					case WAIT_2UP2NDPAGE:
						UIAPI_2upCopy2ndPageStart();
						gUIMain.UIstate = COPY_PROCESSING;
						break;
					default:
						break;
					}
				gUIMain.waittype = WAIT_NONE;
				}
			 
			if(gUIMain.UIstate != SERVICE_MODE || (password == TRUE&&diagnosismode == TRUE))
			{
				pml = gpMenudata->ml +gpMenudata ->mlIndex;
				
				if(pml->dispID == DISP_RETURN)
					{
					pml->fun2();
					return;
					}
				pml ->fun(PANEL_SELECT);

				if(gpMenudata ->currentMenu->pNextMenuList !=NULL&& setconfirm == FALSE
					&&gpMenudata->currentMenu->dispID!= DISP_ZOOM&&gUIMain.UIstate != PRINT_PROCESSING
					&&gUIMain.UIstate != COPY_PROCESSING)
					{
					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;					
					}
				if(gUIMain.bFirstPowerUP&&setconfirm == FALSE)
					{
					if(gpMenudata ->ml == (P_MAIN_MENU_LIST)mlROOT)
						{
						strcpy(firstlinebuf,GetMsgData(DISP_UPDATE_DATA));
						strcpy(secondlinebuf,GetMsgData(DISP_PLS_WAIT));
						LCDDisplayClear();

						DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
						DisplayLCD(1, secondlinebuf, MIDDLE,FALSE);
						NU_Sleep(1000);
						
						gUIMain.UIstate = STANDBY;
						gUIMain.bFirstPowerUP = FALSE;
						UIStateDisplay();
						LCDCursorOff();
						}
					else
						{
						pml = gpMenudata->ml +gpMenudata ->mlIndex;
						pml ->fun(PANEL_SELECT);
						}
					}
			}
			break;
		case PANEL_ARROWLEFT:
			//-------------add by sky---------- 
  			  if (0x01==FCTMode)                        
    			{
        			PanleState=PanleState |0X02;
       		 	break;
   			 }
		    //--------------add by sky----------
			if((gUIMain.UIstate != SERVICE_MODE || password == TRUE)&&gUIMain.UIstate != FAX_PROCESSING)
			{
				if(setconfirm == FALSE&&step == 0&&delperson != TRUE)
					{
					if(index> 0)
						index--;
					else
						index = count-1;			
					gpMenudata ->mlIndex = index;
					}
				pml = gpMenudata->ml + gpMenudata ->mlIndex;
				gpMenudata->currentMenu = pml;
				pml ->fun(PANEL_ARROWLEFT);
			}
			break;
		case PANEL_ARROWRIGHT:
			 //-------------add by sky---------- 
   			 if (0x01==FCTMode)                        
   			 {
        			PanleState=PanleState |0X08;
        			break;
    			}
		     //--------------add by sky----------
			if((gUIMain.UIstate != SERVICE_MODE || password == TRUE)&&gUIMain.UIstate != FAX_PROCESSING)
			{
				if(setconfirm == FALSE&&step == 0&&delperson != TRUE)
					{
					if(index== (count-1))
						index=0;
					else
						index++;
					gpMenudata ->mlIndex = index;
					}
				pml = gpMenudata->ml + gpMenudata ->mlIndex;
				gpMenudata->currentMenu = pml;
				pml ->fun(PANEL_ARROWRIGHT);
			}
			break;
		case PANEL_NUM1:
			if(gUIMain.UIstate != SERVICE_MODE)
				{
				pml = gpMenudata->ml + gpMenudata ->mlIndex;
				pml ->fun(PANEL_NUM1);
				}

⌨️ 快捷键说明

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