📄 win_key_input.c
字号:
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 + -