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

Reply via email to