static RET_CODE on_mon_child_feed_result(control_t *p_ctrl, u16 msg, u32 para1, u32 para2) { RET_CODE ret = para1; dlg_ret_t dlg_ret = 0; u16 str_text[64] = {0,}; u8 curn_root_id = manage_get_curn_menu_attr()->root_id; UI_PRINTF("@@@@@ on_mon_child_feed_result curn_root_id:%d\n", curn_root_id); if(curn_root_id == ROOT_ID_CONDITIONAL_ACCEPT_MOTHER) { if(ret != SUCCESS) { gui_get_string(IDS_BACK, str_text, 64);//QQ IDS_FEED_FAILURE dlg_data.text_content = (u32)str_text; if(ret == CAS_E_FEEDTIME_NOT_ARRIVE) { gui_get_string(IDS_CA_ADDRES_INFO, str_text, 64);//QQ IDS_CA_NOT_TIME_FEED dlg_data.text_content = (u32)str_text; } } else { gui_get_string(IDS_FEED_SUCCESS, str_text, 64); dlg_data.text_content = (u32)str_text; } dlg_ret = ui_comm_dlg_open(&dlg_data); if(dlg_ret == DLG_RET_YES) { /*QQ if(fw_find_root_by_id(ROOT_ID_POPUP) != NULL) { ui_comm_dlg_close(); }*/ } } return ret; }
static RET_CODE on_mon_child_feed_data(control_t *p_ctrl, u16 msg, u32 para1, u32 para2) { RET_CODE ret = para1; u16 cur_pos = 0; u16 str_text[64] = {0,}; chlid_card_status_info *mother_card = (chlid_card_status_info *)para2; dlg_ret_t dlg_ret = DLG_RET_NULL; u8 curn_root_id = manage_get_curn_menu_attr()->root_id; cur_pos = list_get_focus_pos(p_ctrl); UI_PRINTF("@@@@@ on_mon_child_feed_data curn_root_id:%d, cur_pos : %d\n", curn_root_id, cur_pos); if(curn_root_id == ROOT_ID_CONDITIONAL_ACCEPT_MOTHER) { if(ret != SUCCESS) { gui_get_string(IDS_CA_ADDRES_INFO, str_text, 64);//QQ IDS_CA_INVALID_PARENT_CARD dlg_data.text_content = (u32)str_text; dlg_ret = ui_comm_dlg_open(&dlg_data); if(dlg_ret == DLG_RET_YES) { /*QQ if(fw_find_root_by_id(ROOT_ID_POPUP) != NULL) { ui_comm_dlg_close(); } */ if(p_child_info[cur_pos].is_child == 1) { ui_ca_get_info(CAS_CMD_READ_FEED_DATA, p_child_info[cur_pos].operator_id,0); } } return ret; } else { gui_get_string(IDS_CA_ADDRES_INFO, str_text, 64); //QQ IDS_CA_INSERT_CHILD_CARD dlg_data.text_content = (u32)str_text; dlg_ret = ui_comm_dlg_open(&dlg_data); if(dlg_ret == DLG_RET_YES) { ui_ca_get_info(CAS_CMD_MON_CHILD_FEED, (u32)mother_card, 0); /*QQ if(fw_find_root_by_id(ROOT_ID_POPUP) != NULL) { ui_comm_dlg_close(); } */ } } } return SUCCESS; }
static void get_entitle_str(u16 * uni_str, u16 str_id1,u16 str_id2, u32 content) { u16 str[10] = {0}; u16 len = 0; gui_get_string(str_id1, uni_str, 64); convert_i_to_dec_str(str, content); uni_strcat(uni_str, str,64); len = (u16)uni_strlen(uni_str); gui_get_string(str_id2, str, 64 - len); uni_strcat(uni_str, str, 64); return; }
void gui_lcd_display_string(INT32 x, INT32 y, U16 str_id) { INT8* text = gui_get_string(str_id); if(text != NULL) { gui_lcd_display_text(x, y, text, NULL); } }
static RET_CODE epg_group_list_update(control_t *p_list, u16 start, u16 size, u32 context) { u16 i; u16 uni_str[32]; u16 group; u8 type; sat_node_t sat; u16 pos; u16 cnt = list_get_count(p_list); for(i = 0; i < size; i++) { if(i + start < cnt) { group = sys_status_get_group_by_pos(i + start); sys_status_get_group_info(group, &type, &pos, &context); switch(type) { case GROUP_T_ALL: gui_get_string(IDS_ALL, uni_str, 31); break; case GROUP_T_FAV: sys_status_get_fav_name((u8)context, uni_str); break; case GROUP_T_SAT: db_dvbs_get_sat_by_id((u16)context, &sat); uni_strncpy(uni_str, sat.name, 31); break; default: MT_ASSERT(0); } /* NAME */ list_set_field_content_by_unistr(p_list, (u16)(start + i), 0, uni_str); } } return SUCCESS; }
static void epg_weekday_upgrade(control_t *p_mbox_weekday, BOOL is_force) { //u32 old_context = 0; //s8 new_focus = 0; //u32 item_num = 0; u8 i; //u16 unistr[64]; u8 weekday; u16 dst_unistr[128]; #if 0 u16 tmp_unistr[128]; u8 ansstr[256]; #endif u16 weekstr[] = { IDS_MON, IDS_TUS, IDS_WED, IDS_THU, IDS_FRI, IDS_SAT, IDS_SUN, }; utc_time_t cur_time = {0}; utc_time_t tmp_time = {0}; time_get(&cur_time, TRUE); for(i = 0; i<SEVEN; i++) { memcpy(&tmp_time, &cur_time, sizeof(utc_time_t)); time_up(&tmp_time, ONE_DAY_SECONDS*i); weekday = date_to_weekday(&tmp_time); gui_get_string(weekstr[weekday], dst_unistr, 64); mbox_set_content_by_unistr(p_mbox_weekday, i, dst_unistr); } if(is_force) { ctrl_paint_ctrl(p_mbox_weekday, is_force); } }
void sys_status_get_group_name(u16 group, u16 *p_name, u32 len) { u8 type = 0; u16 pos = 0; u32 context = 0; sys_status_get_group_info(group, &type, &pos, &context); switch (type) { case GROUP_T_ALL: gui_get_string(IDS_ALL, p_name, (u16)len); break; case GROUP_T_FAV: sys_status_get_fav_name((u8)context, p_name); break; default: MT_ASSERT(0); } }
//lint -e438 -e550 -e830 static void epg_item_update(control_t *p_cont, u8 focus_state, BOOL is_paint ) { dvbs_prog_node_t pg; utc_time_t s_time = {0}; utc_time_t e_time = {0}; //utc_time_t tmp_time = {0}; //utc_time_t tot_time = {0};//total time, 2 hours, for caculate x & w. control_t *p_list, *p_event_list, *p_mbox_week; control_t *p_list_cont, *p_prog_cont; event_node_t *p_evt_head = NULL; u16 total_evt = 0; u16 list_curn, pg_id; u16 unistr[64]; u16 old_focus = 0; u16 new_focus = 0; u8 day_pos; memset(&pg, 0, sizeof(dvbs_prog_node_t)); epg_event_list_get_time_area(&s_time, &e_time); p_prog_cont = ctrl_get_child_by_id(p_cont, IDC_EPG_PROG_CONT); p_list = ctrl_get_child_by_id(p_prog_cont, IDC_EPG_LIST_PG); p_list_cont = ctrl_get_child_by_id(p_cont, IDC_EPG_LIST_CONT); p_event_list = ctrl_get_child_by_id(p_list_cont, IDC_EPG_LIST_EVT); p_mbox_week = ctrl_get_child_by_id(p_list_cont, IDC_EPG_WEEKDAY); if(first_time.day != s_time.day) { epg_weekday_upgrade(p_mbox_week, TRUE); time_get(&first_time, FALSE); } if(p_mbox_week!=NULL) { day_pos = (u8)mbox_get_focus(p_mbox_week); if(day_pos != 0) { time_up(&s_time, day_pos*24*60*60); s_time.hour = 0; s_time.minute = 0; s_time.second = 0; memcpy(&e_time, &s_time, sizeof(utc_time_t)); e_time.hour = 23; e_time.minute = 59; e_time.second = 59; } //ui_set_epg_day_offset(day_pos); } list_curn = list_get_focus_pos(p_list); pg_id =db_dvbs_get_id_by_view_pos(ui_dbase_get_pg_view_id(), list_curn); db_dvbs_get_pg_by_id(pg_id, &pg); g_prog_info.network_id = (u16)pg.orig_net_id; g_prog_info.ts_id = (u16)pg.ts_id; g_prog_info.svc_id = (u16)pg.s_id; time_to_gmt(&s_time, &(g_prog_info.start_time)); time_to_gmt(&e_time, &(g_prog_info.end_time)); mul_epg_set_db_info(&g_prog_info); p_evt_head = mul_epg_get_sch_event(&g_prog_info, &total_evt); if(p_evt_head != NULL) { MT_ASSERT(total_evt > 0); old_focus = list_get_focus_pos(p_event_list); list_set_count(p_event_list, (u16)total_evt, EPG_EVT_LIST_PAGE); switch(focus_state) { case FOCUS_FIRST: new_focus = 0; break; case FOCUS_PREV: new_focus = (old_focus < total_evt) ? old_focus : 0; break; default: new_focus = 0; break; } if (new_focus != old_focus) { list_set_focus_pos(p_event_list, new_focus); list_select_item(p_event_list, new_focus); } epg_event_list_update(p_event_list, list_get_valid_pos(p_event_list), EPG_EVT_LIST_PAGE, 0); } else { list_set_count(p_event_list, 1, EPG_EVT_LIST_PAGE); list_set_focus_pos(p_event_list, 0); list_select_item(p_event_list, 0); list_set_field_content_by_icon(p_event_list, 0, 0, 0); if(CUSTOMER_ID == CUSTOMER_AISAT || CUSTOMER_ID == CUSTOMER_AISAT_DEMO) { gui_get_string(IDS_MSG_NO_INFORMATION, unistr, 64); } else { gui_get_string(IDS_RECEIVING_DATA, unistr, 64); } list_set_field_content_by_unistr(p_event_list, 0, 2, unistr); list_set_field_content_by_icon(p_event_list, 0, 3, 0); } if(is_paint) { ctrl_paint_ctrl(p_event_list, is_paint); } }
static void _nbox_draw(control_t *p_ctrl, hdc_t hdc) { ctrl_nbox_t *p_nbox = NULL; obj_attr_t attr = OBJ_ATTR_ACTIVE; u32 font = 0; u16 str_num[NUM_STRING_LEN + 1] = {0}; u16 *p_num_str = NULL; rect_t str_rect = {0}; MT_ASSERT(p_ctrl != NULL); gui_paint_frame(hdc, p_ctrl); //draw string p_nbox = (ctrl_nbox_t *)p_ctrl; if(ctrl_is_whole_hl(p_ctrl) || ctrl_is_always_hl(p_ctrl)) { attr = OBJ_ATTR_HL; } else { attr = ctrl_get_attr(p_ctrl); } font = _nbox_get_fstyle(attr, p_nbox); ctrl_get_draw_rect(p_ctrl, &str_rect); // alloc buffer p_num_str = ctrl_unistr_alloc( NUM_STRING_LEN + NBOX_ITEM_NUM_XFIX_LENGTH * 2); // convert num to str switch(p_ctrl->priv_attr & NBOX_NUMTYPE_MASK) { case NBOX_NUMTYPE_DEC: convert_i_to_dec_str_ex(str_num, p_nbox->num, p_nbox->bit_length); if(p_nbox->separator_pos != 0) { insert_aschar_into_unistr(str_num, p_nbox->separator, p_nbox->separator_pos, NUM_STRING_LEN); } break; case NBOX_NUMTYPE_HEX: convert_i_to_hex_str_ex(str_num, p_nbox->num, p_nbox->bit_length); break; default: MT_ASSERT(0); } // add prefix if(p_nbox->prefix != 0) { switch(p_ctrl->priv_attr & NBOX_ITEM_PREFIX_TYPE_MASK) { case NBOX_ITEM_PREFIX_TYPE_STRID: gui_get_string((u16)p_nbox->prefix, p_num_str, NBOX_ITEM_NUM_XFIX_LENGTH); break; case NBOX_ITEM_PREFIX_TYPE_EXTSTR: uni_strcat(p_num_str, (u16 *)p_nbox->prefix, NBOX_ITEM_NUM_XFIX_LENGTH); break; default: MT_ASSERT(0); } } // add content uni_strcat(&p_num_str[uni_strlen(p_num_str)], str_num, NUM_STRING_LEN + NBOX_ITEM_NUM_XFIX_LENGTH); // add postfix if(p_nbox->postfix != 0) { switch(p_ctrl->priv_attr & NBOX_ITEM_POSTFIX_TYPE_MASK) { case NBOX_ITEM_POSTFIX_TYPE_STRID: gui_get_string((u16)p_nbox->postfix, &p_num_str[uni_strlen(p_num_str)], NBOX_ITEM_NUM_XFIX_LENGTH); break; case NBOX_ITEM_POSTFIX_TYPE_EXTSTR: uni_strcat(&p_num_str[uni_strlen(p_num_str)], (u16 *)p_nbox->postfix, NBOX_ITEM_NUM_XFIX_LENGTH); break; default: MT_ASSERT(0); } } // draw if(p_ctrl->priv_attr & NBOX_HL_STATUS_MASK) { if(p_ctrl->priv_attr & NBOX_HL_TYPE_MASK) { gui_draw_unistr(hdc, &str_rect, p_ctrl->priv_attr, p_nbox->str_left, p_nbox->str_top, 0, p_num_str, font, MAKE_DRAW_STYLE(STRDRAW_WITH_INVERT, _nbox_get_underline_pos(p_nbox))); } else { gui_draw_unistr(hdc, &str_rect, p_ctrl->priv_attr, p_nbox->str_left, p_nbox->str_top, 0, p_num_str, font, MAKE_DRAW_STYLE(STRDRAW_WITH_UNDERLINE, _nbox_get_underline_pos(p_nbox))); } } else { gui_draw_unistr(hdc, &str_rect, p_ctrl->priv_attr, p_nbox->str_left, p_nbox->str_top, 0, p_num_str, font, MAKE_DRAW_STYLE(STRDRAW_NORMAL, 0)); } // free buffer ctrl_unistr_free(p_num_str); }
static void _cbox_get_num_string(control_t *p_ctrl, u16 *p_buffer) { u16 str_num[NUM_STRING_LEN + 1]; cbox_num_data_t *p_num_data = NULL; MT_ASSERT(p_ctrl != NULL); if((p_num_data = _cbox_get_num_data(p_ctrl)) == NULL) { return; } p_buffer[0] = '\0'; switch(p_ctrl->priv_attr & CBOX_ITEM_NUMTYPE_MASK) { case CBOX_ITEM_NUMTYPE_DEC: if(p_num_data->bit_length > 0) { convert_i_to_dec_str_ex(str_num, p_num_data->curn, (u8)p_num_data->bit_length); } else { convert_i_to_dec_str(str_num, p_num_data->curn); } break; case CBOX_ITEM_NUMTYPE_HEX: if(p_num_data->bit_length > 0) { convert_i_to_hex_str_ex(str_num, p_num_data->curn, (u8)p_num_data->bit_length); } else { convert_i_to_hex_str(str_num, p_num_data->curn); } break; default: MT_ASSERT(0); } if(p_num_data->prefix != 0) { switch(p_ctrl->priv_attr & CBOX_ITEM_PREFIX_TYPE_MASK) { case CBOX_ITEM_PREFIX_TYPE_STRID: gui_get_string((u16)p_num_data->prefix, p_buffer, CBOX_ITEM_NUM_XFIX_LENGTH); break; case CBOX_ITEM_PREFIX_TYPE_EXTSTR: uni_strcat(p_buffer, (u16 *)p_num_data->prefix, CBOX_ITEM_NUM_XFIX_LENGTH); break; default: MT_ASSERT(0); } } uni_strcat(&p_buffer[uni_strlen( p_buffer)], str_num, NUM_STRING_LEN + CBOX_ITEM_NUM_XFIX_LENGTH); if(p_num_data->postfix != 0) { switch(p_ctrl->priv_attr & CBOX_ITEM_POSTFIX_TYPE_MASK) { case CBOX_ITEM_POSTFIX_TYPE_STRID: gui_get_string((u16)p_num_data->postfix, &p_buffer[uni_strlen( p_buffer)], CBOX_ITEM_NUM_XFIX_LENGTH); break; case CBOX_ITEM_POSTFIX_TYPE_EXTSTR: uni_strcat(&p_buffer[uni_strlen( p_buffer)], (u16 *)p_num_data->postfix, CBOX_ITEM_NUM_XFIX_LENGTH); break; default: MT_ASSERT(0); } } }
static RET_CODE on_select_change_focus(control_t *p_ctrl, u16 msg, u32 para1, u32 para2) { control_t *p_root, *p_subctrl; language_set_t lang_set; u8 focus = (u8)para2; u8 lang_index; u8 fav_name[32] = {0}; u16 fav_name_unistr[32] = {0}; u16 content[32]; u16 i; lang_index = get_lang_index(focus); sys_status_get_lang_set(&lang_set); switch(ctrl_get_ctrl_id(ctrl_get_parent(p_ctrl))) { case IDC_LANGUAGE: lang_set.osd_text = lang_index; if(ctrl_is_onfocus(p_ctrl)) { // reset all language setting lang_set.first_audio = lang_index; lang_set.second_audio = lang_index; lang_set.sub_title = lang_index; lang_set.tel_text = lang_index; p_subctrl = ui_comm_root_get_ctrl(ROOT_ID_LANGUAGE, IDC_FIRST_AUDIO); ui_comm_select_set_focus(p_subctrl, focus); p_subctrl = ui_comm_root_get_ctrl(ROOT_ID_LANGUAGE, IDC_SECOND_AUDIO); ui_comm_select_set_focus(p_subctrl, focus); #if ENABLE_TTX_SUBTITLE p_subctrl = ui_comm_root_get_ctrl(ROOT_ID_LANGUAGE, IDC_SUBTITLE); ui_comm_select_set_focus(p_subctrl, focus); p_subctrl = ui_comm_root_get_ctrl(ROOT_ID_LANGUAGE, IDC_TELETEXT); ui_comm_select_set_focus(p_subctrl, focus); #endif // set language & redraw rsc_set_curn_language(gui_get_rsc_handle(), lang_index + 1); for(i=0; i<5; i++) { memset(content, 0, sizeof(content)); gui_get_string(IDS_FAV_LIST, content, 64); sprintf((char *)fav_name, "%d", i+1); str_asc2uni(fav_name, fav_name_unistr); uni_strcat(content, fav_name_unistr, 256); sys_status_set_fav_name((u8)(sys_status_get_categories_count() - 5 + i), content); } #ifdef ENABLE_CA if((CAS_ID == CONFIG_CAS_ID_DS)|| (CAS_ID == CONFIG_CAS_ID_SC)) { ui_ca_set_language(lang_set); } #endif if((p_root = fw_get_focus()) != NULL) { if(p_root != NULL) { ctrl_paint_ctrl(p_root, TRUE); } } } break; case IDC_FIRST_AUDIO: lang_set.first_audio = lang_index; break; case IDC_SECOND_AUDIO: lang_set.second_audio = lang_index; break; #if ENABLE_TTX_SUBTITLE case IDC_SUBTITLE: lang_set.sub_title = lang_index; break; case IDC_TELETEXT: lang_set.tel_text = lang_index; break; #endif default: MT_ASSERT(0); return ERR_FAILURE; } sys_status_set_lang_set(&lang_set); sys_status_save(); return SUCCESS; }