Пример #1
0
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);
	
}
Пример #2
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);

}
Пример #3
0
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);		

}
Пример #4
0
BOOL submenu_set_items(sub_menu_t* sub_menu)
{
	UINT32 i;
	sub_menu_item_t* menu_item;
	CONTAINER* menu_item_obj;
	POBJECT_HEAD pObj,pObjName,pObjSet;
	CONTAINER* win_sub_menu = &g_win_submenu;
	UINT8 action;
	BOOL ret = TRUE;
	UINT8 focusID;
	focusID = OSD_GetFocusID((POBJECT_HEAD)&g_win_mainmenu);

    if (sub_menu->item_count <= C_SUBMENU_PAGE)
    {
#ifdef SATLLITE_SHARE_SUPPORT       //guop add 20100903
	if(focusID==2)
	{
         if(share_flag == FALSE)
         {
               sub_menu->item_count =3;
	  }
	  else
  	 {
               sub_menu->item_count =4;
	  }
	}
#endif
        sub_menu->list_page = sub_menu->item_count;
    }
    else
    {
        sub_menu->list_page = C_SUBMENU_PAGE;
    }

    UINT32 count = sub_menu->item_count;
    UINT32 depth = sub_menu->list_page;
    UINT32 max_top = OSD_GetMaxTopPos(count, &depth);

    if (sub_menu->list_top >= sub_menu->list_sel)
        sub_menu->list_top = sub_menu->list_sel;
    else if (sub_menu->list_sel - sub_menu->list_top >= sub_menu->list_page)
        sub_menu->list_top = sub_menu->list_sel + 1 - sub_menu->list_page;

    if (sub_menu->list_top > max_top)
        sub_menu->list_top = max_top;

    if (submenu_item_attr(sub_menu, sub_menu->list_sel) != C_ATTR_ACTIVE)
    {
        ret = submenu_scroll_down(sub_menu);
    }

	sub_menu_desc = sub_menu;

	/*Set menu callback */
	if(sub_menu->menu_callback != NULL)
		OSD_SetCallback(win_sub_menu, sub_menu->menu_callback);
	else
		OSD_SetCallback(win_sub_menu, sm_con_callback);		

    submenu_set_one_page(sub_menu);

	SCROLL_BAR* sb = &subm_scrollbar;
	OSD_SetScrollBarMax(sb, sub_menu->item_count);
	OSD_SetScrollBarPos(sb, sub_menu->list_sel);

    return ret;
}
Пример #5
0
BOOL submenu_unknown_act(sub_menu_t *sub_menu, UINT32 vact)
{
    UINT32 count = sub_menu->item_count;
    UINT32 depth = sub_menu->list_page;
    UINT32 top_pos = sub_menu->list_top;
    UINT32 cur_sel = sub_menu->list_sel;
    UINT32 cur_pos = cur_sel - top_pos;
    UINT32 old_sel = cur_sel;
    UINT32 old_top = top_pos;
    UINT32 i;
    BOOL ret = TRUE;
	
    TEXT_FIELD* txt1;	
   TEXT_FIELD* txt2;	
	if (vact >= VACT_NUM_1 && vact<= VACT_NUM_9)
	{
        OSD_ChangeFocus((POBJECT_HEAD)&g_win_submenu, vact - VACT_NUM_0, C_UPDATE_FOCUS);
        return TRUE;
	}

	if(vact == VACT_FOCUS_P_UP || vact == VACT_FOCUS_P_DOWN)
	{
	    if (vact == VACT_FOCUS_P_UP)
	        ret = OSD_ScrollLinePgUp(count, depth, &top_pos, &cur_pos);
	    else
	        ret = OSD_ScrollLinePgDown(count, depth, &top_pos, &cur_pos);
	    if (!ret)
	        return FALSE;

	    cur_sel = top_pos + cur_pos;
	    if (cur_sel == old_sel)
	        return FALSE;
	    if (submenu_item_attr(sub_menu, cur_sel) == C_ATTR_ACTIVE)
		{
	        vact = VACT_PASS;
	    }
		else
		{
		    if (vact == VACT_FOCUS_P_UP)
		        vact = VACT_FOCUS_UP;
		    else
		        vact = VACT_FOCUS_DOWN;
		}
	}
	
	if(vact == VACT_FOCUS_UP || vact == VACT_FOCUS_DOWN)
	{
	    for (i = 0; i < count; i++)
	    {
	        if (vact == VACT_FOCUS_UP)
	            ret = OSD_ScrollLineUp(count, depth, &top_pos, &cur_pos);
	        else
	            ret = OSD_ScrollLineDown(count, depth, &top_pos, &cur_pos);
	        if (!ret)
	            return FALSE;

	        cur_sel = top_pos + cur_pos;
	        if (cur_sel == old_sel)
	            return FALSE;
	        if (submenu_item_attr(sub_menu, cur_sel) == C_ATTR_ACTIVE)
	            break;
	    }
    if (i == count)
        return FALSE;
	}

    if (cur_sel != old_sel)
    {
        sub_menu->list_top = top_pos;
        sub_menu->list_sel = cur_sel;
    	OSD_SetScrollBarPos(&subm_scrollbar, cur_sel);

        if (old_top == top_pos)
        {
            OSD_ChangeFocus((POBJECT_HEAD)&g_win_submenu, cur_pos + 1, C_DRAW_SIGN_EVN_FLG |C_UPDATE_FOCUS);
	/*	txt1 = submenu_txt[cur_pos];
		txt1->head.bFont = 2;
		txt2 = submenu_txt[old_sel];
		txt2->head.bFont = 0;	   
	*/
            OSD_DrawObject((POBJECT_HEAD)&subm_scrollbar, C_UPDATE_ALL);
        }
        else
        {
            submenu_set_one_page(sub_menu);

        	OSD_TrackObject((POBJECT_HEAD)&g_win_submenu, C_UPDATE_CONTENT);
        }
    }
    
    return TRUE;
}