static MMI_BOOL vm_nmgr_global_popup_defer_callback(mmi_scenario_id scen_id, void *arg) { vm_confirm_property_struct *p = (vm_confirm_property_struct *)arg; mmi_confirm_property_struct confirm_arg; mmi_frm_group_enter(p->parentID, MMI_FRM_NODE_SMART_CLOSE_FLAG); mmi_confirm_property_init(&confirm_arg, CNFM_TYPE_USER_DEFINE); confirm_arg.parent_id = p->parentID; if (p->gpType == VM_CONFIRM_ONE_BUTTON_STR) { confirm_arg.softkey[0].str = (WCHAR *)(get_string(0)); confirm_arg.softkey[2].str = (WCHAR *)(p->btnText1); } else if (p->gpType == VM_CONFIRM_TWO_BUTTON_STR) { confirm_arg.softkey[0].str = (WCHAR *)(p->btnText1); confirm_arg.softkey[2].str = (WCHAR *)(p->btnText2); } confirm_arg.f_auto_map_empty_softkey = MMI_FALSE; confirm_arg.callback = (mmi_proc_func)(p->callBack); confirm_arg.user_tag = (void *)(p->userData); mmi_confirm_display((WCHAR *)(p->text), p->evtType, &confirm_arg); mmi_frm_asm_free_anonymous(p->text); mmi_frm_asm_free_anonymous(p->btnText1); if (p->gpType == VM_CONFIRM_TWO_BUTTON_STR) mmi_frm_asm_free_anonymous(p->btnText2); return MMI_TRUE; }
static void mmi_rmgr_format_popup_handler() { mmi_id g_id; g_id = mmi_frm_group_create(GRP_ID_ROOT, GRP_ID_RMGR_MAIN, mmi_rmgr_main_evt_hdlr, NULL); mmi_frm_group_enter(g_id, MMI_FRM_NODE_SMART_CLOSE_FLAG); mmi_rmgr_list_ro_entry_delete(); }
void avk_framework_entry_main() { g_avk_framework_ctx.auto_case_done_handle = avk_framework_auto_test_done; g_avk_framework_ctx.all_case_done_handle = avk_framework_test_done; g_avk_framework_fw_ctx.avk_framework_foreground = MMI_TRUE; mmi_frm_group_create(GRP_ID_ROOT, GRP_ID_AVK, avk_framework_group_proc, NULL); mmi_frm_group_enter(GRP_ID_AVK, MMI_FRM_NODE_SMART_CLOSE_FLAG); //if test all is running ,we will re in if (g_avk_framework_ctx.b_running) { avk_test_case* tmp_item[AVK_FRAMEWORK_MAX_ITEM_DEEP]; avk_test_case* item; S32 i = 0; item = g_avk_framework_fw_ctx.avk_framework_re_in_item; ASSERT(g_avk_framework_fw_ctx.avk_framework_re_in_item); do { tmp_item[i++] = item; item = item->parent; }while (item && item != g_avk_framework_ctx.root); avk_framework_entry_scr((U32)g_avk_framework_ctx.root); for (;i>0;i--) { avk_framework_entry_scr((U32)tmp_item[i-1]); } if (AVK_FRAMEWORK_IS_AUTO_CASE(g_avk_framework_ctx.current_case)) { //if auto cases is running avk_framework_entry_auto_cases_scr(tmp_item[0]); } else { //manual cases avk_framework_re_invoke_case(); } } else { //disable touch feedback gui_touch_feedback_disable_tone_internal(); gui_touch_feedback_disable_vibrate_internal(); // if (1 == avk_framework_core_init(vak_framework_entry_main_asm_callback)) { return; }; avk_framework_log_init(); avk_framework_entry_scr((U32)g_avk_framework_ctx.root); } }
/***************************************************************************** * FUNCTION * mmi_rmgr_list_ro_entry_option * DESCRIPTION * Entry function of the list ro option screen * PARAMETERS * void * RETURNS * void *****************************************************************************/ static void mmi_rmgr_list_ro_entry_option(void) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ U16 g_id; U16 menu_cui_id; /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ g_id = mmi_frm_group_create(GRP_ID_RMGR_MAIN, GRP_ID_RMGR_RO_OPTIONS, mmi_rmgr_ro_options_evt_hdlr, NULL); mmi_frm_group_enter(g_id, MMI_FRM_NODE_SMART_CLOSE_FLAG); menu_cui_id = cui_menu_create( g_id, CUI_MENU_SRC_TYPE_RESOURCE, CUI_MENU_TYPE_OPTION, MENU_ID_RMGR_RO_OPTIONS, MMI_FALSE, NULL); cui_menu_set_default_title_image(menu_cui_id,(UI_image_type)GetImage(mmi_rmgr_get_root_icon())); cui_menu_run(menu_cui_id); #if 0 /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ /* under construction !*/ #endif /*0*/ }
VMINT vm_frm_entry_app_screen(VM_P_HANDLE pHandle) { mmi_id group_id = 0; mmi_scenario_state_enum state; if (!vm_pmng_is_support_screen(pHandle)) { return -1; } group_id = vm_frm_gen_group_id(pHandle); MMI_TRACE(MMI_MRE_TRC_G8_FRM,TRC_MRE_FRM_ENTRY_APP_SCREEN,pHandle,group_id); if (0 == group_id) { // vm_log_fatal("[MRE]vm_frm_entry_app_screen get group id fail!"); return -1; } vm_frm_scenario_lock(pHandle); if (mmi_frm_group_is_present(group_id)) { state = mmi_frm_group_get_state(group_id); if (MMI_SCENARIO_STATE_HIDE & state) { mmi_frm_group_unhide(group_id); } else if (MMI_SCENARIO_STATE_INACTIVE & state) { mmi_frm_set_active_group(group_id); } } else { mmi_frm_group_create(GRP_ID_ROOT, group_id, vm_frm_group_proc, (void*)pHandle); mmi_frm_group_enter(group_id, MMI_FRM_NODE_SMART_CLOSE_FLAG); mmi_frm_scrn_first_enter(group_id, MRE_SCREEN_ID0, (FuncPtr)vm_frm_entry_func, (void*)pHandle); } vm_frm_scenario_unlock(); /* * resolve bugs about MRE Editor : * 1. 在vm_editor_create中disable softkey,但是softkey区域显示蓝色(异常)。 * 2. 隐藏VK后,App收到的rect坐标错误。 */ MMI_content_y = 0; MMI_content_height = UI_DEVICE_HEIGHT; return 0; }
/*模块入口*/ void mmi_HelloWorld_entry(void) { #ifdef __MMI_HELLOWORLD_ENABLED__ /* 强制退出当前屏幕,之后进入到我们的模块了 */ /* 上电缺省是idle屏幕,现进入MAIN_MENU_SCREENID屏 */ /* 注意看第二个参数,这个是当我们模块被强制退出时执行的一些操作 */ #if 1 //EntryNewScreen(MAIN_MENU_SCREENID, mmi_HelloWorld_exit, NULL, NULL); g_main_menu_group_id = mmi_frm_group_create(GRP_ID_ROOT, GRP_ID_AUTO_GEN, NULL, NULL); mmi_frm_group_enter(g_main_menu_group_id, 1); if(mmi_frm_scrn_enter(g_main_menu_group_id, MAIN_MENU_SCREENID, NULL, NULL, 2) == MMI_FALSE) { return; } /* 关掉屏幕顶部的状态条,我们要用整个屏幕 */ entry_full_screen(); /* 擦除当前背景 */ clear_screen(); /* 移动文本输出光标 */ gui_move_text_cursor(50, 100); /* 设置字体颜色 */ gui_set_text_color(UI_COLOR_RED); /* 输出文本到显示缓冲, 注意是Unicode编码 */ gui_print_text(L"Hello, moring"); /* 刷新屏幕显示,MMI用的是双缓冲绘图方式,而且需要显式刷新 */ gui_BLT_double_buffer(0, 0, UI_device_width - 1, UI_device_height - 1); /* 注册一个按键处理,右软键弹起时返回到之前被我们强制退出的模块 */ SetKeyHandler(GoBackHistory, KEY_RSK, KEY_EVENT_UP); #endif #endif }
/***************************************************************************** * FUNCTION * DESCRIPTION * PARAMETERS * RETURNS *****************************************************************************/ void mmi_rmgr_list_ro_entry_main(void) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ kal_uint8 serial; /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ /* 1. redraw by small screen 2. gobackhistory and no need refresh screen */ if(!mmi_frm_group_is_present(GRP_ID_RMGR_MAIN)) { mmi_id g_id; g_id = mmi_frm_group_create(GRP_ID_ROOT, GRP_ID_RMGR_MAIN, mmi_rmgr_main_evt_hdlr, NULL); mmi_frm_group_enter(g_id, MMI_FRM_NODE_SMART_CLOSE_FLAG); } if (mmi_is_redrawing_bk_screens() || rmgr_list_ro_cntx.refresh == MMI_FALSE) { /* do not reget the data, just use old data */ //mmi_rmgr_list_ro_entry_real_main(); DRM_get_ro_num(&serial, mmi_rmgr_list_ro_get_num_callback_copy,DRM_DB_GET_VALID) ; } else { /* reserve the highlight information in guibuffer */ /*if (mmi_frm_scrn_is_present (GRP_ID_RMGR_MAIN, SCR_ID_RMGR_LIST_RO_MAIN, MMI_FRM_NODE_ALL_FLAG))//IsScreenPresent(SCR_ID_RMGR_LIST_RO_MAIN)) { mmi_frm_hold_history_buffer(SCR_ID_RMGR_LIST_RO_MAIN); }*/ rmgr_list_ro_cntx.refresh = MMI_FALSE; DRM_get_ro_num(&serial, mmi_rmgr_list_ro_get_num_callback,DRM_DB_GET_VALID); mmi_rmgr_entry_db_progressing(STR_ID_RMGR_PROCESSING, serial, MMI_TRUE, MMI_FALSE); } }
/***************************************************************************** * FUNCTION * widget_show_view_handler * DESCRIPTION * Phonebook launch proc function * PARAMETERS * evt * RETURNS * void *****************************************************************************/ void widget_show_view_handler(void *param) { widget_show_view_ind_struct *p = (widget_show_view_ind_struct *)param; send_message(NULL, NULL, MSG_ID_WIDGET_SHOW_VIEW_CNF, MOD_GADGET); if (!g_widget_view_lock) { g_widget_view_lock = kal_create_mutex("widget_view_lock"); } if (g_widget_view_cntx) { ASSERT(mmi_frm_group_is_present(GRP_ID_WIDGET_VIEW)); mmi_frm_group_close(GRP_ID_WIDGET_VIEW); } g_widget_view_cntx = OslMalloc(sizeof(widget_view_context_struct)); ASSERT(g_widget_view_cntx); memset(g_widget_view_cntx, 0, sizeof(widget_view_context_struct)); g_widget_view_cntx->widget_id = p->instance_id; g_widget_view_cntx->view_handle = p->view_handle; g_widget_view_cntx->view_width = p->width; g_widget_view_cntx->view_height = p->height; g_widget_view_cntx->view_type = p->type; g_widget_view_cntx->view_flags = p->flags; if (p->caption[0]) { mmi_chset_utf8_to_ucs2_string( (U8*) g_widget_view_cntx->view_caption, sizeof(g_widget_view_cntx->view_caption), (U8*) p->caption); } gdi_lcd_get_dimension(&g_widget_view_cntx->lcd_width, &g_widget_view_cntx->lcd_height); if (g_confirm_dialog_gid) { mmi_frm_node_struct group_info; group_info.id = GRP_ID_WIDGET_VIEW; group_info.entry_proc = mmi_widget_view_event_handler_proc; mmi_frm_group_insert(mmi_idle_get_group_id(), g_confirm_dialog_gid, &group_info, MMI_FRM_NODE_BEFORE_FLAG); //mmi_frm_group_insert(GRP_ID_ROOT, g_confirm_dialog_gid, &group_info, MMI_FRM_NODE_BEFORE_FLAG); mmi_frm_group_set_attribute (GRP_ID_WIDGET_VIEW, MMI_FRM_NODE_SMART_CLOSE_FLAG); } else { /*mmi_frm_group_create( mmi_idle_get_group_id(), GRP_ID_WIDGET_VIEW, mmi_widget_view_event_handler_proc, g_widget_view_cntx);*/ mmi_frm_node_struct group_info; group_info.id = GRP_ID_WIDGET_VIEW; group_info.entry_proc = mmi_widget_view_event_handler_proc; group_info.user_data = g_widget_view_cntx; mmi_frm_group_insert(GRP_ID_ROOT, mmi_idle_get_group_id(), &group_info, MMI_FRM_NODE_AFTER_FLAG); mmi_frm_group_enter(GRP_ID_WIDGET_VIEW, MMI_FRM_NODE_SMART_CLOSE_FLAG); } mmi_widget_entry_view(); }
static void i51EntryScreen(void) { // author : Miki // since : 2011.12.2 // (C) PKIG Tech. Co., Ltd. #if( I51_MTK_VS >= VS_11B_1212 ) MMI_ID parent_id; // parent_id=mmi_frm_group_get_active_id(); parent_id = mmi_frm_group_get_top_parent_group_id(mmi_frm_group_get_active_id()); mmi_frm_group_create(parent_id, I51_GROUP_ID, NULL, NULL); mmi_frm_group_enter(I51_GROUP_ID, MMI_FRM_NODE_SMART_CLOSE_FLAG); if (!mmi_frm_scrn_enter( I51_GROUP_ID,//group id I51_SCREEN_ID,//screnn id i51ExitSreen, (FuncPtr)i51PortCreateFrontEnd, MMI_FRM_FULL_SCRN)) { return; } #else EntryNewScreen (I51_SCREEN_ID, i51ExitSreen, (FuncPtr)i51PortCreateFrontEnd, NULL); #endif i51AdeOsLog( i51_LOG_SC, "PORT : EntrySreen , S , Front app run = %d", l_InI51 ); gdi_layer_set_source_key(0,0); #ifdef __MTK_TARGET__ #ifdef __MMI_AUDIO_PLAYER__ mdi_audio_suspend_background_play(); #endif #endif i51AdeMmiMediaPlayerSetVolume( i51AdeMmiMediaPlayerGetVolume(0) ); { stFontAttribute f={0}; f.size = MEDIUM_FONT; gui_set_font(&f); } #ifdef __MMI_TOUCH_SCREEN__ mmi_pen_config_sampling_period(MMI_PEN_SAMPLING_PERIOD_2, MMI_PEN_SAMPLING_PERIOD_2); #endif }
/***************************************************************************** * FUNCTION * cui_pict_run * DESCRIPTION * Pictbridge CUI run function. * PARAMETERS * g_pict_gid [IN] Pictbridge CUI Group ID * RETURNS * void *****************************************************************************/ static void cui_pict_run(mmi_id gid, MMI_BOOL is_multi_sel, const cui_pict_file_info_struct *info) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ /* use 0 not SMART_CLOSE_FLAG, otherwise group will automatically close and can't send print result to parent, such as press RSK "back" in setting screen" */ mmi_frm_group_enter(g_pict_gid, MMI_FRM_NODE_NONE_FLAG); /* printer is not present */ if (!mmi_pict_is_dps_device_present()) { cui_pict_disp_popup(CUI_PICT_RESULT_NOT_READY, STR_ID_PICT_PRINTER_REMOVED, MMI_EVENT_FAILURE); return; } if (!mmi_pict_is_configure_ready()) { /* waiting for initialization with the printer */ cui_pict_disp_popup(CUI_PICT_RESULT_NOT_READY, STR_ID_PICT_CONFIGURATION, MMI_EVENT_FAILURE); return; } if (g_pict_bridge_context.printing != PICT_PRINTING_NONE) { cui_pict_disp_popup(CUI_PICT_RESULT_BUSY, STR_GLOBAL_BUSY_TRY_LATER, MMI_EVENT_FAILURE); return; } #ifdef __MMI_FMGR_MULTI_SELECT_SUPPORT__ if (is_multi_sel) { mmi_pict_reset_files_info(); mmi_pict_entry_file_processing_screen(); if (info != NULL) { mmi_pict_record_file_info(info->full_path, info->info); } if (g_pict_total_count == 1) { mmi_pict_prepare_file_done(); } else { cui_pict_post_evt_to_parent(); } } else #endif { if (info != NULL) { mmi_ucs2cpy((S8*) g_pict_bridge_context.printing_filepath, (S8*) info->full_path); if (!mmi_pict_jpg_format_validation((S8*) g_pict_bridge_context.printing_filepath)) { /* invalid file */ cui_pict_disp_popup(CUI_PICT_RESULT_ERROR, STR_ID_PICT_INVALID_JPG_FILE, MMI_EVENT_FAILURE); return; } #ifdef __DRM_SUPPORT__ if (!mmi_pict_drm_jpg_file_check(g_pict_bridge_context.printing_filepath)) { cui_pict_disp_popup(CUI_PICT_RESULT_ERROR, STR_GLOBAL_DRM_PROHIBITED, MMI_EVENT_FAILURE); return; } #endif /* __DRM_SUPPORT__ */ #ifdef __MMI_FMGR_MULTI_SELECT_SUPPORT__ mmi_pict_prepare_single_file_data(); //prepare data for multiple file buffer #else mmi_pict_get_file_date(); #endif mmi_pict_entry_print_settings(); } } }