Update of /cvsroot/freevo/freevo/src/gui
In directory sc8-pr-cvs1:/tmp/cvs-serv20019

Modified Files:
        Button.py GUIObject.py ListBox.py ListItem.py 
Log Message:
When selected these objects now use skin properties as well.


Index: Button.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/gui/Button.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** Button.py   9 Mar 2003 21:37:06 -0000       1.4
--- Button.py   23 Mar 2003 23:19:39 -0000      1.5
***************
*** 10,13 ****
--- 10,16 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.5  2003/03/23 23:19:39  rshortt
+ # When selected these objects now use skin properties as well.
+ #
  # Revision 1.4  2003/03/09 21:37:06  rshortt
  # Improved drawing.  draw() should now be called instead of _draw(). draw()
***************
*** 160,166 ****
              raise TypeError, text
  
-         # going to support sel_font soon!
          if button_default.font:       
!             self.set_font(button_default.font.name, 
                            button_default.font.size, 
                            Color(button_default.font.color))
--- 163,169 ----
              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))
***************
*** 169,172 ****
--- 172,185 ----
                            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)
***************
*** 190,194 ****
          self.osd.screen.blit(box, self.get_position())
  
!         if self.label:  self.label.draw()
          if self.border: self.border.draw()
  
--- 203,211 ----
          self.osd.screen.blit(box, self.get_position())
  
!         if self.selected:
!             self.selected_label.draw()
!         else:
!             self.label.draw()
! 
          if self.border: self.border.draw()
  
***************
*** 216,221 ****
--- 233,250 ----
              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.CENTER)
+         self.selected_label.set_v_align(Align.MIDDLE)
+         self.selected_label.set_h_align(Align.CENTER)
  
  
***************
*** 227,231 ****
  
  
!     def set_font(self, file, size, color):
          """
          Set the font.
--- 256,260 ----
  
  
!     def set_font(self, label, file, size, color):
          """
          Set the font.
***************
*** 233,240 ****
          Just hands the info down to the label. Might raise an exception.
          """
!         if self.label:
!             self.label.set_font(file, size, color)
!         else:
!             raise TypeError, file
  
  
--- 262,266 ----
          Just hands the info down to the label. Might raise an exception.
          """
!         label.set_font(file, size, color)
  
  

Index: GUIObject.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/gui/GUIObject.py,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** GUIObject.py        9 Mar 2003 21:37:06 -0000       1.10
--- GUIObject.py        23 Mar 2003 23:19:39 -0000      1.11
***************
*** 8,11 ****
--- 8,14 ----
  #-----------------------------------------------------------------------
  # $Log$
+ # Revision 1.11  2003/03/23 23:19:39  rshortt
+ # When selected these objects now use skin properties as well.
+ #
  # Revision 1.10  2003/03/09 21:37:06  rshortt
  # Improved drawing.  draw() should now be called instead of _draw(). draw()
***************
*** 149,161 ****
          self.zir  = ZIndexRenderer.get_singleton()
  
!         self.label      = None
!         self.icon       = None
!         self.bg_surface = None
!         self.bg_image   = None
!         self.parent     = None
!         self.children   = []
!         self.enabled    = 1
!         self.selected   = 0
!         self.visible    = 1
  
          self.left     = left
--- 152,165 ----
          self.zir  = ZIndexRenderer.get_singleton()
  
!         self.label          = None
!         self.selected_label = None
!         self.icon           = None
!         self.bg_surface     = None
!         self.bg_image       = None
!         self.parent         = None
!         self.children       = []
!         self.enabled        = 1
!         self.selected       = 0
!         self.visible        = 1
  
          self.left     = left

Index: ListBox.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/gui/ListBox.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** ListBox.py  9 Mar 2003 21:37:06 -0000       1.5
--- ListBox.py  23 Mar 2003 23:19:39 -0000      1.6
***************
*** 10,13 ****
--- 10,16 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.6  2003/03/23 23:19:39  rshortt
+ # When selected these objects now use skin properties as well.
+ #
  # Revision 1.5  2003/03/09 21:37:06  rshortt
  # Improved drawing.  draw() should now be called instead of _draw(). draw()
***************
*** 124,153 ****
          # transparencies working correctly.
          if not self.bg_color:
