Update of /cvsroot/freevo/freevo/src/gui In directory sc8-pr-cvs1:/tmp/cvs-serv14066
Modified Files: ListBox.py OptionBox.py Log Message: OptionBox now uses skin properties. Index: ListBox.py =================================================================== RCS file: /cvsroot/freevo/freevo/src/gui/ListBox.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ListBox.py 23 Mar 2003 23:19:39 -0000 1.6 --- ListBox.py 24 Mar 2003 00:37:06 -0000 1.7 *************** *** 10,13 **** --- 10,16 ---- # ----------------------------------------------------------------------- # $Log$ + # Revision 1.7 2003/03/24 00:37:06 rshortt + # OptionBox now uses skin properties. + # # Revision 1.6 2003/03/23 23:19:39 rshortt # When selected these objects now use skin properties as well. *************** *** 240,243 **** --- 243,253 ---- + def sort_items(self): + (x, y) = (0, 0) + for item in self.items: + item.set_position(x,y) + y = y + item.height + + def add_item(self, item=None, text=None, value=None): if not item: *************** *** 294,304 **** raise TypeError, 'Not all needed variables set.' ! ! (x, y) = (0, 0) for item in self.items: - item.set_position(x,y) - y = y + item.height item.draw(self.surface) ! RegionScroller._draw(self) --- 304,311 ---- raise TypeError, 'Not all needed variables set.' ! self.sort_items() for item in self.items: item.draw(self.surface) ! RegionScroller._draw(self) Index: OptionBox.py =================================================================== RCS file: /cvsroot/freevo/freevo/src/gui/OptionBox.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** OptionBox.py 9 Mar 2003 21:37:06 -0000 1.2 --- OptionBox.py 24 Mar 2003 00:37:06 -0000 1.3 *************** *** 10,13 **** --- 10,16 ---- # ----------------------------------------------------------------------- # $Log$ + # Revision 1.3 2003/03/24 00:37:06 rshortt + # OptionBox now uses skin properties. + # # Revision 1.2 2003/03/09 21:37:06 rshortt # Improved drawing. draw() should now be called instead of _draw(). draw() *************** *** 75,117 **** ! def __init__(self, text=" ", left=None, top=None, width=None, height=None, bg_color=None, fg_color=None, selected_bg_color=None, selected_fg_color=None, border=None, bd_color=None, bd_width=None): ! GUIObject.__init__(self) ! ! self.text = text ! self.border = border ! self.h_margin = 6 ! self.v_margin = 2 ! self.bd_color = bd_color ! self.bd_width = bd_width ! self.width = width ! self.height = height ! self.left = left ! self.top = top ! self.bg_color = bg_color ! self.fg_color = fg_color ! self.label = None ! self.selected_bg_color = selected_bg_color self.selected_fg_color = selected_fg_color ! # XXX: Place a call to the skin object here then set the defaults ! # acodringly. self.skin is set in the superclass. ! if not self.width: self.width = 75 ! if not self.height: self.height = 25 ! if not self.left: self.left = -100 ! if not self.top: self.top = -100 ! if not self.bg_color: self.bg_color = Color(self.osd.default_bg_color) ! if not self.fg_color: self.fg_color = Color(self.osd.default_fg_color) ! if not self.selected_fg_color: self.selected_fg_color = self.fg_color ! if not self.selected_bg_color: self.selected_bg_color = Color((0,255,0,128)) ! if not self.bd_color: self.bd_color = Color(self.osd.default_fg_color) ! if not self.bd_width: self.bd_width = 2 ! if not self.border: self.border = Border(self, Border.BORDER_FLAT, ! self.bd_color, self.bd_width) --- 78,147 ---- ! def __init__(self, text=" ", left=0, top=0, width=75, height=25, bg_color=None, fg_color=None, selected_bg_color=None, selected_fg_color=None, border=None, bd_color=None, bd_width=None): ! self.border = border ! self.bd_color = bd_color ! self.bd_width = bd_width ! self.bg_color = bg_color ! self.fg_color = fg_color self.selected_fg_color = selected_fg_color + self.selected_bg_color = selected_bg_color + self.max_visible = 5 + self.skin = skin.get_singleton() ! (BLAH, BLAH, BLAH, BLAH, ! button_default, button_selected) = \ ! self.skin.GetPopupBoxStyle() ! if not self.bg_color: ! if button_default.rectangle.bgcolor: ! self.bg_color = Color(button_default.rectangle.bgcolor) ! else: ! self.bg_color = Color(self.osd.default_bg_color) ! ! if not self.fg_color: ! if button_default.font.color: ! self.fg_color = Color(button_default.font.color) ! else: ! self.fg_color = Color(self.osd.default_fg_color) ! ! if not self.selected_bg_color: ! if button_selected.rectangle.bgcolor: ! self.selected_bg_color = Color(button_selected.rectangle.bgcolor) ! else: ! self.selected_bg_color = Color((0,255,0,128)) ! ! if not self.selected_fg_color: ! if button_selected.font.color: ! self.selected_fg_color = Color(button_selected.font.color) ! else: ! self.selected_fg_color = Color(self.osd.default_fg_color) ! ! ! GUIObject.__init__(self, left, top, width, height, ! self.bg_color, self.fg_color) ! ! self.h_margin = 6 ! self.v_margin = 2 ! ! if not self.bd_color: ! if button_default.rectangle.color: ! self.bd_color = Color(button_default.rectangle.color) ! else: ! self.bd_color = Color(self.osd.default_fg_color) ! ! if not self.bd_width: ! if button_default.rectangle.size: ! self.bd_width = button_default.rectangle.size ! else: ! self.bd_width = 2 ! ! if not self.border: ! self.border = Border(self, Border.BORDER_FLAT, ! self.bd_color, self.bd_width) *************** *** 121,129 **** self.text = None else: ! raise TypeError, text - self.max_visible = 5 self.list = ListBox(left=self.left, top=self.top+self.height, ! width=self.width, height=75) self.add_child(self.list) self.list.visible = 0 --- 151,181 ---- self.text = None else: ! raise TypeError, text ! ! if button_default.font: ! self.set_font(self.label, ! button_default.font.name, ! button_default.font.size, ! Color(button_default.font.color)) ! else: ! self.set_font(config.OSD_DEFAULT_FONTNAME, ! config.OSD_DEFAULT_FONTSIZE) ! ! if button_selected.font: ! self.set_font(self.selected_label, ! button_selected.font.name, ! button_selected.font.size, ! Color(button_selected.font.color)) ! else: ! self.set_font(self.selected_label, ! config.OSD_DEFAULT_FONTNAME, ! config.OSD_DEFAULT_FONTSIZE) ! ! self.set_v_align(Align.BOTTOM) ! self.set_h_align(Align.CENTER) ! self.list = ListBox(left=self.left, top=self.top+self.height, ! width=self.width, height=self.height*self.max_visible) self.add_child(self.list) self.list.visible = 0 *************** *** 131,134 **** --- 183,187 ---- def change_item(self, direction): + self.list.sort_items() self.list.scroll(direction) *************** *** 174,181 **** box.set_alpha(a) ! ar_1 = (self.width-18, 5) ! ar_2 = (self.width-8, 5) ! ar_3 = (self.width-13, 20) ! pygame.draw.polygon(box, (64, 64, 64), [ar_1, ar_2, ar_3]) self.osd.screen.blit(box, self.get_position()) --- 227,240 ---- box.set_alpha(a) ! ar_1 = (self.width-18, 7) ! ar_2 = (self.width-8, 7) ! ar_3 = (self.width-13, 18) ! ! if self.selected: ! arrow_color = self.selected_fg_color.get_color_sdl() ! else: ! arrow_color = self.fg_color.get_color_sdl() ! ! pygame.draw.polygon(box, arrow_color, [ar_1, ar_2, ar_3]) self.osd.screen.blit(box, self.get_position()) *************** *** 183,187 **** if self.border: self.border.draw() if self.list: self.list.draw() ! if self.label: self.label.draw() --- 242,250 ---- if self.border: self.border.draw() if self.list: self.list.draw() ! ! if self.selected: ! self.selected_label.draw() ! else: ! self.label.draw() *************** *** 201,217 **** self.label = Label(text) self.label.set_parent(self) - # These values can also be maipulated by the user through - # get_font and set_font functions. - self.label.set_font( config.OSD_DEFAULT_FONTNAME, - config.OSD_DEFAULT_FONTSIZE ) # XXX Set the background color to none so it is transparent. self.label.set_background_color(None) self.label.set_h_margin(self.h_margin) self.label.set_v_margin(self.v_margin) - self.label.set_v_align(Align.MIDDLE) - self.label.set_h_align(Align.LEFT) else: self.label.set_text(text) --- 264,288 ---- self.label = Label(text) self.label.set_parent(self) # XXX Set the background color to none so it is transparent. self.label.set_background_color(None) self.label.set_h_margin(self.h_margin) self.label.set_v_margin(self.v_margin) else: self.label.set_text(text) + if not self.selected_label: + self.selected_label = Label(text) + self.selected_label.set_parent(self) + # XXX Set the background color to none so it is transparent. + self.selected_label.set_background_color(None) + self.selected_label.set_h_margin(self.h_margin) + self.selected_label.set_v_margin(self.v_margin) + else: + self.selected_label.set_text(text) + + self.label.set_v_align(Align.MIDDLE) + self.label.set_h_align(Align.LEFT) + self.selected_label.set_v_align(Align.MIDDLE) + self.selected_label.set_h_align(Align.LEFT) *************** *** 223,227 **** ! def set_font(self, file, size): """ Set the font. --- 294,298 ---- ! def set_font(self, label, file, size, color): """ Set the font. *************** *** 229,236 **** Just hands the info down to the label. Might raise an exception. """ ! if self.label: ! self.label.set_font(file, size) ! else: ! raise TypeError, file --- 300,304 ---- Just hands the info down to the label. Might raise an exception. """ ! label.set_font(file, size, color) ------------------------------------------------------- This SF.net email is sponsored by:Crypto Challenge is now open! Get cracking and register here for some mind boggling fun and the chance of winning an Apple iPod: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en _______________________________________________ Freevo-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freevo-cvslog