?? mmimt_pubwin.c
字號(hào):
/*****************************************************************************
** File Name: *
** Author: *
** Date: 2007/07/08 *
** Copyright: 2007 MTONE, Inc. All Rights Reserved. *
** Description: *
******************************************************************************
** Important Edit History *
** --------------------------------------------------------------------------*
** DATE NAME DESCRIPTION *
** 2007/07/08 Create *
*****************************************************************************/
#ifdef MMI_MTUNE
#include "mmipub.h"
#include "mmk_type.h"
#include "guianim.h"
#include "guitextbox.h"
#include "mmk_timer.h"
#include "guicommon.h"
#include "guilabel.h"
#include "guilcd.h"
#include "mmidisplay_data.h"
#include "guilcd.h"
#include "guisoftkey.h"
#include "mmimt_pubwin.h"
#include "mtune_text.h"
#include "mmimt_id.h"
#include "../mtdef.h"
#define MTVAR_REF
#include "../mt_var.h"
#include "../mt_var.def"
////////////////////////////////////////////////////////////////
///-----Local
#ifdef MTUNE_LCD_176_220
#define ALERT_TEXT_AREA_RECT {80,140,172,160}//{14,90,104,105}
#else
#define ALERT_TEXT_AREA_RECT MMI_PROMPT_TEXT_RECT
#endif
#define QUERY_TEXT_AREA_RECT ALERT_TEXT_AREA_RECT
extern MMI_APPLICATION_T g_main_app;
LOCAL void SetSoftkey(
MMIPUB_INFO_T *win_param_ptr
)
{
MMI_TEXT_ID_T left_sk_text_id;
MMI_TEXT_ID_T right_sk_text_id;
MMIPUB_SOFTKEY_STYLE_E softkey_type;
GUI_RECT_T softkey_rect = {0, MMI_MAINSCREEN_HEIGHT - MMI_FULLSCREEN_SOFTKEY_BAR_HEIGHT,
MMI_MAINSCREEN_RIGHT_MAX_PIXEL,MMI_MAINSCREEN_BOTTOM_MAX_PIXEL};
SCI_ASSERT(PNULL != win_param_ptr);
softkey_type = win_param_ptr->softkey_style;
SCI_ASSERT(softkey_type < MMIPUB_SOFTKEY_MAX);
if ((softkey_type != MMIPUB_SOFTKEY_CUSTOMER) && (softkey_type != MMIPUB_SOFTKEY_NONE))
{
switch (softkey_type)
{
case MMIPUB_SOFTKEY_OKCANCEL:
left_sk_text_id = STXT_OK;
right_sk_text_id = STXT_EXIT;
break;
case MMIPUB_SOFTKEY_OKEXIT:
left_sk_text_id = STXT_OK;
right_sk_text_id = STXT_CANCEL;
break;
case MMIPUB_SOFTKEY_ONE:
left_sk_text_id = 0;
right_sk_text_id = STXT_EXIT;
break;
default:
SCI_ASSERT(FALSE);
}
win_param_ptr->softkey_id[0] = left_sk_text_id;
win_param_ptr->softkey_id[1] = right_sk_text_id;
}
}
LOCAL BOOLEAN CreateLabelCtrl(
MMI_COMMON_WINDOW_ID_E win_id,
MMI_COMMON_CTRL_ID_T ctrl_id,
GUI_RECT_T* rect_ptr,
MMI_STRING_T* text_ptr,
GUI_COLOR_T back_color
)
{
BOOLEAN recode = FALSE;
GUI_LABEL_CTRL_T* label_ptr = PNULL;
label_ptr = GUILABEL_Init(rect_ptr, GUILABEL_CENTER, text_ptr, 0, win_id);
SCI_ASSERT(PNULL != label_ptr);
recode = MMK_CreateDynaCtrl(ctrl_id, TYPE_LABEL, win_id, label_ptr);
// @Great.Tian, CR17294
if (recode)
{
GUILABEL_SetBackgroundColorByPtr(label_ptr, back_color);
}
else
{
GUILABEL_Destroy((void*)label_ptr);
}
// GUILABEL_SetBackgroundColor(ctrl_id, back_color);
return recode;
}
///-----------
BOOLEAN MTPUBWIN_OpenPromptAlertWin( MT_PROMPT_TYPE prompt, MMI_TEXT_ID_T text_id, uint32 time_out, MMIPUB_HANDLE_FUNC func )
{
MMI_IMAGE_ID_T image_id[3];
image_id[MTPROMPT_ALERT] = _V(IMAGE_PUBWIN_WARNING);
image_id[MTPROMPT_SUCCESS] = _V(IMAGE_PUBWIN_SUCCESS);
image_id[MTPROMPT_WRONG] = _V(IMAGE_PUBWIN_FAIL);
// return PUBWIN_OpenPromptAlertWin( MMIPUB_SOFTKEY_ONE, text_id, image_id[prompt], time_out, func );
MMIPUB_OpenAlertWinByTextId(&time_out,text_id,NULL,image_id[prompt],PNULL,PNULL,MMIPUB_SOFTKEY_ONE,func);
return TRUE;
}
BOOLEAN MTPUBWIN_OpenPromptQueryWin( MMI_TEXT_ID_T text_id )
{
// return PUBWIN_OpenPromptQueryWin( text_id, _V(IMAGE_PROMPT_ICON_QUERY) );
MMIPUB_OpenQueryWinByTextId(text_id, _V(IMAGE_PUBWIN_QUERY), PNULL, PNULL);
return TRUE;
}
/*
BOOLEAN MTPUBWIN_OpenPromptQueryWinExtWithText( MMI_STRING_T *text_ptr, MMIPUB_HANDLE_FUNC func )
{
return PUBWIN_OpenPromptQueryWinExtWithText( text_ptr, _V(IMAGE_PUBWIN_QUERY), func );
}
*/
BOOLEAN MTPUBWIN_OpenPromptQueryWinExt2( MMI_TEXT_ID_T text_id, MMIPUB_HANDLE_FUNC func )
{
// return PUBWIN_OpenPromptQueryWinExt2( _V(MAIN_PROMPTQUERY_WIN_ID), text_id, _V(IMAGE_PUBWIN_QUERY), func );
MMIPUB_OpenQueryWinByTextId(text_id, _V(IMAGE_PUBWIN_QUERY), PNULL, func);
return TRUE;
}
BOOLEAN MT_PROMPT_GPRS_INAVAILABLE( void )
{
if ((!MMIPHONE_IsSimOk(MN_DUAL_SYS_1)) && (!MMIPHONE_IsSimOk(MN_DUAL_SYS_2)))
{
MMIPUB_OpenAlertWinByTextId(PNULL,TXT_NO_SIM,TXT_NULL,IMAGE_PUBWIN_WARNING,PNULL,PNULL,MMIPUB_SOFTKEY_ONE,PNULL);
return TRUE;
}
else if (!MT_IsCMCC_Network())
{
MMIPUB_OpenAlertWinByTextId(PNULL,TXT_MT_CMCC_ONLY,TXT_NULL,IMAGE_PUBWIN_WARNING,PNULL,PNULL,MMIPUB_SOFTKEY_ONE,PNULL);
return TRUE;
}
else
return MTPUBWIN_OpenPromptAlertWin( MTPROMPT_ALERT, TXT_MT_GPRS_INAVAILABLE, (3*MTMMI_5SECONDS), NULL );
}
BOOLEAN MT_PROMPT_Charge_Fail( void )
{
return MTPUBWIN_OpenPromptAlertWin( MTPROMPT_ALERT, TXT_MMI_MTUNE_PAY_FAIL, MTMMI_5SECONDS, NULL );
}
BOOLEAN MT_OpenPromptQueryWinWithText(
MMI_STRING_T* string, // text string
MMIPUB_HANDLE_FUNC func // call function
)
{
BOOLEAN recode = TRUE; // return value
GUI_RECT_T text_rect = QUERY_TEXT_AREA_RECT;
COMMON_MMI_IMAGE_ID_E image_id= _V(IMAGE_PUBWIN_WARNING); // image ptr
MMIPUB_INFO_T* win_param_ptr;
if (MMK_IsOpenWin(MMIMT_PROMPT_WIN_ID))
{
SCI_TRACE_LOW("PUBWIN_OpenPromptQueryWin: query window is opened already!");
return FALSE;
}
win_param_ptr = (MMIPUB_INFO_T*)SCI_ALLOC(sizeof(MMIPUB_INFO_T));
SCI_ASSERT(PNULL != win_param_ptr);
SCI_MEMSET(win_param_ptr, 0, sizeof(MMIPUB_INFO_T));
win_param_ptr->prompt_image_id = image_id;
win_param_ptr->softkey_style= MMIPUB_SOFTKEY_OKEXIT;
SetSoftkey(win_param_ptr);
MMITHEME_GetPubTheme(&win_param_ptr->pubwin_theme);
// 確定窗口的Function
if (PNULL != func)
{
#ifdef MMI_ENABLE_DUAL_SYS
recode = MMK_CreateDynaWin(
MMIMT_PROMPT_WIN_ID,
(PROCESSMSG_FUNC)func,
&g_main_app,
win_param_ptr,
WIN_ONE_LEVEL,
NULL,
WS_HAS_PROMPT_SOFTKEY,
NULL
);
#else
recode = MMK_CreateDynaWin(
MMIMT_PROMPT_WIN_ID,
(PROCESSMSG_FUNC)func,
&g_main_app,
win_param_ptr,
WIN_ONE_LEVEL,
NULL,
WS_HAS_PROMPT_SOFTKEY
);
#endif
}
else
{
#ifdef MMI_ENABLE_DUAL_SYS
recode = MMK_CreateDynaWin(
MMIMT_PROMPT_WIN_ID,
(PROCESSMSG_FUNC)MMIPUB_HandleQueryWinMsg,
&g_main_app,
win_param_ptr,
WIN_ONE_LEVEL,
NULL,
WS_HAS_PROMPT_SOFTKEY,
NULL
);
#else
recode = MMK_CreateDynaWin(
MMIMT_PROMPT_WIN_ID,
(PROCESSMSG_FUNC)MMIPUB_HandleQueryWinMsg,
&g_main_app,
win_param_ptr,
WIN_ONE_LEVEL,
NULL,
WS_HAS_PROMPT_SOFTKEY
);
#endif
}
CreateLabelCtrl(MMIMT_PROMPT_WIN_ID, MMIPUB_QUERY_LABEL_CTRL_ID, &text_rect, string, MMI_TRANSPARENCE_COLOR);
GUILABEL_SetFontParam(MMIPUB_QUERY_LABEL_CTRL_ID, MMI_DEFAULT_TEXT_FONT, MMI_DEFAULT_TEXT_COLOR, 0);//shormin
return recode;
}
#endif
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -