📄 dcw_pb_window.c
字号:
}
else
{
if(g_pb.operate.operateType == PB_OPERATE_ADD_IN_SIM_E)
{
MMK_SetWinTitleExt(win_id,TXT_PB_ADD,FALSE);
}
else if(g_pb.operate.operateType == PB_OPERATE_LOCAL_NAME_E)
{
MMK_SetWinTitleExt(win_id,TXT_PB_MSISDN,FALSE);
}
else
{
MMK_SetWinTitleExt(win_id,STXT_MODIFY,FALSE);
}
}
MMK_SendMsg(win_id, MSG_FULL_PAINT, PNULL);
break;
case MSG_KEYUP_UP:
case MSG_KEYUP_DOWN:
if(MMK_GetActiveCtrlId(win_id) == nameCtrlId)
{
MMK_SetAtvCtrl(win_id, numberCtrlId);
}
else
{
MMK_SetAtvCtrl(win_id, nameCtrlId);
}
break;
case MSG_APP_OK:
case MSG_CTL_OK:
tempSimRecord = g_pb_simRecord;
DCW_PB_getSimRecordFromPage(&g_pb_simRecord);
if(g_pb.operate.operateType == PB_OPERATE_LOCAL_NAME_E)
{
cmpFlag = DCW_PB_twoRecordEqual
((void *)&g_pb_simRecord,(void *)&tempSimRecord,PHONEBOOK_SIM_STORAGE);
if(cmpFlag != 0)
{
DCW_PB_writeLocalRecordToSim(&g_pb_simRecord,g_pb.operate.listInfo.selectItemPtr[0]);
DCW_PB_openWindows(PNULL,&g_pb_completeWinTab);
}
else
{
MMK_CloseWin(win_id);
}
}
else
{
if(DCW_PB_simRecordIsValid(&g_pb_simRecord,&inValidFlag) == TRUE)
{
/* 生成拼音编码,用于排序 */
DCW_PB_usc2ToSpell(&g_pb_simRecord.outerName, &g_pb_simRecord.innerName);
/* 生成拼音首字母编码,用于快速排序 */
DCW_PB_spellToShortSpell(&g_pb_simRecord.innerName, &g_pb_simRecord.shortName);
// Animation start
g_pb.operate.processing = TRUE;
if(g_pb.operate.subOperateType == PB_SUB_OPERATE_MODIFY_ONE_RECORD_E)
{
pAddr = DCW_PB_getRecordAddr(g_pb.operate.listInfo.selectItemPtr[0]);
SCI_ASSERT(pAddr != PNULL);
index = pAddr->pos;
cmpFlag = DCW_PB_twoRecordEqual
((void *)&g_pb_simRecord,(void *)&g_pb.sim.recordPtr[index],PHONEBOOK_SIM_STORAGE);
if(cmpFlag != 0)
{
BOOLEAN back;
back = DCW_PB_WriteOneRecordToSim(&g_pb_simRecord,FALSE);
if(back == TRUE)
{
DCW_PB_adjustNumList((void *)&g_pb_simRecord,(void *)&g_pb.sim.recordPtr[index],PHONEBOOK_SIM_STORAGE,cmpFlag);
DCW_PB_ModifyOneRecordInSimList(index,&g_pb_simRecord);
}
}
else
{ /* 纪录没修改 */
g_pb.operate.processing = FALSE;
MMK_CloseWin(win_id);
}
}
else
{
BOOLEAN back;
back = DCW_PB_WriteOneRecordToSim(&g_pb_simRecord,TRUE);
if(back == TRUE)
{
DCW_PB_adjustNumList((void *)&g_pb_simRecord,PNULL,PHONEBOOK_SIM_STORAGE,PB_ADD_E);
DCW_PB_insertOneRecordToSimList(&g_pb_simRecord);
}
}
//等待ps消息
}
else
{
if(inValidFlag == PB_RECORD_NO_NAME)
{
DCW_PB_openWindows(PNULL,&g_pb_inputNameWinTab);
}
else
{
DCW_PB_openWindows(PNULL,&g_pb_inputphoneNumWinTab);
}
}
}
break;
case MMI_PB_ALERT_CLOSE_RETURN:
if(g_pb.operate.operateType == PB_OPERATE_LOCAL_NAME_E)
{
DCW_PB_closeWinUntilOneWinId(DCW_PB_getBaseWinId());
}
else if(DCW_PB_simRecordIsValid(&g_pb_simRecord,&inValidFlag) == FALSE)
{
if(inValidFlag == PB_RECORD_NO_NAME)
{
MMK_SetAtvCtrl(win_id, nameCtrlId);
}
else
{
MMK_SetAtvCtrl(win_id, numberCtrlId);
}
}
else
{
if(g_pb.operate.operateType == PB_OPERATE_ADD_IN_SIM_E ||
g_pb.operate.operateType == PB_OPERATE_ADD_NUM_TO_RECORD_E)
{
MMK_CloseWin(win_id);
}
else
{
DCW_PB_closeWinUntilOneWinId(DCW_PB_getBaseWinId());
}
}
break;
case MSG_APP_CANCEL:
case MSG_CTL_CANCEL:
MMK_CloseWin(win_id);
break;
default:
ret = MMI_RESULT_FALSE;
break;
}
return ret;
}
/* ***************************************************************************
* Function name : DCW_PB_handleEditNvRecordWinMsg
* Description : 窗口消息处理函数 窗口层次 Mainmenu.3.1
* Param : ...
* Return : ...
* Author: : *************
* Note : None
*****************************************************************************/
MMI_RESULT_E DCW_PB_handleEditNvRecordWinMsg(MMI_COMMON_WINDOW_ID_E win_id, MMI_MESSAGE_ID_E msg_id, DPARAM param)
{
uint8 i;
uint8 cmpFlag;
uint16 index;
uint16 inValidFlag;
T_PB_RECORD_ITEM_ADDR *pAddr;
MMI_RESULT_E ret = MMI_RESULT_TRUE;
MMI_COMMON_CTRL_ID_T nameCtrlId = DCW_PB_NV_NAME_EDITBOX_CTRL_ID;
MMI_COMMON_CTRL_ID_T homeNumberCtrlId = DCW_PB_NV_HOME_NUM_EDITBOX_CTRL_ID;
MMI_COMMON_CTRL_ID_T workNumberCtrlId = DCW_PB_NV_WORK_NUM_EDITBOX_CTRL_ID;
MMI_COMMON_CTRL_ID_T personNumberCtrlId = DCW_PB_NV_PERSON_NUM_EDITBOX_CTRL_ID;
MMI_COMMON_CTRL_ID_T mailCtrlId = DCW_PB_NV_MAIL_EDITBOX_CTRL_ID;
MMI_COMMON_CTRL_ID_T groupCtrlId = DCW_PB_NV_GROUP_DROP_CTRL_ID;
static MMI_COMMON_CTRL_ID_T ctrlId;
switch (msg_id)
{
case MSG_OPEN_WINDOW:
DCW_PB_setNvRecordToPage(win_id,&g_pb_nvRecord);
MMK_SetWinSoftkeyId(win_id, STXT_OK, COMMON_TXT_NULL, STXT_RETURN, FALSE);
MMK_SetAtvCtrl(win_id, nameCtrlId);
break;
case MSG_TP_PRESS_UP:
MMK_SetAtvCtrl(win_id, ctrlId);
break;
case MSG_CTL_NOTE_GETACTIVE:
ctrlId = MMK_GetActiveCtrlId(win_id);
if(ctrlId == nameCtrlId)
{
MMK_SetWinTitleExt(win_id,TXT_PB_NAME,FALSE);
}
else if(ctrlId == groupCtrlId)
{
MMK_SetWinTitleExt(win_id,TXT_PB_GROUP,FALSE);
}
else if(ctrlId == personNumberCtrlId)
{
MMK_SetWinTitleExt(win_id,TXT_PB_PRIVATE_NUMVER,FALSE);
}
else if(ctrlId == workNumberCtrlId)
{
MMK_SetWinTitleExt(win_id,TXT_PB_OFFICE_NUMVER,FALSE);
}
else if(ctrlId == homeNumberCtrlId)
{
MMK_SetWinTitleExt(win_id,TXT_PB_HOME_NUMVER,FALSE);
}
else if(ctrlId == mailCtrlId)
{
MMK_SetWinTitleExt(win_id,TXT_PB_MAIL,FALSE);
}
else
{
if(g_pb.operate.operateType == PB_OPERATE_ADD_IN_NV_E)
{
MMK_SetWinTitleExt(win_id,TXT_PB_ADD,FALSE);
}
else
{
MMK_SetWinTitleExt(win_id,STXT_MODIFY,FALSE);
}
}
MMK_SendMsg(win_id, MSG_FULL_PAINT, PNULL);
break;
case MSG_APP_UP:
if(MMK_GetActiveCtrlId(win_id) == nameCtrlId)
{
MMK_SetAtvCtrl(win_id, mailCtrlId);
}
else if(MMK_GetActiveCtrlId(win_id) == groupCtrlId)
{
MMK_SetAtvCtrl(win_id, nameCtrlId);
}
else if(MMK_GetActiveCtrlId(win_id) == personNumberCtrlId)
{
MMK_SetAtvCtrl(win_id, groupCtrlId);
}
else if(MMK_GetActiveCtrlId(win_id) == workNumberCtrlId)
{
MMK_SetAtvCtrl(win_id, personNumberCtrlId);
}
else if(MMK_GetActiveCtrlId(win_id) == homeNumberCtrlId)
{
MMK_SetAtvCtrl(win_id, workNumberCtrlId);
}
else if(MMK_GetActiveCtrlId(win_id) == mailCtrlId)
{
MMK_SetAtvCtrl(win_id, homeNumberCtrlId);
}
else
{
MMK_SetAtvCtrl(win_id, nameCtrlId);
}
break;
case MSG_APP_DOWN:
if(MMK_GetActiveCtrlId(win_id) == nameCtrlId)
{
MMK_SetAtvCtrl(win_id, groupCtrlId);
}
else if(MMK_GetActiveCtrlId(win_id) == groupCtrlId)
{
MMK_SetAtvCtrl(win_id, personNumberCtrlId);
}
else if(MMK_GetActiveCtrlId(win_id) == personNumberCtrlId)
{
MMK_SetAtvCtrl(win_id, workNumberCtrlId);
}
else if(MMK_GetActiveCtrlId(win_id) == workNumberCtrlId)
{
MMK_SetAtvCtrl(win_id, homeNumberCtrlId);
}
else if(MMK_GetActiveCtrlId(win_id) == homeNumberCtrlId)
{
MMK_SetAtvCtrl(win_id, mailCtrlId);
}
else if(MMK_GetActiveCtrlId(win_id) == mailCtrlId)
{
MMK_SetAtvCtrl(win_id, nameCtrlId);
}
else
{
MMK_SetAtvCtrl(win_id, nameCtrlId);
}
break;
case MSG_APP_OK:
case MSG_CTL_OK:
DCW_PB_getNvRecordFromPage(&g_pb_nvRecord);
if(DCW_PB_nvRecordIsValid(&g_pb_nvRecord,&inValidFlag) == TRUE)
{
/* 生成拼音编码,用于排序 */
DCW_PB_usc2ToSpell(&g_pb_nvRecord.outerName, &g_pb_nvRecord.innerName);
/* 生成拼音首字母编码,用于快速排序 */
DCW_PB_spellToShortSpell(&g_pb_nvRecord.innerName, &g_pb_nvRecord.shortName);
if(g_pb.operate.subOperateType == PB_SUB_OPERATE_MODIFY_ONE_RECORD_E)
{
pAddr = DCW_PB_getRecordAddr(g_pb.operate.listInfo.selectItemPtr[0]);
SCI_ASSERT(pAddr != PNULL);
index = pAddr->pos;
cmpFlag = DCW_PB_twoRecordEqual
((void *)&g_pb_nvRecord,(void *)&g_pb.nv.recordPtr[index],PHONEBOOK_NV_STORAGE);
if(cmpFlag != 0)
{
// Animation start
g_pb.operate.processing = TRUE;
DCW_PB_WriteOneRecordToNv(&g_pb_nvRecord,FALSE);
DCW_PB_adjustNumList((void *)&g_pb_nvRecord,(void *)&g_pb.nv.recordPtr[index],PHONEBOOK_NV_STORAGE,cmpFlag);
DCW_PB_ModifyOneRecordInNvList(index,&g_pb_nvRecord);
g_pb.operate.processing = FALSE;
// Animation end
DCW_PB_openWindows(PNULL,&g_pb_completeWinTab);
}
else
{
MMK_CloseWin(win_id);
}
}
else
{
// Animation start
g_pb.operate.processing = TRUE;
SCI_TRACE_LOW("\r\n--DCW_PB_handleEditNvRecordWinMsg----7");
DCW_PB_WriteOneRecordToNv(&g_pb_nvRecord,TRUE);
SCI_TRACE_LOW("\r\n--DCW_PB_handleEditNvRecordWinMsg----8");
DCW_PB_adjustNumList((void *)&g_pb_nvRecord,PNULL,PHONEBOOK_NV_STORAGE,PB_ADD_E);
SCI_TRACE_LOW("\r\n--DCW_PB_handleEditNvRecordWinMsg----9");
DCW_PB_insertOneRecordToNvList(&g_pb_nvRecord);
g_pb.operate.processing = FALSE;
// Animation end
DCW_PB_openWindows(PNULL,&g_pb_completeWinTab);
}
}
else
{
if(inValidFlag == PB_RECORD_NO_NAME)
{
DCW_PB_openWindows(PNULL,&g_pb_inputNameWinTab);
}
else
{
DCW_PB_openWindows(PNULL,&g_pb_inputphoneNumWinTab);
}
}
break;
case MMI_PB_ALERT_CLOSE_RETURN:
if(DCW_PB_nvRecordIsValid(&g_pb_nvRecord,&inValidFlag) == FALSE)
{
if(inValidFlag == PB_RECORD_NO_NAME)
{
MMK_SetAtvCtrl(win_id, nameCtrlId);
}
else
{
MMK_SetAtvCtrl(win_id, homeNumberCtrlId);
}
}
else
{
if(g_pb.operate.operateType == PB_OPERATE_ADD_IN_NV_E)
{
MMK_CloseWin(win_id);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -