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

📄 win_key_input.c

📁 EMU_FTAbox_ref441328_code_source ali m3327
💻 C
📖 第 1 页 / 共 2 页
字号:
void win_key_input_INDEX_recover()
{
	WINDOW* pW = &win_key_input;

	ap_key_input_save_INDEX(win_key_input.FocusObjectID-1);

	wincom_display_win(pW, FALSE);
	OSD_UpdateWinVscr(pW,FALSE);
}


void win_key_input_ID_recover()
{
	WINDOW* pW = &win_key_input;

	ap_key_input_save_ID(win_key_input.FocusObjectID-1);

	wincom_display_win(pW, FALSE);
	OSD_UpdateWinVscr(pW,FALSE);
}

static UINT8 win_key_input_proc(OBJECTHEAD* pObj, UINT32 vkey, UINT32 para1, UINT32 para2)
{
	UINT8 bResult = PROC_LOOP;
	VKEY vact ;
	UINT8 res;
	OBJECTHEAD*	numObj;
	WINDOW	*pw = (WINDOW*)pObj;
	extern UINT8	KeyEditFunc;		//djg keyedit
	UINT16 temp;
	vact= pObj->pKeyMap(pObj, vkey);


	KeyEditFunc = NOSELECT;
	switch(vkey)
	{
#if 0
		case V_KEY_COLOR2:		//red key
			//Delete Function
			KeyEditFunc = DELETE_F;
			break;
		case V_KEY_COLOR3:		//white key
			//Add Function
			KeyEditFunc = ADD_F;
			break;
#endif
		case V_KEY_COLOR0://yellow key
			//Save Function
			KeyEditFunc = SAVE_F;
			break;
		case V_KEY_PAUSE://blue key
		      //Default Function
			KeyEditFunc = DEFAULT_F;
			break;
		default:
			break;
		
	}	


	switch(vact)
	{
		case VACT_WIN_UP:
		case VACT_WIN_DOWN:
		case VACT_PAGEUP:
		case VACT_PAGEDOWN:
			if(p_ui_key_input_data->key_total_number==0)
				break;
			res=win_com_up_down(pw,vact,MAX_CAS_KEY_NUMBER,&(p_ui_key_input_data->key_total_number),&(p_ui_key_input_data->key_begin_number),&(p_ui_key_input_data->key_end_number));
			if(res==WINCOM_UPDOWN_NORMAL)
			{

				if(vact==VACT_WIN_DOWN )
				{
					if(g_Garosu_LineNumber==g_Garosu_TotalNumber)
						g_Garosu_LineNumber = 0;
					else
						g_Garosu_LineNumber += 1;
				}
				else if(vact==VACT_WIN_UP)
				{
					if(g_Garosu_LineNumber==0)
						g_Garosu_LineNumber = g_Garosu_TotalNumber;
					else
						g_Garosu_LineNumber -= 1;
				}

				win_key_input_redraw_list();
				p_ui_ki_ReturnInfo->type=WIN_CMD;
				p_ui_ki_ReturnInfo->sub_type=AP_KI_READ_PPNAME;
			}
			else if(res==WINCOM_UPDOWN_READPAGE)
			{
				p_ui_ki_ReturnInfo->type=WIN_CMD;
				p_ui_ki_ReturnInfo->sub_type=AP_KI_READPAGE;
			}
			ap_key_input_set_listindex(p_ui_key_input_data->key_begin_number+win_key_input.FocusObjectID);
			break;

		case VACT_WIN_CLOSE:
			bResult = PROC_LEAVE;
			break;
		case VACT_WIN_ENTER:
			if(p_ui_key_input_data->key_total_number==0)
				break;
			set_small_keyboard_type(WIN_EDIT_KEY,win_key_input_recover);
			set_small_keyboard_name(p_ui_key_input_data->p_SecondStrTab[win_key_input.FocusObjectID-1]);
			ap_send_cmd_to_control(CTRL_MSG_SUBTYPE_CMD_ENTER_ROOT, &ap_small_keyboard_hdl, TRUE);
			break;
/////////////////////////////////////////////////////////////////////////////////////////////////			
		case VACT_NUM_0://edit INDEX
			if(p_ui_key_input_data->key_total_number==0)
				break;
			set_small_keyboard_type(WIN_EDIT_INDEX,win_key_input_INDEX_recover);
			set_small_keyboard_name(p_ui_key_input_data->p_StrINDEX[win_key_input.FocusObjectID-1]);
			ap_send_cmd_to_control(CTRL_MSG_SUBTYPE_CMD_ENTER_ROOT, &ap_small_keyboard_hdl, TRUE);
			break;
		case VACT_NUM_1://edit ID
			if(p_ui_key_input_data->key_total_number==0)
				break;
			set_small_keyboard_type(WIN_EDIT_ID,win_key_input_ID_recover);
			set_small_keyboard_name(p_ui_key_input_data->p_StrID[win_key_input.FocusObjectID-1]);
			ap_send_cmd_to_control(CTRL_MSG_SUBTYPE_CMD_ENTER_ROOT, &ap_small_keyboard_hdl, TRUE);
			break;
///////////////////////////////////////////////////////////////////			
		default:
			bResult = PROC_PASS;
	}
	return bResult;

}