!             self.bg_color = Color(self.osd.default_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:
!             self.fg_color = Color(self.osd.default_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:
!             self.selected_bg_color = Color((0,255,0,128))
!             # 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:
!             self.fg_color = Color(self.osd.default_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)
  
  
--- 127,156 ----
          # transparencies working correctly.
          if not self.bg_color:
!             # self.bg_color = Color(self.osd.default_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:
!             # self.fg_color = Color(self.osd.default_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:
!             # self.selected_bg_color = Color((0,255,0,128))
!             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:
!             # self.fg_color = Color(self.osd.default_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)
  
  
***************
*** 165,170 ****
          self.h_margin                 = 2
          self.v_margin                 = 2
          self.x_scroll_interval        = 25
!         self.y_scroll_interval        = 25
          if not self.items: self.items = []
  
--- 168,174 ----
          self.h_margin                 = 2
          self.v_margin                 = 2
+         self.items_height             = 25
          self.x_scroll_interval        = 25
!         self.y_scroll_interval        = self.items_height
          if not self.items: self.items = []
  
***************
*** 243,247 ****
                  value = text
  
!             item = ListItem(text, value, self.width, None, 
                              self.bg_color, self.fg_color, 
                              self.selected_bg_color, self.selected_fg_color)
--- 247,251 ----
                  value = text
  
!             item = ListItem(text, value, self.width, self.items_height, 
                              self.bg_color, self.fg_color, 
                              self.selected_bg_color, self.selected_fg_color)
***************
*** 319,323 ****
      def destroy(self):
          for item in self.items:
-             print 'LB.destroy: destroying %s' % item
              item.destroy()
              item = None
--- 323,326 ----

Index: ListItem.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/gui/ListItem.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** ListItem.py 9 Mar 2003 21:37:06 -0000       1.3
--- ListItem.py 23 Mar 2003 23:19:39 -0000      1.4
***************
*** 10,13 ****
--- 10,16 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.4  2003/03/23 23:19:39  rshortt
+ # When selected these objects now use skin properties as well.
+ #
  # Revision 1.3  2003/03/09 21:37:06  rshortt
  # Improved drawing.  draw() should now be called instead of _draw(). draw()
***************
*** 61,66 ****
  class ListItem(GUIObject):
      """
-     left      x coordinate. Integer
-     top       y coordinate. Integer
      width     Integer
      height    Integer
--- 64,67 ----
***************
*** 74,112 ****
  
      
!     def __init__(self, text=" ", value=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.value          = value
!         self.h_margin       = 20
!         self.v_margin       = 2
          self.border         = border
          self.bd_color       = bd_color
          self.bd_width       = bd_width
!         self.width          = width
!         self.height         = height
!         self.left           = None
!         self.top            = None
!         self.bg_color       = bg_color
!         self.fg_color       = fg_color
!         self.label          = None
!         self.selected_label = None
          self.selected_fg_color = selected_fg_color
          self.selected_bg_color = selected_bg_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)
- 
          # No border by default.
          # if not self.bd_color: self.bd_color = Color(self.osd.default_fg_color) 
--- 75,135 ----
  
      
!     def __init__(self, text=" ", value=None, 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.text           = text
          self.value          = value
! 
          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.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, None, None, width, height, 
+                            self.bg_color, self.fg_color)
+ 
+ 
+         self.h_margin       = 20
+         self.v_margin       = 2
+ 
          # XXX: Place a call to the skin object here then set the defaults
          #      acodringly. self.skin is set in the superclass.
  
          # No border by default.
          # if not self.bd_color: self.bd_color = Color(self.osd.default_fg_color) 
***************
*** 115,120 ****
          #                                            self.bd_color, self.bd_width)
  
-         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 type(text) is StringType:
--- 138,141 ----
***************
*** 125,128 ****
--- 146,170 ----
              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(self.label,
+                           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)
+ 
+ 
  
      def _draw(self, surface=None):
***************
*** 159,163 ****
          # else:  self.label.draw(surface)
  
!         self.label.draw(surface)
  
          if self.border: self.border.draw(surface)
--- 201,208 ----
          # else:  self.label.draw(surface)
  
!         if self.selected:
!             self.selected_label.draw(surface)
!         else:
!             self.label.draw(surface)
  
          if self.border: self.border.draw(surface)
***************
*** 179,197 ****
              self.label = Label(text)
              self.label.set_parent(self)
-             # self.add_child(self.label)
-             # 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_h_align(Align.LEFT)
          else:
              self.label.set_text(text)
  
          self.label.set_v_align(Align.MIDDLE)
          self.label.set_h_align(Align.LEFT)
  
  
--- 224,248 ----
              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)
  
  
***************
*** 203,207 ****
  
  
!     def set_font(self, file, size):
          """
          Set the font.
--- 254,258 ----
  
  
!     def set_font(self, label, file, size, color):
          """
          Set the font.
***************
*** 209,216 ****
          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
  
  
--- 260,264 ----
          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