📄 mmismsmenu.c
字号:
TRACE_FUNCTION ("M_callVoice()");
win = V_create (parent_win);
if (win NEQ NULL)
{
SEND_EVENT (win, E_INIT, V_ID_CALL, 0);
}
return 1;
}
/*******************************************************************************
$Function: M_exeBroadcast
$Description: This function is called when the user press Cell Broadcast
in the main SMS menu.
$Returns: Execution status
$Arguments: m - menu handler
i - Menu item selected
*******************************************************************************/
int M_exeBroadcast(MfwMnu* m, MfwMnuItem* i)
{
T_MFW_HND win = mfwParent(mfw_header());
smscb_M_CB_start(win, 0);
return 1;
}
/*******************************************************************************
$Function: ExeSms_sendM_SND_SAV
$Description: Called when the user press Saved SMS from the Send SMS menu
$Returns: Execution status
$Arguments: m - menu handler
i - Menu item selected
*******************************************************************************/
static int ExeSms_sendM_SND_SAV(MfwMnu* m, MfwMnuItem* i)
{
T_MFW_HND win = mfwParent(mfw_header());
return 1;
}
/*******************************************************************************
$Function: M_SND_SAV_start
$Description: Start the creation of the saved SMS menu window
$Returns: Execution status
$Arguments: parent_window - parent window
menuAttr - Menu attributes.
*******************************************************************************/
T_MFW_HND M_SND_SAV_start(T_MFW_HND parent_window, MfwMnuAttr *menuAttr)
{
T_MFW_HND win;
TRACE_FUNCTION ("M_SND_SAV_start()");
win = M_SND_SAV_create (parent_window);
if (win NEQ NULL)
{
SEND_EVENT (win, E_INIT, M_SND_SAV_ID, (void *)menuAttr);
}
return win;
}
/*******************************************************************************
$Function: M_SND_SAV_create
$Description: Create the saved SMS menu window
$Returns: Execution status
$Arguments: parent_window - parent window
*******************************************************************************/
static T_MFW_HND M_SND_SAV_create(MfwHnd parent_window)
{
T_M_SND_SAV * data = (T_M_SND_SAV *)ALLOC_MEMORY (sizeof (T_M_SND_SAV));
T_MFW_WIN * win;
TRACE_FUNCTION ("M_SND_SAV_create()");
/*
* Create window handler
*/
data->win =
win_create (parent_window, 0, E_WIN_VISIBLE, (T_MFW_CB)M_SND_SAV_win_cb);
if (data->win EQ NULL)
{
return NULL;
}
/*
* connect the dialog data to the MFW-window
*/
data->mmi_control.dialog = (T_DIALOG_FUNC)M_SND_SAV_exec_cb;
data->mmi_control.data = data;
win = ((T_MFW_HDR *)data->win)->data;
win->user = (void *)data;
data->parent = parent_window;
/*
* return window handle
*/
return data->win;
}
/*******************************************************************************
$Function: M_SND_SAV_destroy
$Description: Destroy the saved SMS menu window
$Returns: none
$Arguments: own_window - current window
*******************************************************************************/
static void M_SND_SAV_destroy(MfwHnd own_window)
{
T_MFW_WIN * win_data;
T_M_SND_SAV * data;
TRACE_FUNCTION ("M_SND_SAV_destroy()");
if (own_window)
{
win_data = ((T_MFW_HDR *)own_window)->data;
data = (T_M_SND_SAV *)win_data->user;
if (data)
{
/*
* Delete WIN handler
*/
win_delete (data->win);
/*
* Free Memory
*/
FREE_MEMORY ((void *)data->user_data, sizeof (T_SmsUserData));
FREE_MEMORY ((void *)data, sizeof (T_M_SND_SAV));
}
else
{
TRACE_EVENT ("M_SND_SAV_destroy() called twice");
}
}
}
/*******************************************************************************
$Function: M_SND_SAV_exec_cb
$Description: Exec callback for the saved SMS menu window
$Returns: none
$Arguments: win - current window
event - window event id
value - Unique Id
parameter - optional data.
*******************************************************************************/
void M_SND_SAV_exec_cb (T_MFW_HND win, USHORT event, SHORT value, void * parameter)
/* callback handler for events sent to to trigger execution */
{
T_MFW_WIN * win_data = ((T_MFW_HDR *) win)->data;
T_M_SND_SAV * data = (T_M_SND_SAV *)win_data->user;
T_MFW_HND * l_parent;
SHORT l_id;
TRACE_FUNCTION ("M_SND_SAV_exec_cb()");
switch (event)
{
case E_INIT:
/* initialization of administrative data */
data->id = value;
data->user_data = (T_SmsUserData *)ALLOC_MEMORY (sizeof (T_SmsUserData));
/*MC SPR 1257, clear whole buffer in case of Unicode entry*/
if(FFS_flashData.ConcatenateStatus == TRUE)
memset( data->user_data->TextBuffer, '\0', MAX_MSG_LEN_SGL);
else
memset( data->user_data->TextBuffer, '\0', MAX_MSG_LEN);
data->user_data->NumberBuffer[0] = '\0';
/* initialization of the dialog data */
/* create the dialog handler */
data->kbd = kbdCreate(data->win,KEY_ALL, (MfwCb)M_SND_SAV_kbd_cb);
data->kbd_long = kbdCreate(data->win,KEY_ALL|KEY_LONG,(MfwCb)M_SND_SAV_kbd_cb);
/* put the (new) dialog window on top of the window stack */
mnuUnhide(data->menu);
winShow(win);
break;
case E_ABORT:
case E_EXIT:
l_parent = data->parent;
l_id = data->id;
M_SND_SAV_destroy(data->win);
SEND_EVENT (l_parent, event, l_id, NULL); /* forward event to parent */
break;
case E_RETURN:
default:
return;
}
}
/*******************************************************************************
$Function: M_SND_SAV_mnu_cb
$Description: Menu callback for the saved SMS menu window
$Returns: Execution status
$Arguments: e - event id
m - menu handle
*******************************************************************************/
static int M_SND_SAV_mnu_cb (MfwEvt e, MfwMnu *m)
/* M_SND_SAV menu event handler */
{
T_MFW_HND win = mfwParent(mfw_header());
T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
T_M_SND_SAV * data = (T_M_SND_SAV *)win_data->user;
T_MFW_HND * l_parent;
SHORT l_id;
TRACE_FUNCTION ("M_SND_SAV_mnu_cb()");
switch (e)
{
case E_MNU_ESCAPE: /* back to previous menu */
l_parent = data->parent;
l_id = data->id;
M_SND_SAV_destroy(data->win);
SEND_EVENT (data->parent, E_RETURN, data->id, NULL);
break;
default: /* in mnuCreate() only E_MNU_ESCAPE has been enabled! */
return MFW_EVENT_REJECTED;
}
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: M_SND_SAV_win_cb
$Description: Window callback for the saved SMS menu window
$Returns: Execution status
$Arguments: e - event id
m - window handle
*******************************************************************************/
static int M_SND_SAV_win_cb (MfwEvt e, MfwWin *w)
/* M_SND_SAV window event handler */
{
TRACE_FUNCTION ("M_SND_SAV_win_cb()");
switch (e)
{
case MfwWinVisible: /* window is visible */
displaySoftKeys(TxtSoftSelect,TxtSoftBack);
break;
case MfwWinFocussed: /* input focus / selected */
case MfwWinDelete: /* window will be deleted */
default:
return MFW_EVENT_REJECTED;
}
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: M_SND_SAV_kbd_cb
$Description: Keyboard callback for the saved SMS menu window
$Returns: Execution status
$Arguments: e - event id
k - keyboard info
*******************************************************************************/
static int M_SND_SAV_kbd_cb (MfwEvt e, MfwKbd *k)
/* M_SND_SAV keyboard event handler */
{
T_MFW_HND win = mfwParent(mfw_header());
T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
T_M_SND_SAV * data = (T_M_SND_SAV *)win_data->user;
TRACE_FUNCTION ("M_SND_SAV_kbd_cb()");
if (e & KEY_LONG)
{
switch (k->code)
{
case KCD_HUP: /* back to previous menu */
mnuEscape(data->menu);
break;
case KCD_RIGHT: /* Power Down */
return MFW_EVENT_REJECTED; /* handled by idle */
default: /* no response to all other keys */
return MFW_EVENT_CONSUMED;
}
}
else
{
switch (k->code)
{
case KCD_MNUUP: /* highlight previous entry */
mnuUp(data->menu);
winShow(win);
break;
case KCD_MNUDOWN: /* highlight next entry */
mnuDown(data->menu);
winShow(win);
break;
case KCD_LEFT: /* activate this entry */
mnuSelect(data->menu);
break;
case KCD_HUP: /* back to previous menu */
case KCD_RIGHT: /* back to previous menu */
mnuEscape(data->menu);
break;
default: /* no response to all other keys */
return MFW_EVENT_CONSUMED;
}
}
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: M_DEL_ALL_start
$Description: Start the delete all window dialog.
$Returns: window handler
$Arguments: parent_window - parent window
menuAttr - Menu attributes.
*******************************************************************************/
T_MFW_HND M_DEL_ALL_start(T_MFW_HND parent_window, MfwMnuAttr *menuAttr)
{
T_MFW_HND win;
TRACE_FUNCTION ("M_DEL_ALL_start()");
win = M_DEL_ALL_create (parent_window);
if (win NEQ NULL)
{
SEND_EVENT (win, E_INIT, M_DEL_ALL_ID, (void *)menuAttr);
}
return win;
}
/*******************************************************************************
$Function: M_DEL_ALL_create
$Description: Create the delete all window
$Returns: window handler
$Arguments: parent_window - parent window
*******************************************************************************/
static T_MFW_HND M_DEL_ALL_create(MfwHnd parent_window)
{
T_M_DEL_ALL * data = (T_M_DEL_ALL *)ALLOC_MEMORY (sizeof (T_M_DEL_ALL));
T_MFW_WIN * win;
TRACE_FUNCTION ("M_DEL_ALL_create()");
/*
* Create window handler
*/
data->win =
win_create (parent_window, 0, E_WIN_VISIBLE, (T_MFW_CB)M_DEL_ALL_win_cb);
if (data->win EQ NULL)
{
return NULL;
}
/*
* connect the dialog data to the MFW-window
*/
data->mmi_control.dialog = (T_DIALOG_FUNC)M_DEL_ALL_exec_cb;
data->mmi_control.data = data;
win = ((T_MFW_HDR *)data->win)->data;
win->user = (void *)data;
data->parent = parent_window;
/*
* return window handle
*/
return data->win;
}
/*******************************************************************************
$Function: M_DEL_ALL_destroy
$Description: Destroy the delete all window
$Returns: none
$Arguments: own_window - current window
*******************************************************************************/
static void M_DEL_ALL_destroy(MfwHnd own_window)
{
T_MFW_WIN * win_data;
T_M_DEL_ALL * data;
TRACE_FUNCTION ("M_DEL_ALL_destroy()");
if (own_window)
{
win_data = ((T_MFW_HDR *)own_window)->data;
data = (T_M_DEL_ALL *)win_data->user;
if (data)
{
/*
* Delete WIN handler
*/
if (data->waiting_win)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -