Update of /cvsroot/freevo/freevo/skins/dischi1 In directory sc8-pr-cvs1:/tmp/cvs-serv2949
Modified Files: area.py skin_dischi1.py xml_skin.py Log Message: integration of the tv guide Index: area.py =================================================================== RCS file: /cvsroot/freevo/freevo/skins/dischi1/area.py,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** area.py 7 Mar 2003 17:27:46 -0000 1.17 --- area.py 8 Mar 2003 17:36:47 -0000 1.18 *************** *** 28,31 **** --- 28,34 ---- # ----------------------------------------------------------------------- # $Log$ + # Revision 1.18 2003/03/08 17:36:47 dischi + # integration of the tv guide + # # Revision 1.17 2003/03/07 17:27:46 dischi # added support for extended menus *************** *** 270,274 **** ! def draw(self, settings, obj, display_style=0, widget_type='menu'): """ this is the main draw function. This function draws the background, --- 273,277 ---- ! def draw(self, settings, obj, display_style=0, widget_type='menu', force_redraw=FALSE): """ this is the main draw function. This function draws the background, *************** *** 282,285 **** --- 285,293 ---- self.item = self.menu.selected item_type = self.menu.item_types + elif widget_type == 'tv': + self.menuw = obj + self.menu = obj + item_type = None + self.item = None else: item_type = None *************** *** 289,293 **** self.content_objects = [] ! self.redraw = FALSE self.mode = 0 # start draw --- 297,301 ---- self.content_objects = [] ! self.redraw = force_redraw self.mode = 0 # start draw *************** *** 456,459 **** --- 464,469 ---- if widget_type == 'player': area = settings.player + elif widget_type == 'tv': + area = settings.tv else: if self.display_style and settings.menu.has_key('extended %s' % display_type): Index: skin_dischi1.py =================================================================== RCS file: /cvsroot/freevo/freevo/skins/dischi1/skin_dischi1.py,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** skin_dischi1.py 7 Mar 2003 17:27:48 -0000 1.33 --- skin_dischi1.py 8 Mar 2003 17:36:47 -0000 1.34 *************** *** 10,13 **** --- 10,16 ---- # ----------------------------------------------------------------------- # $Log$ + # Revision 1.34 2003/03/08 17:36:47 dischi + # integration of the tv guide + # # Revision 1.33 2003/03/07 17:27:48 dischi # added support for extended menus *************** *** 154,157 **** --- 157,161 ---- from listing_area import Listing_Area + from tvlisting_area import TVListing_Area from view_area import View_Area from info_area import Info_Area *************** *** 243,246 **** --- 247,251 ---- self.display_style = 0 self.force_redraw = TRUE + self.last_draw = None self.screen = Screen() self.area_names = ( 'screen', 'title', 'listing', 'view', 'info') *************** *** 249,253 **** (a[0].upper(), a[1:]))) ! if DEBUG: print 'Skin: Loading XML file %s' % config.SKIN_XML_FILE --- 254,259 ---- (a[0].upper(), a[1:]))) ! self.tvlisting = TVListing_Area(self, self.screen) ! if DEBUG: print 'Skin: Loading XML file %s' % config.SKIN_XML_FILE *************** *** 378,402 **** - def ItemsPerMenuPage(self, menu): - - if not menu: - osd.drawstring('INTERNAL ERROR, NO MENU!', 100, osd.height/2) - return (0,0) - - if menu.skin_settings: - settings = menu.skin_settings - else: - settings = self.settings - - # hack for the main menu to fit all in one screen - if not menu.packrows: - menu.item_types = 'main' - - rows, cols = self.listing_area.get_items_geometry(settings, menu, - self.display_style)[:2] - return (cols, rows) - - - def SubMenuVisible(self, menu): """ --- 384,387 ---- *************** *** 413,506 **** ! def Clear(self): """ ! clean the screen """ ! self.force_redraw = TRUE ! osd.clearscreen(osd.COL_BLACK) ! osd.update() ! def DrawMenu(self, menuw): """ ! Called from the MenuWidget class to draw a menu page on the ! screen """ ! if not menuw.visible: ! return - draw_allowed = TRUE - for child in menuw.children: - draw_allowed = draw_allowed and not child.visible ! if not draw_allowed: ! self.force_redraw = TRUE ! return ! ! menu = menuw.menustack[-1] ! if not menu: osd.drawstring('INTERNAL ERROR, NO MENU!', 100, osd.height/2) return ! if menu.skin_settings: ! settings = menu.skin_settings else: settings = self.settings ! # FIXME ! if len(menuw.menustack) == 1: ! menu.item_types = 'main' ! ! self.screen.clear() - for a in self.area_names: - area = eval('self.%s_area' % a) - area.draw(settings, menuw, self.display_style) - self.screen.show(self.force_redraw) osd.update() - self.force_redraw = FALSE - - def DrawMP3(self, info): - self.screen.clear() ! for a in self.area_names: ! area = eval('self.%s_area' % a) ! area.draw(self.settings, info, self.display_style, 'player') ! self.screen.show(self.force_redraw) ! osd.update() ! # TV Guide: ! def DrawTVGuide(self): ! pass ! ! def DrawTVGuide_Clear(self): ! pass ! def DrawTVGuide_getExpand(self): ! pass - def DrawTVGuide_setExpand(self, expand): - pass ! def DrawTVGuide_View(self, to_view): ! pass ! def DrawTVGuide_Info(self, to_info): ! pass ! ! def DrawTVGuide_ItemsPerPage(self): ! return (2,3) ! def DrawTVGuide_Listing(self, to_listing): ! pass def format_track (self, array): """ Return a formatted string for use in music.py """ --- 398,525 ---- ! def DrawMenu(self, menuw): """ ! deprecated, dummy for now """ ! self.draw(('menu', menuw)) + def DrawMP3(self, info): + """ + deprecated, dummy for now + """ + self.draw(('player', info)) ! def DrawTVGuide(self, menuw): """ ! deprecated, dummy for now """ ! self.draw(('tv', menuw)) ! ! def DrawTVGuide_ItemsPerPage(self, tv): ! """ ! deprecated, dummy for now ! """ ! return self.items_per_page(('tv', tv)) ! def ItemsPerMenuPage(self, menu): ! """ ! deprecated, dummy for now ! """ ! return self.items_per_page(('menu', menu)) ! ! def items_per_page(self, (type, object)): ! if not object: osd.drawstring('INTERNAL ERROR, NO MENU!', 100, osd.height/2) return + + if type == 'tv': + return self.tvlisting.get_items_geometry(self.settings, object)[4] ! if object.skin_settings: ! settings = object.skin_settings else: settings = self.settings ! # hack for the main menu to fit all in one screen ! if not object.packrows: ! object.item_types = 'main' ! ! rows, cols = self.listing_area.get_items_geometry(settings, object, ! self.display_style)[:2] ! return (cols, rows) + def Clear(self): + """ + clean the screen + """ + self.force_redraw = TRUE + osd.clearscreen(osd.COL_BLACK) osd.update() ! def draw(self, (type, object)): ! if type == 'menu': ! menuw = object ! ! if not menuw.visible: ! return ! draw_allowed = TRUE ! for child in menuw.children: ! draw_allowed = draw_allowed and not child.visible ! if not draw_allowed: ! self.force_redraw = TRUE ! return + menu = menuw.menustack[-1] ! if not menu: ! osd.drawstring('INTERNAL ERROR, NO MENU!', 100, osd.height/2) ! return ! if menu.skin_settings: ! settings = menu.skin_settings ! else: ! settings = self.settings ! # FIXME ! if len(menuw.menustack) == 1: ! menu.item_types = 'main' ! else: ! settings = self.settings ! if type == 'tv': ! l = self.listing_area ! self.listing_area = self.tvlisting ! if self.last_draw != type: ! self.force_redraw = TRUE ! self.last_draw = type ! ! self.screen.clear() ! ! for a in self.area_names: ! area = eval('self.%s_area' % a) ! area.draw(settings, object, self.display_style, self.last_draw, ! self.force_redraw) + self.screen.show(self.force_redraw) + + if type == 'tv': + self.listing_area = l + + osd.update() + self.force_redraw = FALSE + + + + def format_track (self, array): """ Return a formatted string for use in music.py """ Index: xml_skin.py =================================================================== RCS file: /cvsroot/freevo/freevo/skins/dischi1/xml_skin.py,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** xml_skin.py 7 Mar 2003 22:54:12 -0000 1.22 --- xml_skin.py 8 Mar 2003 17:36:47 -0000 1.23 *************** *** 10,13 **** --- 10,16 ---- # ----------------------------------------------------------------------- # $Log$ + # Revision 1.23 2003/03/08 17:36:47 dischi + # integration of the tv guide + # # Revision 1.22 2003/03/07 22:54:12 dischi # First version of the extended menu with image support. Try the music menu *************** *** 495,498 **** --- 498,518 ---- # ====================================================================== + + class XML_tv: + def __init__(self): + self.content = ( 'screen', 'title', 'view', 'info', 'listing' ) + for c in self.content: + setattr(self, c, XML_area()) + + + def parse(self, node, scale, current_dir): + for subnode in node.children: + for c in self.content: + if subnode.name == c: + eval('self.%s.parse(subnode, scale, current_dir)' % c) + + + # ====================================================================== + # # Main XML skin class *************** *** 510,513 **** --- 530,534 ---- self.popup = '' self.player = XML_player() + self.tv = XML_tv() *************** *** 561,564 **** --- 582,588 ---- if node.name == u'player': self.player.parse(node, scale, c_dir) + + if node.name == u'tv': + self.tv.parse(node, scale, c_dir) ------------------------------------------------------- This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger for complex code. Debugging C/C++ programs can leave you feeling lost and disoriented. TotalView can help you find your way. Available on major UNIX and Linux platforms. Try it free. www.etnus.com _______________________________________________ Freevo-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freevo-cvslog