static PRESULT atnsetm_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; BOOL b; UINT8 back_saved; switch(event) { case EVN_PRE_OPEN: win_atnsetm_load_tuner_configuration(); win_atnsetm_load_motor_antenna_setting(FALSE); wincom_open_title(pObj,RS_INSTALLATION_ANTENNA_SETUP,0); break; case EVN_PRE_CLOSE: b = win_atnsetm_check_save_motor_antenna_setting(); if(!b) { win_compopup_init(WIN_POPUP_TYPE_OK); win_compopup_set_msg(NULL, NULL, RS_MSG_OUT_RANGE); win_compopup_open_ext(&back_saved); ret = PROC_LOOP; break; } /* Make OSD not flickering */ *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; break; } return ret; }
static PRESULT atnsetm_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; BOOL b; UINT8 back_saved; VACTION unact; POBJECT_HEAD submenu; switch(event) { case EVN_PRE_OPEN: win_atnsetm_load_tuner_configuration(); win_atnsetm_load_motor_antenna_setting(FALSE); wincom_open_subtitle(pObj,RS_INSTALLATION_ANTENNA_SETUP,0); wincom_open_commen_help(pObj); wincom_open_help(pObj,ant_setup_helpinfo , HELP_CNT); break; case EVN_PRE_CLOSE: b = win_atnsetm_check_save_motor_antenna_setting(); if(!b) { win_compopup_init(WIN_POPUP_TYPE_OK); win_compopup_set_msg(NULL, NULL, RS_MSG_OUT_RANGE); win_compopup_open_ext(&back_saved); ret = PROC_LOOP; break; } /* Make OSD not flickering */ *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; break; case EVN_POST_CLOSE: wincom_close_help(); wincom_close_subtitle(); OSD_ClearScreen(); win_open_submenu_title(submenu,sub_menu_desc->title_id, 0); //guop break; case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); ret = win_an_set_unkown_act_proc(unact); break; } return ret; }
static PRESULT atnsetm_item_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; VACTION unact; UINT8 bID; UINT8 back_saved; win_popup_choice_t choice; UINT32 i,n; S_NODE s_node; POBJECT_HEAD submenu; BOOL b; bID = OSD_GetObjID(pObj); switch(event) { case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); if(unact == VACT_ENTER) { if(bID == MOTORSET_ID || bID == LIMIT_SETUP) { b = win_atnsetm_check_save_motor_antenna_setting(); if(!b) { win_compopup_init(WIN_POPUP_TYPE_OK); win_compopup_set_msg(NULL, NULL, RS_MSG_OUT_RANGE); win_compopup_open_ext(&back_saved); ret = PROC_LOOP; break; } } if(bID == RESETPOS_ID) { win_compopup_init(WIN_POPUP_TYPE_OKNO); win_compopup_set_msg(NULL, NULL, RS_ARE_YOU_SURE_CLEAR_SET_SATE_POSITON); //choice = win_compopup_open_ext(&back_saved); choice = win_compopup_open_enh((POBJECT_HEAD)&g_win_antenna_set_motor, 1, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); if(choice != WIN_POP_CHOICE_YES) break; /* Reset all satellite's position of current tuner to 0*/ n = get_sat_num(VIEW_ALL); recreate_sat_view(VIEW_ALL,0); for(i=0;i<n;i++) { get_sat_at(i,VIEW_ALL,&s_node); if( (antset_cur_tuner == 0 && s_node.position!= 0) || (antset_cur_tuner == 10 && s_node.tuner2_antena.position!= 0) ) { if(antset_cur_tuner == 0) s_node.position = 0; else s_node.tuner2_antena.position = 0; modify_sat(s_node.sat_id,&s_node); } } update_data(); } else if(bID == MOTORSET_ID) { submenu = (POBJECT_HEAD)&g_win_motorset; if(OSD_ObjOpen(submenu, MENU_OPEN_TYPE_MENU | bID) != PROC_LEAVE) menu_stack_push(submenu); } else if(bID == LIMIT_SETUP) { submenu = (POBJECT_HEAD)&g_win_motor_limitsetup; if(OSD_ObjOpen(submenu, MENU_OPEN_TYPE_MENU | bID) != PROC_LEAVE) menu_stack_push(submenu); } } } return ret; }
static PRESULT atnsetm_item_sel_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT32 sel; UINT8 bID; char str[10]; UINT16 * Uni_str; UINT8* pstr; SYSTEM_DATA* sys_data; POBJECT_HEAD other_antset_menu; VACTION unact; COM_POP_LIST_TYPE_T list_type; OSD_RECT rect; COM_POP_LIST_PARAM_T param; UINT16 cur_idx; BOOL b; UINT8 back_saved; sys_data = sys_data_get(); bID = OSD_GetObjID(pObj); switch(event) { case EVN_PRE_CHANGE: sel = *((UINT32*)param1); if(bID == TUNER_ID) { if(TUNER_CNT < 2) { ret = PROC_LOOP; break; } b = win_atnsetm_check_save_motor_antenna_setting(); if(!b) { win_compopup_init(WIN_POPUP_TYPE_OK); win_compopup_set_msg(NULL, NULL, RS_MSG_OUT_RANGE); win_compopup_open_ext(&back_saved); ret = PROC_LOOP; break; } /* Check tuner : sel has selected satellite or not.*/ if(get_tuner_sat_cnt(sel) == 0) { UINT8 back_saved; win_compopup_init(WIN_POPUP_TYPE_OK); win_compopup_set_msg(NULL,NULL, RS_TUNER_HAS_NO_SATE_SEL); win_compopup_open_ext(&back_saved); antset_cur_tuner = (sel == 0)? 1: 0; ret = PROC_LOOP; } else cur_tuner_idx = antset_cur_tuner = sel; } break; case EVN_POST_CHANGE: sel = param1; if(bID == TUNER_ID) { if(sys_data->tuner_lnb_type[sel] != LNB_MOTOR) { /* Need to change : Fixed antenna setting menu. */ other_antset_menu = (POBJECT_HEAD)&g_win_antenna_set_fixed; if(OSD_ObjOpen(other_antset_menu, MENU_OPEN_TYPE_MENU + bID) != PROC_LEAVE) { menu_stack_pop(); menu_stack_push(other_antset_menu); } ret = PROC_LOOP; } else { //win_atnsetm_load_sat_cnt(TRUE); win_atnsetm_load_motor_antenna_setting(TRUE); } } else if(bID == MOTOR_ID) { win_atnsetm_load_local_action(TRUE); } #ifdef SUPPORT_UNICABLE else if(bID == LNB_ID) { if(win_unicable_setting_open(LNB_IDX)) OSD_TrackObject((POBJECT_HEAD)&g_win_antenna_set_motor, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); } #endif break; case EVN_REQUEST_STRING: sel = param1; Uni_str= (UINT16*)param2; get_lnb_name(sel,Uni_str); break; case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); if(unact == VACT_ENTER) { OSD_SetRect2(&rect,&pObj->frame); /*Patch: For solve pop-up windows show bugs,for example: Universal(5150-10600) can not be all show*/ OSD_SetRect(&rect, rect.uLeft, rect.uTop, (rect.uWidth + 10), rect.uHeight); param.selecttype = POP_LIST_SINGLESELECT; switch(bID) { case LNB_ID: list_type = POP_LIST_TYPE_LNB; rect.uHeight = 330; param.cur = LNB_IDX; break; default: list_type = 0xFF; break; } if(list_type == 0xFF) break; cur_idx = win_com_open_sub_list(list_type,&rect,¶m); if(cur_idx == LIST_INVALID_SEL_IDX || cur_idx == param.cur) break; if(bID == LNB_ID) { LNB_IDX = cur_idx; OSD_TrackObject((POBJECT_HEAD)anesetm_items[LNB_ID - 1], C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); #ifdef SUPPORT_UNICABLE if(win_unicable_setting_open(LNB_IDX)) OSD_TrackObject((POBJECT_HEAD)&g_win_antenna_set_motor, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); #endif } } break; } return ret; }