BYTE win_key_input_menu_proc(UINT32 msgtype, UINT32 msgSubType, UINT32 msgcode,struct  WinReturnInfo * p_Return_Info)
{
	UINT8 bResult = PROC_PASS;
	WINDOW* pW =&win_key_input;

	p_ui_ki_ReturnInfo= p_Return_Info;
	p_ui_ki_ReturnInfo->type=WIN_NONE;

	if(CTL_MSG_TYPE_KEY == msgtype)
	{
		bResult = OSD_RespondKey(pW, msgcode, 0, 0);
		OSD_UpdateWinVscr(pW, FALSE);
	}
	else if(CTL_MSG_TYPE_CMD== msgtype && CTRL_MSG_SUBTYPE_CMD_EXIT_ROOT == msgSubType)
	{
		bResult=PROC_LEAVE;
	}

	return bResult;
}

void win_key_input_update(struct WinReturnInfo* para, enum win_update_type update_type)
{
	WINDOW* pW = &win_key_input;
//	struct HelpItem MenuHelp[5];
	UINT16 str[32];
	UINT8 temp[32];
	BOOL save_flag;

	switch(update_type)
	{
		case WIN_UPDATE_CLOSE:
			OSD_CloseWindow(pW, OSD_FLASHDATA);
			OSD_UpdateWinVscr(pW, TRUE);
			break;
		case WIN_UPDATE_ALL:
			wincom_display_win(pW, FALSE);
			OSD_UpdateWinVscr(pW,FALSE);
			//wincom_open_title(WIN_TITLE_LEFT, WIN_TITLE_TOP, RS_COMMON_OFF, IM_MENUSMALL_02);
/*
			MenuHelp[0].uIconID = IM_HELP_OK;
			MenuHelp[0].uStrID = RS_TIP_EDIT;
			MenuHelp[1].uIconID = IM_RED;
			MenuHelp[1].uStrID = RS_HELP_DELETE;
			MenuHelp[2].uIconID = IM_GREEN;
			MenuHelp[2].uStrID = RS_HELP_ADD;
			MenuHelp[3].uIconID = IM_YELLOW;
			MenuHelp[3].uStrID = RS_COMMON_SAVE;
			MenuHelp[4].uIconID = IM_BLUE;
			MenuHelp[4].uStrID = RS_SORT_DEFAULT;
			wincom_show_help3(MenuHelp, 5, WIN_HELP_TOP, WIN_HELP_WIDTH);
*/
			OSD_WinVscrInit(pW);
			break;
		case WIN_UPDATE_DATA:
			switch(para->sub_type)
			{
				case KI_UPDATE_GLOBAL_POINT:
					p_ui_key_input_data=(cas_key_data*)para->para1;
					break;
				case KI_UPDATE_LIST:
					win_key_input_redraw_list();
					OSD_DrawTextField(&key_input_title,OSD_FLASHDATA);
					OSD_UpdateWinVscr(pW, FALSE);
					break;
				case KI_UPDATE_GET_FOCUS:
					para->para1=win_key_input.FocusObjectID-1;
					break;
				case KI_UPDATE_PPNAME:
					OSD_DrawTextField(&key_input_title,OSD_FLASHDATA);
					OSD_UpdateWinVscr(pW, FALSE);
					break;
				case KI_UPDATE_SET_FOCUS:
					win_key_input.FocusObjectID=para->para1+1;
					ap_key_input_set_listindex(p_ui_key_input_data->key_begin_number+win_key_input.FocusObjectID);
					break;
				case KI_UPDATE_SHOW_MSG:
					if(para->para1==1)
					{
			    		sprintf(temp,"Saving Data");
						ComAscStr2Uni(temp, str);
					}
					else
					{
			    		sprintf(temp,"Load Default");
						ComAscStr2Uni(temp, str);
					}
					win_compopup_set_frame(WIN_POPUP_TYPE_SMSG, 200, 150, 150, 100);
					win_compopup_set_msg(str, 0);
					win_compopup_open(TRUE, &save_flag);
					break;
				case KI_UPDATE_RECOVERY:
					osal_task_sleep(500);
					win_compopup_close();
					break;
			}
			break;
	}
}

struct winhandle_t win_key_input_handle =
{
	win_key_input_display,
	win_key_input_menu_proc,
	win_key_input_update
};

⌨️ 快捷键说明

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