예제 #1
0
static void win_setting_display(BOOL bDraw)
{
	UINT8 i,bID;
	char str_buff[10];
	TEXT_FIELD *pTxt;
	CONTAINER *win;

	if(0 == image_slide_temp.uTime_gap)
		sprintf(str_buff, "Off");
	else
		sprintf(str_buff,"%d Sec",image_slide_temp.uTime_gap);

	win = &g_win_slidesetup;
	bID = OSD_GetContainerFocus(win);
	for(i = 0; i < 2; i++)
	{
		pTxt = txt_settings[i];
		if(i == 0)
			OSD_SetTextFieldContent(pTxt,STRING_ANSI,(UINT32)str_buff);
		else
			OSD_SetTextFieldContent(pTxt,STRING_ID,slide_repeat_strids[image_slide_temp.bRepeat]);

		if((bID == (i + 1)) && (bDraw))
		{
			OSD_TrackObject((POBJECT_HEAD)pTxt, C_UPDATE_ALL);
		}
	}
}
예제 #2
0
static void win_atnsetm_load_tuner_configuration(void)
{
	CONTAINER* tuner_item= &atnsetm_item1;
	CONTAINER* win =&g_win_antenna_set_motor;
	CONTAINER* lnb_item = &atnsetm_item2;
	MULTISEL* msel;
	POBJECT_HEAD pObj;

	UINT32 i,tuner_cnt;
	UINT8 action;
	static BOOL bFirstTime = 1;

#ifdef SUPPORT_TWO_TUNER


	msel = anesetm_msels[TUNER_ID - 1];
	tuner_cnt = get_tuner_cnt();

	msel->nCount = tuner_cnt;
	if(antset_cur_tuner >= tuner_cnt)
		antset_cur_tuner = tuner_cnt - 1;
	msel->nSel = antset_cur_tuner;
	
	action = (tuner_cnt == 1)? C_ATTR_INACTIVE : C_ATTR_ACTIVE;
	OSD_SetAttr(tuner_item, action);
	pObj = OSD_GetContainerNextObj(tuner_item);
	while(pObj)
	{
		OSD_SetAttr(pObj , action);
		pObj = OSD_GetObjpNext(pObj);				
	}
	if((C_ATTR_INACTIVE == action)&&(TUNER_ID == OSD_GetContainerFocus(win)))
 		OSD_SetContainerFocus(win, LNB_ID);

	tuner_type_ids[0] = get_tuner_strid(0);
	tuner_type_ids[1] = get_tuner_strid(1);
#else
	if(bFirstTime)
	{
		OSD_SetContainerNextObj(win,lnb_item);
		lnb_item->head.bUpID = tuner_item->head.bUpID;

		pObj = (POBJECT_HEAD)lnb_item;
		OSD_MoveObject(pObj,0, -(CON_H + CON_GAP), TRUE);
		while(pObj->pNext)
		{
			pObj = pObj->pNext;
			OSD_MoveObject(pObj,0, -(CON_H + CON_GAP), TRUE);
		}
		pObj->bDownID = lnb_item->head.bID;
    	OSD_SetContainerFocus(win, LNB_ID);
	}
	bFirstTime = 0;
	
#endif
}
예제 #3
0
static PRESULT newcamd_win_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2)
{
	PRESULT ret = PROC_PASS;
	VACTION unact;
	VACTION msg_got;
	UINT8 bFocusID=OSD_GetContainerFocus((PCONTAINER)&g_win_newcamd);
	
	switch(event)
	{
		case EVN_PRE_OPEN:
			newcamd_init();
			break;
		case EVN_POST_OPEN:
		#ifdef NEWCAMD_SUPPORT_EXT16_SERVER
			newcamd_draw_ext_server_info(0);
		#endif
			wincom_open_help(pObj,newcamd_helpinfo, ARRAY_SIZE(newcamd_helpinfo));
			break;
		case EVN_PRE_CLOSE:
	       	*((UINT32 *)param2) &= ~C_CLOSE_CLRBACK_FLG;

			break;
		case EVN_POST_CLOSE:
			//OSD_ClearObject( (POBJECT_HEAD)&g_win_newcamd, C_UPDATE_ALL);
			wincom_close_help();
			OSD_TrackObject((POBJECT_HEAD)&g_win_mainmenu,C_UPDATE_ALL);
			break;

		case EVN_UNKNOWN_ACTION:
			unact = (VACTION)(param1>>16);
			ret=newcamd_unknowact_proc(pObj,unact);
			break;
		case EVN_ITEM_POST_CHANGE:
			{
				g_newcamd_curidx=bFocusID;
				newcamd_display_info1(TRUE);
				newcamd_display_info2(TRUE,newcamd_serinfo[g_newcamd_curidx-1].cas_sys_type);
				//newcamd_draw_ext_server_info(bFocusID-1);
			}
			break;
		case EVN_MSG_GOT:
			if(param1==CTRL_MSG_SUBTYPE_STATUS_NEWCAMD)
			{
				UINT16 serIdx = (UINT16)(param2>>16);
				UINT16 casType= (UINT16)(param2&0xFFFF);
				NEWCAMD_SERVER_T Newcamd_Serinfo;

				get_newcamd_serinfo( (PNEWCAMD_SERVER_T)&newcamd_serinfo[serIdx],serIdx);
				newcamd_display_info2(TRUE,newcamd_serinfo[g_newcamd_curidx-1].cas_sys_type);
			}
			//soc_printf("param1:0x%x vaction is 0x%x, 0x%x\n",param1,msg_got,VACT_CURSOR_LEFT);
			//newcamd_redraw_dt(TRUE);
			//newcamd_signal_refresh(TRUE);
			
			break;
	}	
예제 #4
0
static PRESULT sp_win_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2)
{
	PRESULT ret = PROC_PASS;
	VACTION unact;
	VACTION msg_got;
	UINT8 bFocusID=OSD_GetContainerFocus((PCONTAINER)&g_win_spielercam);
	
	switch(event)
	{
		case EVN_PRE_OPEN:
			//wincom_close_help();
			nc_setting_init();

			//OSD_SetID(&sp_item_con2,2,2,2,7,3);
			OSD_SetID(&sp_item_con7,7,7,7,6,6);
			OSD_SetContainerFocus(&g_win_spielercam,7);
			if(CccamNewcamdData.spidercam_code_active!=0&&CccamNewcamdData.spidercam_code_active!=1)
			CccamNewcamdData.spidercam_code_active=0;
			sp_item_sel_active(CccamNewcamdData.spidercam_code_active, 0,TRUE);
			break;
		case EVN_POST_OPEN:
			spidercam_title_display();
			break;
		case EVN_PRE_CLOSE:
			nc_save_serinfo(0);

			sys_data_save(1);
	       	*((UINT32 *)param2) &= ~C_CLOSE_CLRBACK_FLG;

			break;
		case EVN_POST_CLOSE:
			OSD_ClearObject( (POBJECT_HEAD)&g_win_spielercam, C_UPDATE_ALL);
			//wincom_close_help();
			//OSD_TrackObject((POBJECT_HEAD)&g_win_mainmenu,C_UPDATE_ALL);
			break;

		case EVN_UNKNOWN_ACTION:
			unact = (VACTION)(param1>>16);
			break;
		case EVN_ITEM_POST_CHANGE:
			break;
		case EVN_MSG_GOT:
			msg_got = (VACTION)(param1>>16);
			//soc_printf("param1:0x%x vaction is 0x%x, 0x%x\n",param1,msg_got,VACT_CURSOR_LEFT);
			
			break;
	}	

	return ret;
}
예제 #5
0
static PRESULT maildetail_win_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2)
{
	PRESULT ret = PROC_PASS;
	VACTION unact;
	VACTION msg_got;
	UINT8 bFocusID=OSD_GetContainerFocus((PCONTAINER)&g_win_cti_mail_detail);
	INT32 iret;
	
	switch(event)
	{
		case EVN_PRE_OPEN:
			mail_init_pstring(3);
			iret = mail_content_got_info();
			if (0 == iret)
			{
				ret = PROC_LEAVE;
				break;
			}
			break;
		case EVN_POST_OPEN:
			break;

		case EVN_PRE_CLOSE:
	       	*((UINT32 *)param2) &= ~C_CLOSE_CLRBACK_FLG;

			break;
		case EVN_POST_CLOSE:
			break;

		case EVN_UNKNOWN_ACTION:
			unact = (VACTION)(param1>>16);
			break;
		case EVN_ITEM_POST_CHANGE:
			break;
		case EVN_MSG_GOT:
			msg_got = (VACTION)(param1>>16);
			break;
		case EVN_PRE_DRAW:
			maildetail_fill_content();
			break;
	}	

	return ret;
}
예제 #6
0
static PRESULT win_setting_proc(VACTION unact)
{
	UINT8 bID;
	CONTAINER*win;
	PRESULT ret = PROC_PASS;

	if((unact == VACT_SET_DECREASE) || (unact == VACT_SET_INCREASE))
	{
		ret = PROC_LOOP;
		win = &g_win_slidesetup;
		bID = OSD_GetContainerFocus(win);
		switch(bID)
		{
			case TIME_ID:
				if(unact == VACT_SET_INCREASE)
					image_slide_temp.uTime_gap = (image_slide_temp.uTime_gap + 1) % SLIDE_MAX_SEC;
				else
					image_slide_temp.uTime_gap = (image_slide_temp.uTime_gap + SLIDE_MAX_SEC - 1) % SLIDE_MAX_SEC;
				break;
			case REPEAT_ID:
				image_slide_temp.bRepeat = 1 - image_slide_temp.bRepeat;
				break;
			default:
				break;
		}

		win_setting_display(TRUE);
	}
	else if(unact == VACT_SAVE_EXIT)
	{
		memcpy(&image_slide_setting,&image_slide_temp,sizeof(IMAGE_SLIDE_INFO));
		ret = PROC_LEAVE;
	}
	else if(unact == VACT_ABANDON_EXIT)
	{
		ret = PROC_LEAVE;
	}


	return ret;
}
예제 #7
0
// save ,exit btn
static VACTION slideset_btn_keymap(POBJECT_HEAD pObj, UINT32 key)
{
	VACTION act;
    CONTAINER* win = &g_win_slidesetup;
    UINT8 bID;
    
	bID = OSD_GetContainerFocus(win);
	switch(key)
	{
	case V_KEY_ENTER:
        if(BTN_SAVE_ID == bID) 
		    act  = VACT_SAVE_EXIT;
        else
            act = VACT_ABANDON_EXIT;
		break;
	default:
		act = VACT_PASS;
	
	}

	return act;

}
예제 #8
0
static PRESULT sp_win_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2)
{
	PRESULT ret = PROC_PASS;
	VACTION unact;
	VACTION msg_got;
	UINT8 bFocusID=OSD_GetContainerFocus((PCONTAINER)&g_win_spielercam);
	
	switch(event)
	{
		case EVN_PRE_OPEN:
			//wincom_close_help();
			nc_setting_init();

			//OSD_SetID(&sp_item_con2,2,2,2,7,3);
			OSD_SetID(&sp_item_con7,7,7,7,6,6);
			OSD_SetContainerFocus(&g_win_spielercam,7);
			if(CccamNewcamdData.spidercam_code_active!=0&&CccamNewcamdData.spidercam_code_active!=1)
			CccamNewcamdData.spidercam_code_active=0;
			sp_item_sel_active(CccamNewcamdData.spidercam_code_active, 0,TRUE);
			break;
		case EVN_POST_OPEN:
			#if  defined(ORDER_GZ1204004)||defined(ORDER_GZ1204005)
			wincom_open_help_OK_list_small2(pObj, spider_helpinfo, ARRAY_SIZE(spider_helpinfo));
			#else
			spidercam_title_display();
			#endif
			break;
		case EVN_PRE_CLOSE:
			#if  defined(ORDER_GZ1204004)||defined(ORDER_GZ1204005)
			wincom_close_help();
			#endif
			nc_save_serinfo(0);

			sys_data_save(1);
	       	*((UINT32 *)param2) &= ~C_CLOSE_CLRBACK_FLG;

			break;
		case EVN_POST_CLOSE:
			OSD_ClearObject( (POBJECT_HEAD)&g_win_spielercam, C_UPDATE_ALL);
			//wincom_close_help();
			//OSD_TrackObject((POBJECT_HEAD)&g_win_mainmenu,C_UPDATE_ALL);
			break;

		case EVN_UNKNOWN_ACTION:
			unact = (VACTION)(param1>>16);
			#if  defined(ORDER_GZ1204004)||defined(ORDER_GZ1204005)
			UINT32 back_saved;
		    	if(unact==VACT_ENTER)
		    	{
				win_compopup_init(WIN_POPUP_TYPE_SMSG);
				win_compopup_set_msg("Apply the setting.", NULL, 0);
				win_compopup_open_ext(&back_saved); 
				osal_task_sleep(1000);
				win_compopup_smsg_restoreback();
				nc_save_serinfo(0);
				sys_data_save(1);
				
			#ifdef SPIELERCAM_SUPPORT
					//手动获得spidercamd 帐号
					getInfoFromSpiderCamd();
			#endif

			}
			#endif
			break;
		case EVN_ITEM_POST_CHANGE:
			break;
		case EVN_MSG_GOT:
			msg_got = (VACTION)(param1>>16);
			//soc_printf("param1:0x%x vaction is 0x%x, 0x%x\n",param1,msg_got,VACT_CURSOR_LEFT);
			
			break;
	}	

	return ret;
}
예제 #9
0
static PRESULT cti_PPID_con_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2)
{
	PRESULT ret = PROC_PASS;
	VACTION unact;
	UINT8 bFocusID=OSD_GetContainerFocus((PCONTAINER)&g_win_cti_PPID);

	switch(event)
	{
		case EVN_PRE_OPEN:
			if(cti_PPID_init(param2)!=0)
			{
			#if (CTI_INFO_DISP_MODE==1)
				win_popup_msg(NULL, NULL, RS_CTI_NO_CARD);
				ret= PROC_LEAVE;
				break;
			#endif
			}
			cti_PPID_display(FALSE);
			//wincom_open_title_ext(pObj,"Program Provider",0);
			wincom_open_subtitle(pObj,RS_CTI_PROVIDER_INFO,0);
			break;
			
		case EVN_POST_OPEN:
			break;		
			
		case EVN_PRE_CLOSE:
			/* Make OSD not flickering */
			*((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; 
			break;
			
		case EVN_POST_CLOSE:
			break;

		case EVN_ITEM_POST_CHANGE:
			g_PPID_itemIdx=bFocusID;
			break;

		case EVN_UNKNOWN_ACTION:
			{
				cas_sc_t cardinfo;
				VACTION act = (VACTION)(param1>>16);

				// check sc statues
				cas_get_sc_info_req(&cardinfo);
				if(cardinfo.sc_status!=CAS_SC_OK)
				{
					return PROC_PASS;
				}

				if(act==VACT_ENTER)
				{
					cti_PPID_detail_info_display();
				}
				else
				{
					cti_PPID_unknowact_proc(act);
				}

			}
			break;				
			
		case EVN_MSG_GOT:
			if(CTRL_MSG_SUBTYPE_STATUS_CTI_CA==param1)
			{
			#if 0
				if( (param2>>16)== CAS_DISP_CARD_OUT)
				{
				#if (CTI_INFO_DISP_MODE==1)
					ret=PROC_LEAVE;
				#endif
				}
				else
				{
					cti_PPID_init(MENU_OPEN_TYPE_MENU);
					cti_PPID_display(TRUE);
				}
			#else
					cas_sc_t card_info;
				if( (param2>>16)== CAS_DISP_SC_INFO)
				{
					cas_get_sc_info_req(&card_info);	

					cti_PPID_init(MENU_OPEN_TYPE_MENU);
					cti_PPID_display(TRUE);
					if(card_info.sc_status==0)	//smart card ok
					{
					}
					else if(card_info.sc_status==1)	//smart card out	
					{
					#if (CTI_INFO_DISP_MODE==1)
					/*无卡状态自动退出*/
						ret = PROC_LEAVE;
					#endif
					}

				}
		
			#endif
			}
			break;
			
		default:
			break;
	}