void win_multifeed_load(void) { OBJLIST* ol; P_NODE p_node; UINT16 channel,cnt,sel,top_idx,cur_idx,dep; struct MULTIFEED_INFO multifeed_info; INT32 ret; ol = &multifeed_ol; channel = sys_data_get_cur_group_cur_mode_channel(); get_prog_at(channel,&p_node); MEMSET(&multifeed_info, 0, sizeof(struct MULTIFEED_INFO)); ret = multifeed_get_info(p_node.prog_id, &multifeed_info); sel = 0xFFFF; cnt = multifeed_info.num; if(multifeed_info.idx < cnt) sel= multifeed_info.idx; dep = OSD_GetObjListPage(ol); cur_idx = 0; top_idx = 0; if(sel<multifeed_info.num) cur_idx = sel; top_idx = cur_idx / dep * dep; OSD_SetObjListCount(ol, cnt); OSD_SetObjListSingleSelect(ol, sel); OSD_SetObjListTop(ol, top_idx); OSD_SetObjListCurPoint(ol, cur_idx); OSD_SetObjListNewPoint(ol, cur_idx); }
static void init_movefile_info() { char file_path[FULL_PATH_SIZE], str_buff[10]; UINT16 offset; TEXT_FIELD *pTxt; POBJLIST pOl; get_file_list_info(win_move_dirlist, &movefile_dirnum, &movefile_filenum, file_path); if(!STRCMP(file_path, FS_ROOT_DIR)) { offset = 0; } else { offset = 1; } pOl = &ol_mpmove; OSD_SetObjListCount(pOl,(movefile_dirnum + movefile_filenum + offset)); OSD_SetObjListNewPoint(pOl,0); OSD_SetObjListCurPoint(pOl,0); OSD_SetObjListTop(pOl,0); pTxt = &mpmove_dir_txt; win_get_display_dirname(str_buff, file_path); OSD_SetTextFieldContent(pTxt,STRING_UTF8,(UINT32)str_buff);//show current dir name pTxt = &mpmove_dev_name; win_get_display_devicename(str_buff, movefile_cur_device); sprintf(str_buff,"%s",str_buff); OSD_SetTextFieldContent(pTxt,STRING_ANSI,(UINT32)str_buff);//show current device name }
void win_satfav_load_groupcount(void) { UINT8 av_flag; OBJLIST *ol; UINT16 group_cnt,group_idx; UINT8 group_type, group_pos; UINT16 channel,select,page; UINT16 title_id; TEXT_FIELD* txt; ol = &satfav_item_list; select = INVALID_POS_NUM; av_flag = sys_data_get_cur_chan_mode(); group_idx = sys_data_get_cur_group_index(); sys_data_get_cur_mode_group_infor( group_idx, &group_type,&group_pos, &channel); if(sat_fav_list_flag == 0) /* SAT */ { group_cnt = sys_data_get_sate_group_num(av_flag); group_cnt ++; if(group_type == FAV_GROUP_TYPE) group_idx = 0; else select = group_idx; } else /* FAV */ { group_cnt = sys_data_get_fav_group_num(av_flag); if(group_type != FAV_GROUP_TYPE) group_idx = 0; else { group_idx -= sys_data_get_sate_group_num(av_flag); group_idx --; select = group_idx; } } page = OSD_GetObjListPage(ol); OSD_SetObjListCount(ol, group_cnt); OSD_SetObjListCurPoint(ol, group_idx); OSD_SetObjListNewPoint(ol, group_idx); OSD_SetObjListTop(ol,group_idx / page*page); OSD_SetObjListSingleSelect(ol, select); title_id = (sat_fav_list_flag == 0)? RS_INFO_SATELLITE : RS_FAVORITE; txt = &satfav_title; OSD_SetTextFieldContent(txt, STRING_ID,title_id); }
static void catch_up_list_load(UINT8 num) { OBJLIST* ol; ol = &ol_catch_up; OSD_SetObjListCount(ol, num); OSD_SetObjListTop(ol, 0); OSD_SetObjListNewPoint(ol, 0); OSD_SetObjListCurPoint(ol, 0); }
static void news_list_load(UINT16 num) { OBJLIST *ol = NULL; ol = &ol_news_list; OSD_SetObjListCount(ol, num); OSD_SetObjListCurPoint(ol, 0); OSD_SetObjListNewPoint(ol, 0); OSD_SetObjListTop(ol, 0); }
static void win_purse_set_display(void) { UINT32 i,j,n; OBJLIST* ol; UINT16 top,cnt,page,index,curitem; UINT32 valid_idx,ew_flag; CONTAINER* item; TEXT_FIELD* txt; UINT8 purse_str[30]; UINT16 icon_id; BITMAP* bmp; SYSTEM_DATA* sys_data; UINT8 hl_idx; sys_data = sys_data_get(); ol = &purse_olist; cnt = purse_cnt; // cnt = OSD_GetObjListCount(ol); OSD_SetObjListCount(ol, cnt); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); curitem = OSD_GetObjListNewPoint(ol); for(i=0;i<page;i++) { item = (CONTAINER*)purselist_items[i]; index = top + i; if(index< cnt) valid_idx = 1; else valid_idx = 0; /* Name*/ txt = (PTEXT_FIELD)OSD_GetContainerNextObj(item); if(valid_idx) OSD_SetTextFieldContent(txt, STRING_ANSI,ap_purse[top+i].name); else OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); /* Balance*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) { sprintf(purse_str, "%d", ap_purse[top+i].balance); OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)purse_str); } else OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); } }
void weathercitylst_load_list() { OBJLIST *ol = NULL; int num = 0; ol = &weather_city_olist; num = weathercitylst_get_num(); OSD_SetObjListCount(ol, num); OSD_SetObjListCurPoint(ol, 0); OSD_SetObjListNewPoint(ol, 0); OSD_SetObjListTop(ol, 0); }
static void map_city_list_load(void) { OBJLIST *ol = NULL; int num = 0; ol = &ol_map_city; num = map_city_get_num(); OSD_SetObjListCount(ol, num); OSD_SetObjListCurPoint(ol, 0); OSD_SetObjListNewPoint(ol, 0); OSD_SetObjListTop(ol, 0); }
static void SNstate_addr_list_load(void) { OBJLIST *ol = NULL; int num = 0; ol = &ol_SNstate_addr; //num = SNstate_addr_get_num(); OSD_SetObjListCount(ol, 2); OSD_SetObjListCurPoint(ol, 0); OSD_SetObjListNewPoint(ol, 0); OSD_SetObjListTop(ol, 0); }
static PRESULT movefile_change_storage(VACTION act) { PRESULT ret = PROC_LOOP; TEXT_FIELD *pTxt; OBJLIST *pOl; char str_buff[10]; if(act == VACT_CHG_DEVL) { if(RET_FAILURE == win_get_next_device(movefile_cur_device, movefile_cur_device,TRUE)) { return ret; } } else { if(RET_FAILURE == win_get_next_device(movefile_cur_device, movefile_cur_device,FALSE)) { return ret; } } file_list_change_device(win_move_dirlist,movefile_cur_device); pTxt = &mpmove_dev_name; win_get_display_devicename(str_buff, movefile_cur_device); sprintf(str_buff,"%s",str_buff); OSD_SetTextFieldContent(pTxt,STRING_ANSI,(UINT32)str_buff);//show current device name //OSD_DrawObject((POBJECT_HEAD)pTxt,C_UPDATE_ALL); OSD_DrawObject((POBJECT_HEAD)&mpmove_dev_con,C_UPDATE_ALL); /* pTxt = &mpmove_dir_txt; sprintf(str_buff,"%s","Root"); OSD_SetTextFieldContent(pTxt,STRING_ANSI,(UINT32)str_buff); OSD_DrawObject((POBJECT_HEAD)pTxt,C_UPDATE_ALL); */ pOl = &ol_mpmove; get_file_list_info(win_move_dirlist, &movefile_dirnum, &movefile_filenum, NULL); OSD_SetObjListCurPoint(pOl, 0); OSD_SetObjListNewPoint(pOl, 0); OSD_SetObjListTop(pOl, 0); OSD_SetObjListCount(pOl, movefile_dirnum+movefile_filenum); OSD_TrackObject((POBJECT_HEAD)pOl, C_UPDATE_ALL | C_DRAW_SIGN_EVN_FLG); return ret; }
static PRESULT win_detitle_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; OBJLIST* ol = &detitle_olist; UINT16 tmp, num=0; struct help_item_resource detitle_help[] = { {1,IM_EPG_COLORBUTTON_RED,RS_HELP_DELETE}, {1,IM_EPG_COLORBUTTON_GREEN,RS_DELETE_ALL}, {1,IM_HELP_ICON_TB,RS_HELP_SELECT}, }; switch(event) { case EVN_PRE_OPEN: init_detitle_flag(); tmp = detitle_get_info(&num); if (0 == tmp) { ret = PROC_LEAVE; break; } OSD_SetObjListCount(ol, num); if (num <= OSD_GetObjListCurPoint(&detitle_olist)) { OSD_SetObjListCurPoint (&detitle_olist, 0); OSD_SetObjListNewPoint (&detitle_olist, 0); OSD_SetObjListTop (&detitle_olist, 0); //OSD_SetObjListNewPoint(&detitle_olist, 0); } wincom_open_title_ext(RS_DETITLE, IM_TITLE_ICON_SYSTEM); wincom_open_help(detitle_help, 3); win_init_pstring(18); break; case EVN_POST_OPEN: break; case EVN_PRE_CLOSE: /* Make OSD not flickering */ save_detitle(); *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; break; case EVN_POST_CLOSE: //TFCAS_WriteFlash();//write to flash at once, ignore the delay break; } return ret; }
INT32 mail_update_info() { UINT8 ret,i,j; UINT8 total, newmail; gycamail data; OBJLIST* ol = &mail_ol; MEMSET(email_head, 0, sizeof(gycamail_head)*GYCA_EMAIL_MAX_CNT); email_count = GYCA_EMAIL_MAX_CNT; ret = gyca_getmail_condition_from_ram(&total, &newmail); if (GYCA_OK != ret) { //cas_popup_msg(NULL, NULL, RS_CAERR_NOINFO); //email_count = 0; //return 0; total = 0; newmail = 0; email_count = 0; } email_count_unread = newmail; for(i=0,j=0; i<total; i++) { MEMSET(&data, 0, sizeof(gycamail)); if(!gyca_readmail_one_from_ram(i, &data)) { MEMCPY(email_head[j].title, data.info.m_szEmail_Title, STRLEN(data.info.m_szEmail_Title)); MEMCPY(email_head[j].create_Time, data.info.m_byEmail_Create_Time, 5); email_head[j].status = data.status; j++; } } email_count = j; OSD_SetObjListCount(ol, email_count); if (email_count <= OSD_GetObjListCurPoint(ol)) { OSD_SetObjListCurPoint(ol, 0); OSD_SetObjListNewPoint(ol, 0); OSD_SetObjListTop(ol, 0); } return 1; }
static PRESULT IPPVinfo_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT32 cnt = 0; INT32 iret; switch(event) { case EVN_PRE_OPEN: total_IPPV_number = 0; iret = IPPVinfo_got_info(); if(0 == iret) { ret = PROC_LEAVE; break; } OSD_SetObjListCount(&IPPVinfo_olist,total_IPPV_number); //for different card display if (total_IPPV_number <= OSD_GetObjListCurPoint(&IPPVinfo_olist)) { //OSD_SetObjListNewPoint(&IPPVinfo_olist, 0); OSD_SetObjListCurPoint (&IPPVinfo_olist, 0); OSD_SetObjListNewPoint (&IPPVinfo_olist, 0); OSD_SetObjListTop (&IPPVinfo_olist, 0); } wincom_open_title_ext(RS_IPPV_PROGRAM, IM_TITLE_ICON_SYSTEM); wincom_open_help(win_opinfo_help, 2); win_init_pstring(9); break; case EVN_POST_OPEN: // win_ippv_draw_title(); break; case EVN_PRE_CLOSE: /* Make OSD not flickering */ *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; break; case EVN_POST_CLOSE: break; } return ret; }
static PRESULT playlst_con_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { UINT16 title_strid; PRESULT ret = PROC_PASS; POBJLIST pOl; TEXT_FIELD *pTxt; UINT32 file_num; win_popup_choice_t choice; UINT8 back_saved; UINT16 i; WIN_PLAYLIST_TYPE play_list; pOl = &ol_playlist; switch(event) { case EVN_PRE_OPEN: get_play_list_info(cur_display_playlist,&file_num, NULL); OSD_SetObjListCount(pOl, file_num); OSD_SetObjListCurPoint(pOl, 0); OSD_SetObjListNewPoint(pOl, 0); OSD_SetObjListTop(pOl, 0); moving_flag = 0; move_file_idx = INVALID_IDX; break; case EVN_POST_OPEN: win_open_playlist_help(); break; case EVN_PRE_CLOSE: /* Make OSD not flickering */ *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; break; case EVN_POST_CLOSE: break; default: break; } return ret; }
static void win_biss_load_select(void) { UINT32 n; CAS_KEYINFO *Pm = NULL; OBJLIST* ol; SCROLL_BAR* sb; POBJECT_HEAD pObj; ol = &biss_olist; n = softcam_get_keyinfo_num((u8) CAS_ID_BISS); /* Set count */ OSD_SetObjListCount(ol, n); OSD_SetObjListCurPoint(ol, 0); OSD_SetObjListNewPoint(ol, 0); OSD_SetObjListTop(ol, 0); sb = &biss_scb; OSD_SetScrollBarMax(sb,n); OSD_SetScrollBarPos(sb, 0); }
static void win_wifilist_update_all_wifi_manager_menu(BOOL refresh_device_status) { UINT16 i; OBJLIST* ol; CONTAINER* item; TEXT_FIELD* txt; SCROLL_BAR* sb; ol = &wifilist_olist; txt = &wifilst_dev_status; sb = &wifilist_scb; DEBUG_PRINTF("win_wifilist_update_all_wifi_manager_menu(bFlag=%d)\n", refresh_device_status); if(ap_list_pos >= AP_Num) { ap_list_top = 0; ap_list_item_sel=0; ap_list_pos=0; } OSD_SetObjListCount(ol, AP_Num); /* Set count */ OSD_SetObjListCurPoint(ol, ap_list_item_sel); OSD_SetObjListNewPoint(ol, ap_list_item_sel); OSD_SetObjListTop(ol, ap_list_top); OSD_SetScrollBarMax(sb, AP_Num); OSD_SetScrollBarPos(sb, ap_list_top); // update WiFi Device Status (content) win_wifilist_update_wifi_device_status_display(refresh_device_status); // update and redraw AP List (content) only win_wifilist_update_wifi_ap_list_display(refresh_device_status); }
static void win_camail_set_display(void) { UINT32 i,j,n; OBJLIST* ol; UINT16 top,cnt,page,index,curitem; UINT32 valid_idx,ew_flag; CONTAINER* item; TEXT_FIELD* txt; //char str[30]; UINT8 name[10], msg[300]; UINT16 icon_id; BITMAP* bmp; SYSTEM_DATA* sys_data; UINT8 hl_idx; sys_data = sys_data_get(); ol = &mail_olist; cnt = 16;//OSD_GetObjListCount(ol); OSD_SetObjListCount(ol, cnt); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); curitem = OSD_GetObjListNewPoint(ol); for(i=0;i<page;i++) { item = (CONTAINER*)maillist_items[i]; index = top + i; if(index< cnt) { /* name */ txt = (PTEXT_FIELD)OSD_GetContainerNextObj(item); sprintf(name,"%d", index+1); OSD_SetTextFieldContent(txt, STRING_ANSI,(UINT32)name); /* msg */ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); MEMSET(msg,0,300); //if(conax_get_msg_info(msg, index)==SUCCESS) conax_get_msg_info(msg, index); msg[32+50] = 0; //else // msg[32] = 0; OSD_SetTextFieldContent(txt, STRING_ANSI,(UINT32)&msg[32]); } else { /* name */ txt = (PTEXT_FIELD)OSD_GetContainerNextObj(item); OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); /* msg */ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); } } }
static PRESULT mail_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; BOOL changed; UINT8 TV_Out; UINT16 x, y, w, h; VACTION unact; UINT8 av_mode, id; UINT16 chan_idx; UINT8 rating; UINT16 rating_ret; OBJLIST* ol = &mail_ol; /*struct help_item_resource mail_help[] = { {1,IM_EPG_COLORBUTTON_RED,RS_HELP_DELETE}, {1,IM_EPG_COLORBUTTON_GREEN,RS_DELETE_ALL}, {1,IM_HELP_ICON_TB,RS_HELP_SELECT}, {0,RS_HELP_ENTER,RS_HELP_ENTER_INTO}, }; */ switch (event) { case EVN_PRE_OPEN: OSD_ClearObject((POBJECT_HEAD)&g_win_mainmenu, C_UPDATE_ALL); rating_ret = GYCA_GetParentControl(&rating); /*if ((CDCA_RC_CARD_INVALID == rating_ret)|| (CDCA_RC_POINTER_INVALID ==rating_ret)) { win_popup_msg(NULL, NULL, RS_CAERR_NOSMC); return PROC_LEAVE; } else if (CDCA_RC_OK != rating_ret) { win_popup_msg(NULL, NULL, RS_CAERR_UNKNOWN); return PROC_LEAVE; } */ MEMSET(display_strs[0], 0, sizeof(display_strs[0])*MAX_DISP_STR_ITEMS); //wincom_open_title_ext(RS_EMAIL, IM_TITLE_ICON_EMAIL); //wincom_open_help(mail_help, 4); mail_got_info(); //mail_init_str(20); //mail_clear_del_flag(); if(email_count<=100) OSD_SetObjListCount(ol, email_count); else OSD_SetObjListCount(ol, 100); if (email_count <= OSD_GetObjListCurPoint(ol)) { OSD_SetObjListCurPoint(ol, 0); OSD_SetObjListNewPoint(ol, 0); OSD_SetObjListTop(ol, 0); } //CDCASTB_RequestMaskBuffer(); break; case EVN_POST_OPEN: MailDrawNum0(); wincom_scroll_textfield_resume(); break; case EVN_PRE_CLOSE: mail_exec_delete(); if(menu_stack_get(0)==((POBJECT_HEAD)&g_win_mainmenu)) *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; else { wincom_close_title(); wincom_close_help(); *((UINT32*)param2) &= C_CLOSE_CLRBACK_FLG; } //CDCASTB_RequestUpdateBuffer(); wincom_scroll_textfield_pause(); break; case EVN_POST_CLOSE: break; case EVN_MSG_GOT: if( param1 == CTRL_MSG_SUBTYPE_STATUS_SCROLL_STRING) win_mail_scroll_string(); if(param1 == CTRL_MSG_SUBTYPE_STATUS_SIGNAL) ret = PROC_LOOP; default: break; } return ret; }
static PRESULT playlist_colorkey_proc(VACTION unact) { UINT16 curPos; PRESULT ret_proc = PROC_PASS; POBJLIST pOl; POBJECT_HEAD top_win; UINT8 back_saved; win_popup_choice_t choice; UINT32 file_num; pOl = &ol_playlist; curPos = OSD_GetObjListCurPoint(pOl); switch(unact) { case VACT_PLAY: top_win = (POBJECT_HEAD)(&g_win_usb_filelist); if(cur_playlist_type == PL_MUSIC) { win_set_musicplay_param(&cur_display_playlist,curPos+1,0); ap_send_msg(CTRL_MSG_SUBTYPE_CMD_PLAYMUSIC,(UINT32)top_win,TRUE); } else { win_set_imageplay_param(&cur_display_playlist, curPos+1,0); ap_send_msg(CTRL_MSG_SUBTYPE_CMD_PLAYIMAGE,(UINT32)top_win,TRUE); } ret_proc = PROC_LEAVE; break; case VACT_MOVE: if(moving_flag == 0) { moving_flag = 1; move_file_idx = curPos; } else { moving_flag = 0; //move file move_file_in_play_list(cur_display_playlist, move_file_idx+1, curPos+1); move_file_idx = INVALID_IDX; } OSD_TrackObject((POBJECT_HEAD)pOl, C_UPDATE_ALL | C_DRAW_SIGN_EVN_FLG); break; case VACT_DELETE: if(moving_flag == 1) { moving_flag = 0; //move file move_file_in_play_list(cur_display_playlist, move_file_idx+1, curPos+1); move_file_idx = INVALID_IDX; } delete_play_list_item(cur_display_playlist, curPos+1); if(cur_playlist_type == PL_MUSIC) { musiclist_changed = TRUE; } else { imagelist_changed = TRUE; } get_play_list_info(cur_display_playlist,&file_num, NULL); OSD_SetObjListCount(pOl, file_num); if(file_num == 0)//all items have been deleted { delete_play_list(win_play_list[cur_playlist_type]); win_play_list[cur_playlist_type] = NULL; ret_proc = PROC_LEAVE; break; } if(curPos >= file_num) { OSD_SetObjListCurPoint(pOl, 0); OSD_SetObjListNewPoint(pOl, 0); OSD_SetObjListTop(pOl, 0); } OSD_TrackObject((POBJECT_HEAD)pOl, C_UPDATE_ALL | C_DRAW_SIGN_EVN_FLG); break; case VACT_DELETE_ALL: win_compopup_init(WIN_POPUP_TYPE_OKNO); win_compopup_set_msg(NULL,NULL,RS_MP_DELETE_PLAYLIST); choice = win_compopup_open_ext(&back_saved); if(choice == WIN_POP_CHOICE_YES) { delete_play_list(win_play_list[cur_playlist_type]); win_play_list[cur_playlist_type] = NULL; if(cur_playlist_type == PL_MUSIC) { musiclist_changed = TRUE; } else { imagelist_changed = TRUE; } ret_proc = PROC_LEAVE; } break; default: break; } return ret_proc; }
static void win_tplist_load_sat(BOOL updatesat) { UINT16 i,tp_num,focus_pos,max_top; OBJLIST* ol; CONTAINER* item; TEXT_FIELD* txt; SCROLL_BAR* sb; S_NODE s_node; T_NODE prog_tp_node; if(cur_tp_sat_idx >= get_tuner_sat_cnt(TUNER_EITHER) ) cur_tp_sat_idx= 0; get_tuner_sat(TUNER_EITHER, cur_tp_sat_idx, &s_node); ol = &tplst_olist; txt = &tplst_sat; sb = &tplst_scb; recreate_tp_view(VIEW_SINGLE_SAT, s_node.sat_id); tp_num = get_tp_num_sat(s_node.sat_id); OSD_SetObjListCount(ol, tp_num); /* Set count */ focus_pos = tp_list_pos;//OSD_GetObjListCurPoint(ol); if (tp_num > OSD_GetObjListPage(ol)) max_top = tp_num - OSD_GetObjListPage(ol); else max_top = 0; if (focus_pos == 0xffff) { if(playing_pnode.sat_id == s_node.sat_id) { for(i = 0;i < tp_num;i++) { get_tp_at(playing_pnode.sat_id, i, &prog_tp_node); if(prog_tp_node.tp_id == playing_pnode.tp_id) { focus_pos = i; if (focus_pos > max_top) tp_list_top = max_top; else tp_list_top = focus_pos; break; } } } } if(focus_pos >= tp_num) { focus_pos = 0; tp_list_top = 0; } OSD_SetObjListCurPoint(ol, focus_pos); OSD_SetObjListNewPoint(ol, focus_pos); OSD_SetObjListTop(ol, tp_list_top); OSD_SetScrollBarMax(sb,tp_num); OSD_SetScrollBarPos(sb, focus_pos); win_tplist_set_sat_display(); if(updatesat) OSD_DrawObject( (POBJECT_HEAD)txt, C_UPDATE_ALL); }
static PRESULT movefile_item_enter(UINT16 uIdx) { PRESULT ret = PROC_LOOP; BOOL bRoot; char str_name[FULL_PATH_SIZE],str_txt[FULL_PATH_SIZE]; FileInfo file_node; POBJLIST pOl; TEXT_FIELD *pTxt; UINT8 back_saved; bRoot = win_check_openroot(win_move_dirlist); if((uIdx == 0) && (bRoot == FALSE)) {//TODO:Exit to up dir get_file_list_info(win_move_dirlist, &movefile_dirnum, &movefile_filenum, str_name); win_get_parent_dirname(str_txt, str_name); win_compopup_init(WIN_POPUP_TYPE_SMSG); win_compopup_set_frame(200, 200, 200, 100); win_compopup_set_msg(NULL, NULL,RS_DISPLAY_PLEASE_WAIT); win_compopup_open_ext(&back_saved); read_folder_to_file_list(win_move_dirlist, str_txt); win_compopup_smsg_restoreback(); bRoot = win_check_openroot(win_move_dirlist); if(bRoot) { file_list_change_device(win_move_dirlist, movefile_cur_device); } movefile_curidx = win_get_file_idx(win_move_dirlist, str_name); if(movefile_curidx == (UINT16)(~0)) movefile_curidx = 0; get_file_list_info(win_move_dirlist, &movefile_dirnum, &movefile_filenum, str_name); pTxt = &mpmove_dir_txt; win_get_display_dirname(str_txt, str_name);//get dirname to show OSD_SetTextFieldContent(pTxt,STRING_UTF8,(UINT32)str_txt); OSD_DrawObject((POBJECT_HEAD)pTxt,C_UPDATE_ALL); pOl = &ol_mpmove; movefile_curidx = movefile_curidx + (bRoot?0:1); OSD_SetObjListCurPoint(pOl, movefile_curidx); OSD_SetObjListNewPoint(pOl, movefile_curidx); OSD_SetObjListTop(pOl, movefile_curidx); if(bRoot == TRUE) OSD_SetObjListCount(pOl, (movefile_dirnum + movefile_filenum));//to show it's child dir else OSD_SetObjListCount(pOl, (movefile_dirnum + movefile_filenum + 1));//to show it's child dir if(OSD_GetObjListCount(pOl) <= MV_ITEM_CNT) OSD_SetObjListTop(pOl, 0); OSD_TrackObject((POBJECT_HEAD)pOl, C_UPDATE_ALL | C_DRAW_SIGN_EVN_FLG); return ret; } if(!bRoot) { uIdx--; } get_file_from_file_list(win_move_dirlist, uIdx+1, &file_node); if(file_node.filetype == F_DIR) { //TODO: Enter child directory & retrive items,set not_root flag win_get_fullname(str_name, file_node.path, file_node.name); win_compopup_init(WIN_POPUP_TYPE_SMSG); win_compopup_set_frame(200, 200, 200, 100); win_compopup_set_msg(NULL, NULL,RS_DISPLAY_PLEASE_WAIT); win_compopup_open_ext(&back_saved); read_folder_to_file_list(win_move_dirlist, str_name); win_compopup_smsg_restoreback(); get_file_list_info(win_move_dirlist, &movefile_dirnum, &movefile_filenum, str_name); pTxt = &mpmove_dir_txt; win_get_display_dirname(str_txt, str_name);//get dirname to show OSD_SetTextFieldContent(pTxt,STRING_UTF8,(UINT32)str_txt); OSD_DrawObject((POBJECT_HEAD)pTxt,C_UPDATE_ALL); movefile_curidx = 0; pOl = &ol_mpmove; OSD_SetObjListCount(pOl, (movefile_dirnum + movefile_filenum + 1));//to show it's child dir OSD_SetObjListCurPoint(pOl, movefile_curidx); OSD_SetObjListNewPoint(pOl, movefile_curidx); OSD_SetObjListTop(pOl, movefile_curidx); OSD_TrackObject((POBJECT_HEAD)pOl, C_UPDATE_ALL | C_DRAW_SIGN_EVN_FLG); } else { //TODO:soc_printf("not dir!!\n"); } return ret; }
static void ci_info_init() { char * tmp; UINT8 *tmp_buf; // init MEMSET(&ci_info, 0, sizeof(ci_info)); // get menu string tmp_buf = (void*)(win_ci_get_tmp_buf()); tmp = api_ci_get_menu_string(tmp_buf, CI_DATA_BUFFER_LEN, ci_slot); if(tmp != NULL) { ci_info_set_string(ci_info.name, CI_MENU_TXT_LENGTH, tmp); } else { ci_info.name[0] = '\0'; } //set the window style as the difference show modal win_ci_info_set_colorstyle(); if(win_ci_info_modal == WIN_CI_INFO_SHOW_AS_MODAL) { OSD_SetColor((POBJECT_HEAD)&g_win_ci_info,WIN_SH_IDX_SD,WIN_HL_IDX_SD,WIN_SL_IDX_SD,WIN_GRY_IDX_SD); OSD_MoveObject((POBJECT_HEAD)&g_win_ci_info, W_L_SD,W_T_SD, 0);//62, 55, 0); OSD_MoveObject((POBJECT_HEAD)&txt_ci_info_split1, W_L_SD + 10, SPLIT_1_T_SD, 0); //62, SPLIT_1_T, 0); OSD_MoveObject((POBJECT_HEAD)&txt_ci_info_split2, W_L_SD + 10, SPLIT_2_T_SD, 0);//62, SPLIT_2_T - 1, 0); } else { OSD_SetColor((POBJECT_HEAD)&g_win_ci_info, WIN_SUBMENU_BODY_FRAME, WIN_SUBMENU_BODY_FRAME, WIN_SUBMENU_BODY_FRAME, WIN_SUBMENU_BODY_FRAME);//guop OSD_MoveObject((POBJECT_HEAD)&g_win_ci_info, W_L,W_T, 0); OSD_MoveObject((POBJECT_HEAD)&txt_ci_info_split1, SPLIT_1_L, SPLIT_1_T, 0); OSD_MoveObject((POBJECT_HEAD)&txt_ci_info_split2, SPLIT_1_L, SPLIT_2_T, 0); } ///////////////////////////////////////////////////////////////////////// //clear the menu //1. CI Title OSD_SetTextFieldContent(&txt_ci_info_title, STRING_UNICODE, (UINT32)""); //2. sub title ci_info_subtitle_content[0].text.pString = NULL; //3. bottom OSD_SetTextFieldContent(&txt_ci_info_bottom, STRING_UNICODE, (UINT32)""); //4. list OSD_SetObjListCount(&olst_ci_info, 0); OSD_SetAttr(&sb_ci_info, C_ATTR_HIDDEN); //show the ci enquiry dialog OSD_SetObjpNext(&txt_ci_info_bottom, NULL); //the the windows focus to the dialog g_win_ci_info.FocusObjectID = 1; }
static void ci_info_display() { OBJLIST* ol; UINT16 cnt, page; UINT8 i; CONTAINER* item = NULL; TEXT_FIELD* txt = NULL; //1. CI Title OSD_SetTextFieldContent(&txt_ci_info_title, STRING_UNICODE, (UINT32)ci_info.menu.title_str); //2. sub title ci_info_subtitle_content[0].text.pString = ci_info.menu.subtitle_str; //3. bottom OSD_SetTextFieldContent(&txt_ci_info_bottom, STRING_UNICODE, (UINT32)ci_info.menu.bottom_str); //4. fill the list ol = &olst_ci_info; page = OSD_GetObjListPage(ol); cnt = ci_info.menu.entry_cnt; OSD_SetObjListCount(ol, cnt); if(cnt <= page) OSD_SetAttr(&sb_ci_info, C_ATTR_HIDDEN); else OSD_SetAttr(&sb_ci_info, C_ATTR_ACTIVE); OSD_SetObjListTop(ol, 0); OSD_SetObjListCurPoint(ol, 0); OSD_SetObjListNewPoint(ol, 0); for( i = 0; i < page; i++) { item = (PCONTAINER)ci_info_list_items[i]; txt = (PTEXT_FIELD)OSD_GetContainerNextObj(item); if(ci_info.menu.is_selectable) { if(api_is_sd_color_mode()) { // OSD_SetColor(item, CON_SH_IDX_SD, CON_HL_IDX_SD, CON_SL_IDX_SD, CON_GRY_IDX_SD); OSD_SetColor(item, CON_SH_IDX, CON_HL_IDX, CON_SL_IDX, CON_GRY_IDX); // OSD_SetColor(txt, TXT_SH_IDX_SD,TXT_HL_IDX_SD,TXT_SL_IDX_SD,TXT_GRY_IDX_SD); OSD_SetColor(txt, TXT_SH_IDX,TXT_HL_IDX,TXT_SL_IDX,TXT_GRY_IDX); } else { #if 0 OSD_SetColor(item, CON_SH_IDX, CON_HL_IDX, CON_SL_IDX, CON_GRY_IDX); OSD_SetColor(txt, TXT_SH_IDX,TXT_HL_IDX,TXT_SL_IDX,TXT_GRY_IDX); #endif } } else { if(api_is_sd_color_mode()) { OSD_SetColor(item, CON_SH_IDX_SD, CON_SH_IDX_SD, CON_SL_IDX_SD, CON_GRY_IDX_SD); OSD_SetColor(txt, TXT_SH_IDX_SD,TXT_SH_IDX_SD,TXT_SL_IDX_SD,TXT_GRY_IDX_SD); } else { #if 0 OSD_SetColor(item, CON_SH_IDX, CON_SH_IDX, CON_SL_IDX, CON_GRY_IDX); OSD_SetColor(txt, TXT_SH_IDX,TXT_SH_IDX,TXT_SL_IDX,TXT_GRY_IDX); #endif } } } OSD_TrackObject( (POBJECT_HEAD)&g_win_ci_info, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); }
PRESULT comlist_tvsys_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { UINT16 i,wTop; UINT8 id; char str_len; OBJLIST* ol; UINT8 temp[4]; SYSTEM_DATA* p_sys_data=sys_data_get(); PRESULT cbRet = PROC_PASS; ol = (OBJLIST*)pObj; if(event==EVN_PRE_DRAW) { id=OSD_GetFocusID((POBJECT_HEAD)&win_av_con); switch(id) { case TVMODE_ID: wTop = OSD_GetObjListTop(ol); for(i=0;i<ol->wDep && (i+wTop)<ol->wCount;i++) { win_comlist_set_str(i + wTop,get_tv_mode_string(i+wTop),NULL,0); } break; case TVASPECT_ID: #ifdef HDMI_CERTIFICATION_UI if( check_tv_display_in_hd_mode() ) { OSD_SetObjListCount(ol, 1); //insert [16:9] into com_list[0]; win_comlist_set_str(0, tv_ratio[3], NULL,0); break; } else { wTop = OSD_GetObjListTop(ol); OSD_SetObjListCount(ol, TV_RATIO_NCNT); } #else wTop = OSD_GetObjListTop(ol); #endif for(i=0;i<ol->wDep && (i+wTop)<ol->wCount;i++) { win_comlist_set_str(i + wTop,tv_ratio[i+wTop],NULL,0); } break; case VIDEOOUT_ID: wTop = OSD_GetObjListTop(ol); for(i=0;i<ol->wDep && (i+wTop)<ol->wCount;i++) { #ifndef HDTV_SUPPORT win_comlist_set_str(i + wTop,NULL,NULL,video_output_ids[i]); #else win_comlist_set_str(i + wTop,video_output[i+wTop],NULL,0); #endif } break; case RFSYSTEM_ID: wTop = OSD_GetObjListTop(ol); for(i=0;i<ol->wDep && (i+wTop)<ol->wCount;i++) { win_comlist_set_str(i + wTop,rf_mode_stings[i+wTop],NULL,0); } break; case RFCHAN_ID: wTop = OSD_GetObjListTop(ol); for(i=0;i<ol->wDep && (i+wTop)<ol->wCount;i++) { sprintf(temp,"%d", i+wTop+rf_ch_range[p_sys_data->avset.rf_mode][0]); win_comlist_set_str(i + wTop,temp,NULL,0); } break; #ifdef HDTV_SUPPORT case HDMIOUT_ID: wTop = OSD_GetObjListTop(ol); for(i=0;i<ol->wDep && (i+wTop)<ol->wCount;i++) { win_comlist_set_str(i + wTop,format_setting[i+wTop],NULL,0); } break; case AUDIOOUT_ID: wTop = OSD_GetObjListTop(ol); for(i=0;i<ol->wDep && (i+wTop)<ol->wCount;i++) { win_comlist_set_str(i + wTop,audio_setting[i+wTop],NULL,0); } break; #endif } } else if(event == EVN_POST_CHANGE) { cbRet = PROC_LEAVE; } return cbRet; }
static PRESULT win_tplist_list_unkown_act_proc(VACTION act) { PRESULT ret = PROC_LOOP; UINT8 pre_sat_idx; UINT16 sel,sat_cnt; OSD_RECT rect; COM_POP_LIST_PARAM_T param; OBJLIST* ol; S_NODE s_node; T_NODE t_node; UINT32 freq,symb,pol; UINT8 back_saved; UINT32 ftaonly_VPid,srch_chan_APid,nit_PPid; UINT32 choice; POBJECT_HEAD sub_menu; INT32 iret; UINT16 pre_sat_id,cur_sat_id; sat_cnt = get_tuner_sat_cnt(TUNER_EITHER); get_tuner_sat(TUNER_EITHER, cur_tp_sat_idx, &s_node); ol = &tplst_olist; sel = OSD_GetObjListCurPoint(ol); pre_sat_idx = cur_tp_sat_idx; switch(act) { case VACT_SAT_PRE: if(cur_tp_sat_idx > 0) cur_tp_sat_idx --; else cur_tp_sat_idx = sat_cnt - 1; goto SAT_CHANGE; case VACT_SAT_NEXT: if(cur_tp_sat_idx < (sat_cnt - 1)) cur_tp_sat_idx ++; else cur_tp_sat_idx = 0; goto SAT_CHANGE; case VACT_SAT_SELECT: param.id = TUNER_EITHER; param.cur = cur_tp_sat_idx; param.selecttype = POP_LIST_SINGLESELECT; OSD_SetRect(&rect, LST_SAT_L - 20 , LST_SAT_T, LST_SAT_W + 40, 360); rect.uTop += LST_SAT_H; sel = win_com_open_sub_list(POP_LIST_TYPE_SAT,&rect,¶m); if(sel < sat_cnt) cur_tp_sat_idx = sel; goto SAT_CHANGE; SAT_CHANGE: tp_list_pos = 0; tp_list_top = 0; if(cur_tp_sat_idx != pre_sat_idx) { pre_tp_sat_idx = pre_sat_idx; get_tuner_sat(TUNER_EITHER, pre_sat_idx, &s_node); pre_sat_id = s_node.sat_id; get_tuner_sat(TUNER_EITHER, cur_tp_sat_idx, &s_node); cur_sat_id = s_node.sat_id; #ifdef SUPPORT_TWO_TUNER #ifdef SUPPORT_SELECT_SAME_SAT cur_tuner_idx = s_node.reserve_1; //s_node.tuner1_valid? 0 : 1; #else cur_tuner_idx = s_node.tuner1_valid? 0 : 1; #endif #endif if(win_tplist_check_change()) update_data(); win_tplist_load_sat(TRUE); //OSD_TrackObject( (POBJECT_HEAD)&tplst_olist, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); OSD_TrackObject( (POBJECT_HEAD)&g_win_tplist, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); api_stop_timer(&tpturn_timer_id); tpturn_timer_id = api_start_timer(TPTURN_TIMER_NAME, TPTURN_TIMER_TIME, win_tplist_tpturn_handler); } break; case VACT_TP_EDIT: /* If not TP, can't EDIT */ if(OSD_GetObjListCount(ol) == 0) break; get_tp_at(s_node.sat_id,sel, &t_node); choice = win_tpe_open(0, s_node.sat_id, t_node.tp_id); if( choice) { win_tpe_get_setting(&freq, &symb, &pol); if(freq != t_node.frq || symb != t_node.sym || pol != t_node.pol) { t_node.frq = freq; t_node.sym = symb; t_node.pol = pol; modify_tp(t_node.tp_id,&t_node); api_stop_timer(&tpturn_timer_id); tpturn_timer_id = api_start_timer(TPTURN_TIMER_NAME, TPTURN_TIMER_TIME, win_tplist_tpturn_handler); } } //OSD_TrackObject( (POBJECT_HEAD)ol, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); OSD_TrackObject( (POBJECT_HEAD)&g_win_tplist, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); break; case VACT_TP_ADD: if(OSD_GetObjListCount(ol) == MAX_TP_NUM) break; extern UINT32 edit_tp_exist; edit_tp_exist = 0; choice = win_tpe_open(1, s_node.sat_id, 0); if(choice) { win_tpe_get_setting(&freq, &symb, &pol); MEMSET(&t_node,0,sizeof(t_node) ); t_node.frq = freq; t_node.sym = symb; t_node.pol = pol; t_node.sat_id = s_node.sat_id; iret = add_node(TYPE_TP_NODE,s_node.sat_id,(void*)&t_node); if((iret == DBERR_MAX_LIMIT) || (iret == DBERR_FLASH_FULL)) { OSD_TrackObject( (POBJECT_HEAD)ol, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); win_compopup_init(WIN_POPUP_TYPE_OK); win_compopup_set_msg(NULL,NULL, RS_DISPLAY_TOO_MANY_TP); win_compopup_open_ext(&back_saved); break; } OSD_SetObjListCount(ol, OSD_GetObjListCount(ol) + 1); //OSD_TrackObject( (POBJECT_HEAD)ol, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); OSD_TrackObject( (POBJECT_HEAD)&g_win_tplist, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); OSD_ChangeFocus((POBJECT_HEAD)ol,OSD_GetObjListCount(ol) - 1, C_DRAW_SIGN_EVN_FLG | C_UPDATE_FOCUS); api_stop_timer(&tpturn_timer_id); tpturn_timer_id = api_start_timer(TPTURN_TIMER_NAME, TPTURN_TIMER_TIME, win_tplist_tpturn_handler); } else { OSD_TrackObject( (POBJECT_HEAD)&g_win_tplist, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); //OSD_TrackObject( (POBJECT_HEAD)ol, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); if( edit_tp_exist > 0) { OSD_ChangeFocus((POBJECT_HEAD)ol,edit_tp_exist - 1, C_DRAW_SIGN_EVN_FLG | C_UPDATE_FOCUS); edit_tp_exist = 0; } //OSD_TrackObject( (POBJECT_HEAD)ol, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); } break; case VACT_TP_DEL: /* If not TP, can't DEL */ if(OSD_GetObjListCount(ol) == 0) break; win_compopup_init(WIN_POPUP_TYPE_OKNO); win_compopup_set_msg(NULL, NULL,RS_DISPLAY_SURE_TO_DELETE); if(win_compopup_open_ext(&back_saved) != WIN_POP_CHOICE_YES) break; get_tp_at(s_node.sat_id,sel, &t_node); del_tp_by_id(t_node.tp_id); OSD_SetObjListCount(ol, OSD_GetObjListCount(ol) -1); OSD_TrackObject( (POBJECT_HEAD)ol, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); if( OSD_GetObjListCount(ol) > 0) { if(sel == OSD_GetObjListCount(ol)) /* Delete last TP */ OSD_ChangeFocus((POBJECT_HEAD)ol,OSD_GetObjListCount(ol) - 1, C_DRAW_SIGN_EVN_FLG | C_UPDATE_FOCUS); else tpturn_timer_id = api_start_timer(TPTURN_TIMER_NAME, TPTURN_TIMER_TIME, win_tplist_tpturn_handler); } break; case VACT_TP_SRCH: /* If not TP, can't SEARCH */ if(OSD_GetObjListCount(ol) == 0) break; sys_data_set_cur_satidx(cur_tp_sat_idx); tp_list_pos = OSD_GetObjListCurPoint(ol); tp_list_top = OSD_GetObjListTop(ol); choice = win_tpsrch_open(&ftaonly_VPid,&srch_chan_APid,&nit_PPid); if(choice==1) { win_tpsrch_set_search_param(ftaonly_VPid,srch_chan_APid,nit_PPid); sub_menu = (POBJECT_HEAD)&g_win_search; wincom_close_help(); if(OSD_ObjOpen(sub_menu, 0xFFFFFFFF) != PROC_LEAVE) { menu_stack_push(sub_menu); set_movedish_flag(TRUE);/*only tp search,need not moving dish when return*/ } } else if(choice==2) //pid search { tp_VPid = ftaonly_VPid; tp_APid = srch_chan_APid; tp_PPid = nit_PPid; prog_callback_register((prog_node_return)win_tplist_set_search_pid_callback); get_tp_at(s_node.sat_id,sel,&t_node); win_search_set_pid_param(t_node.tp_id, tp_VPid, tp_APid, tp_PPid); win_tpsrch_set_search_param(P_SEARCH_FTA|P_SEARCH_SCRAMBLED,P_SEARCH_TV|P_SEARCH_RADIO,0); sub_menu = (POBJECT_HEAD)&g_win_search; wincom_close_help(); if(OSD_ObjOpen(sub_menu, 0xFFFFFFFF) != PROC_LEAVE) menu_stack_push(sub_menu); } else { //OSD_TrackObject( (POBJECT_HEAD)ol, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); OSD_TrackObject( (POBJECT_HEAD)&g_win_tplist, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); } break; } return ret; }