📄 dcw_pb_ctrl.c
字号:
MMI_GetLabelTextByLang(TXT_PB_SPACE_NAME,&defaultStr);
itemPtr->is_ucs2 = defaultStr.is_ucs2;
itemPtr->str_len = MIN(LISTBOX_STRING_MAX_NUM, defaultStr.length);
SCI_MEMCPY(itemPtr->str, defaultStr.str_ptr, itemPtr->str_len);
}
}
/* ***************************************************************************
* Function name : DCW_PB_getRecordPhoneNumberForList
* Description : 得到一条电话号码的显示,(电话号码为空,则需要添加默认字符串)
* Param : item : Listbox的一个条目
numberInfo : 电话号码
offset;记录中的第几个电话
* Return : None
* Author: : *************
* Note : None
*****************************************************************************/
void DCW_PB_getRecordPhoneNumberForList(GUI_LISTBOX_ITEM_T *itemPtr,T_PB_BCD_NUMBER *numPtr,uint8 offset)
{
MMI_STRING_T defaultStr;
T_PB_L_STRING numStr;
itemPtr->is_invalid = FALSE;
itemPtr->is_ucs2 = FALSE;
switch(offset)
{
case 0:
itemPtr->left_icon_id = IMAGE_PHONEBOOK_SELF_NUMBER;
break;
case 1:
itemPtr->left_icon_id = IMAGE_PHONEBOOK_HOME_NUMBER;
break;
case 2:
itemPtr->left_icon_id = IMAGE_PHONEBOOK_COMPANY_NUMBER;
break;
default:
break;
}
numStr.len = MMI_GenDispNumber(DCW_PB_GetBcdNumberType(numPtr->npi_ton), numPtr->len,
numPtr->number,numStr.array,DCW_PB_L_STR_MAX_LEN );
if(numStr.len > 0)
{
itemPtr->str_len = MIN(numStr.len,LISTBOX_STRING_MAX_NUM);
SCI_MEMCPY(itemPtr->str, numStr.array, itemPtr->str_len);
}
else
{
MMI_GetLabelTextByLang(TXT_PB_SPACE_PHONE, &defaultStr);
itemPtr->is_ucs2 = defaultStr.is_ucs2;
itemPtr->str_len = (uint8)MIN(LISTBOX_STRING_MAX_NUM, defaultStr.length);
SCI_MEMCPY(itemPtr->str,defaultStr.str_ptr,itemPtr->str_len);
}
}
/* ***************************************************************************
* Function name : DCW_PB_getRecordMailForList
* Description : 得到电子邮件的显示,(电子邮件为空,则需要添加默认字符串)
* Param : item : Listbox的一个条目
mail : 电子邮件
* Return : None
* Author: : *************
* Note : None
*****************************************************************************/
void DCW_PB_getRecordMailForList(GUI_LISTBOX_ITEM_T *itemPtr,T_PB_L_STRING *mailPtr)
{
MMI_STRING_T defaultStr;
itemPtr->is_invalid = FALSE;
itemPtr->left_icon_id = IMAGE_PHONEBOOK_MAIL_ADDRESS;
if(mailPtr->len > 0)
{
itemPtr->str_len = (uint8)MIN(LISTBOX_STRING_MAX_NUM, mailPtr->len);
itemPtr->is_ucs2 = mailPtr->ucs2;
SCI_MEMCPY(itemPtr->str,mailPtr->array,itemPtr->str_len);
}
else
{
MMI_GetLabelTextByLang(TXT_PB_SPACE_MAIL,&defaultStr);
itemPtr->is_ucs2 = defaultStr.is_ucs2;
itemPtr->str_len = (uint8)MIN(LISTBOX_STRING_MAX_NUM, defaultStr.length);
SCI_MEMCPY(itemPtr->str,defaultStr.str_ptr,itemPtr->str_len);
}
}
/* ***************************************************************************
* Function name : DCW_PB_getRecordGroupForList
* Description : 得到组信息的显示,(组信息为空,则需要添加默认字符串)
* Param : item : Listbox的一个条目
groupId : 组ID
* Return : None
* Author: : *************
* Note : None
*****************************************************************************/
void DCW_PB_getRecordGroupForList(GUI_LISTBOX_ITEM_T *itemPtr,uint8 groupId)
{
uint16 index;
MMI_STRING_T groupName;
SCI_ASSERT(groupId < DCW_PB_MAX_GROUP_NUM);
itemPtr->is_invalid = FALSE;
itemPtr->left_icon_id = IMAGE_PHONEBOOK_GROUP;
index = g_pb.group.index[groupId];
SCI_ASSERT(index < DCW_PB_MAX_GROUP_NUM);
if(index < DCW_PB_MIN_GROUP_NUM)
{
MMI_GetLabelTextByLang((uint16)(TXT_PB_DEFAULT_GROUP_0 + index), &groupName);
itemPtr->is_ucs2 = groupName.is_ucs2;
itemPtr->str_len = MIN(LISTBOX_STRING_MAX_NUM,groupName.length);
SCI_MEMCPY(itemPtr->str,groupName.str_ptr,itemPtr->str_len);
}
else if(g_pb.group.groupName[index].len > 0)
{
itemPtr->str_len = (uint8)MIN(LISTBOX_STRING_MAX_NUM, g_pb.group.groupName[groupId].len);
itemPtr->is_ucs2 = g_pb.group.groupName[groupId].ucs2;
SCI_MEMCPY(itemPtr->str,g_pb.group.groupName[groupId].array,itemPtr->str_len);
}
else
{
MMI_GetLabelTextByLang((uint16)TXT_PB_DEFAULT_GROUP_0, &groupName);
itemPtr->is_ucs2 = groupName.is_ucs2;
itemPtr->str_len = MIN(LISTBOX_STRING_MAX_NUM,groupName.length);
SCI_MEMCPY(itemPtr->str,groupName.str_ptr,itemPtr->str_len);
}
}
/* ***************************************************************************
* Function name : DCW_PB_createGroupNameList
* Description : 得到组名字列表
* Param : ctrlId : 控件ID
build : 是新建列表,还是重新生成列表
* Return : None
* Author: : *************
* Note : None
*****************************************************************************/
void DCW_PB_createGroupNameList(MMI_COMMON_CTRL_ID_T ctrlId,BOOLEAN build)
{
uint16 i;
uint16 index;
GUI_LISTBOX_ITEM_T item;
MMI_STRING_T groupName;
if(build == FALSE)
{
GUILISTBOX_RemoveAllItems(ctrlId);
}
GUILISTBOX_SetMaxItem(ctrlId, g_pb.group.amount);
SCI_MEMSET(&item, 0x00, sizeof (GUI_LISTBOX_ITEM_T));
item.softkey_id[LEFT_BUTTON] = STXT_OK;
item.softkey_id[MIDDLE_BUTTON] = COMMON_TXT_NULL;
item.softkey_id[RIGHT_BUTTON] = STXT_RETURN;
item.is_invalid = FALSE;
MMI_GetLabelTextByLang((uint16)(TXT_PB_ADD_NEW_GROUP), &groupName);
item.is_ucs2 = groupName.is_ucs2;
item.str_len = MIN(LISTBOX_STRING_MAX_NUM,groupName.length);
SCI_MEMCPY(item.str,groupName.str_ptr,item.str_len);
GUILISTBOX_AppendItem(ctrlId, &item);
for(i = 1; i < g_pb.group.amount;i++)
{
index = g_pb.group.index[i];
if(index < DCW_PB_MIN_GROUP_NUM)
{
MMI_GetLabelTextByLang((uint16)(TXT_PB_DEFAULT_GROUP_0 + index), &groupName);
item.is_ucs2 = groupName.is_ucs2;
item.str_len = MIN(LISTBOX_STRING_MAX_NUM,groupName.length);
SCI_MEMCPY(item.str,groupName.str_ptr,item.str_len);
}
else if(g_pb.group.groupName[index].len > 0)
{
item.str_len = (uint8)MIN(LISTBOX_STRING_MAX_NUM, g_pb.group.groupName[index].len);
item.is_ucs2 = g_pb.group.groupName[index].ucs2;
SCI_MEMCPY(item.str,g_pb.group.groupName[index].array,item.str_len);
}
else
{
SCI_ASSERT(FALSE);
}
GUILISTBOX_AppendItem(ctrlId, &item);
}
}
/* ***************************************************************************
* Function name : DCW_PB_setGropuNameEditBox
* Description : 为组名编辑框设置默认的名字
* Param : ctrlId : 控件ID
* Return : None
* Author: : *************
* Note : None
*****************************************************************************/
void DCW_PB_setGropuNameEditBox(MMI_COMMON_CTRL_ID_T ctrlId)
{
uint8 groupId;
MMI_STRING_T groupName;
T_PB_M_STRING name;
uint16 i;
groupId = g_pb.group.index[g_pb.group.curIndex];
if(groupId == 0)
{
for(i = DCW_PB_MIN_GROUP_NUM; i < DCW_PB_MAX_GROUP_NUM;i++)
{
if(g_pb.group.groupName[i].len == 0)
{
break;
}
}
MMI_GetLabelTextByLang((uint16)TXT_PB_DEFAULT_GROUP_0 + i, &groupName);
name.ucs2 = groupName.is_ucs2;
name.len = MIN(DCW_PB_MAX_GROUP_NAME_LEN,groupName.length);
SCI_MEMCPY(name.array,groupName.str_ptr,name.len);
}
else if(groupId >= DCW_PB_MIN_GROUP_NUM && groupId < DCW_PB_MAX_GROUP_NUM)
{
name.len = (uint8)MIN(DCW_PB_MAX_GROUP_NAME_LEN, g_pb.group.groupName[groupId].len);
name.ucs2 = g_pb.group.groupName[groupId].ucs2;
SCI_MEMCPY(name.array,g_pb.group.groupName[groupId].array,name.len);
}
else
{
SCI_ASSERT(FALSE);
}
GUIEDITBOX_SetTextEditBoxStringInfo(ctrlId, name.array, name.len, name.ucs2);
GUIEDITBOX_SetEditBoxStyle(ctrlId, SONG_FONT_16, 0x0000, 0xffff);
}
/* ***************************************************************************
* Function name : DCW_PB_loadUsedSpaceInfo
* Description : 装载使用空间的信息
* Param : ctrlId : 控件ID
* Return : None
* Author: : *************
* Note : None
*****************************************************************************/
void DCW_PB_loadUsedSpaceInfo(MMI_COMMON_CTRL_ID_T ctrlId)
{
GUI_LISTBOX_ITEM_T item;
MMI_STRING_T str;
SCI_MEMSET(&item, 0, sizeof (GUI_LISTBOX_ITEM_T));
item.softkey_id[LEFT_BUTTON] = STXT_OK;
item.softkey_id[MIDDLE_BUTTON] = COMMON_TXT_NULL;
item.softkey_id[RIGHT_BUTTON] = STXT_RETURN;
item.is_invalid = FALSE;
item.is_ucs2 = FALSE;
item.left_icon_id = IMAGE_PHONEBOOK_SIM;
MMI_GetLabelTextByLang(TXT_PB_ADD_IN_SIM, &str);
item.is_ucs2 = str.is_ucs2;
item.str_len = MIN(str.length,LISTBOX_STRING_MAX_NUM);
SCI_MEMCPY(item.str, str.str_ptr, item.str_len);
GUILISTBOX_AppendItem(ctrlId, &item);
item.is_ucs2 = FALSE;
item.str_len = sprintf((char *)(item.str), "%d/%d", g_pb.sim.usedRecord,g_pb.sim.maxRecord);
GUILISTBOX_AppendItem(ctrlId, &item);
item.left_icon_id = IMAGE_PHONEBOOK_PHONE;
MMI_GetLabelTextByLang(TXT_PB_ADD_IN_NV, &str);
item.is_ucs2 = str.is_ucs2;
item.str_len = MIN(LISTBOX_STRING_MAX_NUM, str.length);
SCI_MEMCPY(item.str, str.str_ptr, item.str_len);
GUILISTBOX_AppendItem(ctrlId, &item);
item.is_ucs2 = FALSE;
item.str_len = sprintf((char *)(item.str),"%d/%d", g_pb.nv.usedRecord,g_pb.nv.maxRecord);
GUILISTBOX_AppendItem(ctrlId, &item);
}
BOOLEAN DCW_PB_isCurItemSelect(MMI_COMMON_CTRL_ID_T ctrlId)
{
uint16 i;
uint16 index;
BOOLEAN flag = FALSE;
index = GUILISTBOX_GetCurItemIndex(ctrlId);
g_pb.operate.listInfo.selectNumber = GUILISTBOX_GetSelectedItemIdx(ctrlId, g_pb.operate.listInfo.selectItemPtr,
g_pb.operate.listInfo.selectMaxNumber);
for(i = 0; i < g_pb.operate.listInfo.selectNumber; i++)
{
if(g_pb.operate.listInfo.selectItemPtr[i] == index)
{
flag = TRUE;
break;
}
}
return flag;
}
void DCW_PB_DrawTitleWithNum(MMI_COMMON_WINDOW_ID_E win_id,MMI_TEXT_ID_T textId,uint16 num1, uint16 num2)
{
uint16 curLen;
uint16 strMaxLen;
MMI_STRING_T tilteName;
T_PB_L_STRING tileNameWithNum;
MMI_GetLabelTextByLang((uint16)textId, &tilteName);
tileNameWithNum.ucs2 = tilteName.is_ucs2;
tileNameWithNum.len = MIN(DCW_PB_L_STR_MAX_LEN - 10,tilteName.length);
SCI_MEMCPY(tileNameWithNum.array,tilteName.str_ptr,tileNameWithNum.len);
/* DCW_PB_DrawTitleWithNum(win_id,(void *)&tileNameWithNum.array[tileNameWithNum.len],&curLen,
DCW_PB_L_STR_MAX_LEN - tileNameWithNum.len - 1,num1,num2,tileNameWithNum.ucs2);*/
}
void DCW_PB_createLocalNameList(MMI_COMMON_CTRL_ID_T ctrlId)
{
uint16 nvPos = 0;
uint32 size;
uint16 i;
GUI_LISTBOX_ITEM_T addItem;
BOOLEAN ret;
if(GUILISTBOX_SetMaxItem(ctrlId, g_pb.sim_localName.maxRecord))
{
for(i = 0; i < g_pb.sim_localName.maxRecord; i++)
{
SCI_MEMSET(&addItem, 0x00, sizeof (GUI_LISTBOX_ITEM_T));
addItem.softkey_id[LEFT_BUTTON] = STXT_DETAIL;
addItem.softkey_id[MIDDLE_BUTTON] = COMMON_TXT_NULL;
addItem.softkey_id[RIGHT_BUTTON] = STXT_RETURN;
ret = DCW_PB_ReadOneRecordFromSim(&g_pb_simRecord,i,PHONEBOOK_MSISDN_STORAGE);
if(ret == TRUE)
{
addItem.is_ucs2 = g_pb_simRecord.outerName.ucs2;
addItem.str_len = MIN(g_pb_simRecord.outerName.len,LISTBOX_STRING_MAX_NUM);
SCI_MEMCPY(addItem.str, g_pb_simRecord.outerName.array, addItem.str_len);
}
if(addItem.str_len == 0)
{
MMI_STRING_T defaultStr;
MMI_GetLabelTextByLang(TXT_BLANK, &defaultStr);
addItem.is_ucs2 = defaultStr.is_ucs2;
addItem.str_len = MIN(defaultStr.length,LISTBOX_STRING_MAX_NUM);
SCI_MEMCPY(addItem.str, defaultStr.str_ptr, addItem.str_len);
}
addItem.left_icon_id = IMAGE_PHONEBOOK_SIM;
addItem.is_invalid = FALSE;
GUILISTBOX_AppendItem(ctrlId, &addItem);
}
}
if(g_pb.operate.listInfo.selectItemPtr != PNULL)
{
SCI_FREE(g_pb.operate.listInfo.selectItemPtr);
g_pb.operate.listInfo.selectItemPtr = PNULL;
}
if(g_pb.operate.listInfo.selectItemPtr != PNULL)
{
SCI_FREE(g_pb.operate.listInfo.selectItemPtr);
g_pb.operate.listInfo.selectItemPtr = PNULL;
}
SCI_ASSERT(g_pb.operate.listInfo.selectItemPtr == PNULL);
size = sizeof(uint16) * g_pb.operate.listInfo.selectMaxNumber;
g_pb.operate.listInfo.selectItemPtr = SCI_ALLOC(size);
SCI_ASSERT(g_pb.operate.listInfo.selectItemPtr != PNULL);
SCI_MEMSET(g_pb.operate.listInfo.selectItemPtr, 0, size);
g_pb.operate.listInfo.selectNumber = 0;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -