Update of /cvsroot/freevo/freevo/skins/dischi1
In directory sc8-pr-cvs1:/tmp/cvs-serv15267

Modified Files:
        xml_skin.py 
Log Message:
make it possible to define image filenames extra

Index: xml_skin.py
===================================================================
RCS file: /cvsroot/freevo/freevo/skins/dischi1/xml_skin.py,v
retrieving revision 1.32
retrieving revision 1.33
diff -C2 -d -r1.32 -r1.33
*** xml_skin.py 27 Mar 2003 20:10:08 -0000      1.32
--- xml_skin.py 30 Mar 2003 16:15:30 -0000      1.33
***************
*** 10,13 ****
--- 10,16 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.33  2003/03/30 16:15:30  dischi
+ # make it possible to define image filenames extra
+ #
  # Revision 1.32  2003/03/27 20:10:08  dischi
  # fix missing font definition (default must be defined)
***************
*** 275,279 ****
          self.image = attr_str(node, "image", self.image)
  
!     def prepaire(self, search_dirs):
          if self.image:
              self.image = search_file(self.image, search_dirs)
--- 278,282 ----
          self.image = attr_str(node, "image", self.image)
  
!     def prepaire(self, search_dirs, image_names):
          if self.image:
              self.image = search_file(self.image, search_dirs)
***************
*** 293,299 ****
                  self.items[item.label] = item                
  
!     def prepare(self, search_dirs):
          for i in self.items:
!             self.items[i].prepaire(search_dirs)
      
  # ======================================================================
--- 296,302 ----
                  self.items[item.label] = item                
  
!     def prepare(self, search_dirs, image_names):
          for i in self.items:
!             self.items[i].prepaire(search_dirs, image_names)
      
  # ======================================================================
***************
*** 317,320 ****
--- 320,324 ----
      'valign'   : ('str',  0),
      'filename' : ('str', 0),
+     'image'    : ('str', 0),
      'name'     : ('font',  0),
      'visible'  : ('visible', 0)
***************
*** 500,507 ****
                  self.content.parse(subnode, scale, current_dir)
  
!     def prepare(self, font, color, search_dirs):
          self.content.prepare(font, color)
          for b in self.background:
!             b.prepare(color, search_dirs)
              
      def __cmp__(self, other):
--- 504,511 ----
                  self.content.parse(subnode, scale, current_dir)
  
!     def prepare(self, font, color, search_dirs, image_names):
          self.content.prepare(font, color)
          for b in self.background:
!             b.prepare(color, search_dirs, image_names)
              
      def __cmp__(self, other):
***************
*** 573,585 ****
      """
      def __init__(self):
!         XML_data.__init__(self, ('x', 'y', 'width', 'height', 'filename', 'label'))
  
!     def prepare(self, color, search_dirs):
          """
          try to guess the image localtion
          """
          if self.filename:
              self.filename = search_file(self.filename, search_dirs)
!     
  
  
--- 577,596 ----
      """
      def __init__(self):
!         XML_data.__init__(self, ('x', 'y', 'width', 'height', 'image', 'filename', 
'label'))
  
!     def prepare(self, color, search_dirs, image_names):
          """
          try to guess the image localtion
          """
+         if self.image:
+             try:
+                 self.filename = image_names[self.image]
+             except KeyError:
+                 print 'can\'t find image definition %s' % self.image
+                 pass
+ 
          if self.filename:
              self.filename = search_file(self.filename, search_dirs)
! 
  
  
***************
*** 592,596 ****
                                   'bgcolor', 'size', 'radius' ))
  
!     def prepare(self, color, search_dirs=None):
          if color.has_key(self.color):
              self.color = color[seld.color]
--- 603,607 ----
                                   'bgcolor', 'size', 'radius' ))
  
!     def prepare(self, color, search_dirs=None, image_names=None):
          if color.has_key(self.color):
              self.color = color[seld.color]
***************
*** 616,620 ****
                  self.shadow.parse(subnode, scale, current_dir)
  
!     def prepare(self, color, search_dirs=None):
          if color.has_key(self.color):
              self.color = color[self.color]
--- 627,631 ----
                  self.shadow.parse(subnode, scale, current_dir)
  
!     def prepare(self, color, search_dirs=None, image_names=None):
          if color.has_key(self.color):
              self.color = color[self.color]
***************
*** 689,692 ****
--- 700,704 ----
          self._font = {}
          self._color = {}
+         self._images = {}
          self._menuset = {}
          self._menu = {}
***************
*** 748,752 ****
                      self._color[label] = value
                          
! 
              if node.name == u'iconset':
                  self.icon_dir = attr_str(node, 'dir', self.icon_dir)
--- 760,769 ----
                      self._color[label] = value
                          
!             if node.name == u'image':
!                 label = attr_str(node, 'label', '')
!                 if label:
!                     value = attr_col(node, 'filename', '')
!                     self._images[label] = value
!                         
              if node.name == u'iconset':
                  self.icon_dir = attr_str(node, 'dir', self.icon_dir)
***************
*** 805,808 ****
--- 822,826 ----
                              self._font = {}
                              self._color = {}
+                             self._images = {}
                              self._menuset = {}
                              self._menu = {}
***************
*** 831,835 ****
                  
              for l in layout:
!                 layout[l].prepare(font, self._color, search_dirs)
              for menu in self.menu:
                  self.menu[menu].prepare(self._menuset, layout)
--- 849,853 ----
                  
              for l in layout:
!                 layout[l].prepare(font, self._color, search_dirs, self._images)
              for menu in self.menu:
                  self.menu[menu].prepare(self._menuset, layout)
***************
*** 840,844 ****
                          if s[i] and hasattr(s[i], 'listing'):
                              for image in s[i].listing.images:
!                                 s[i].listing.images[image].prepare(None, search_dirs)
                          
                  
--- 858,863 ----
                          if s[i] and hasattr(s[i], 'listing'):
                              for image in s[i].listing.images:
!                                 s[i].listing.images[image].prepare(None, search_dirs,
!                                                                    self._images)
                          
                  
***************
*** 847,856 ****
              # prepare listing area images
              for image in self.tv.listing.images:
!                 self.tv.listing.images[image].prepare(None, search_dirs)
  
              self.popup = layout[self._popup]
  
              self.mainmenu = copy.deepcopy(self._mainmenu)
!             self.mainmenu.prepare(search_dirs)
              return 1
  
--- 866,875 ----
              # prepare listing area images
              for image in self.tv.listing.images:
!                 self.tv.listing.images[image].prepare(None, search_dirs, 
self._images)
  
              self.popup = layout[self._popup]
  
              self.mainmenu = copy.deepcopy(self._mainmenu)
!             self.mainmenu.prepare(search_dirs, self._images)
              return 1
  




-------------------------------------------------------
This SF.net email is sponsored by:
The Definitive IT and Networking Event. Be There!
NetWorld+Interop Las Vegas 2003 -- Register today!
http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to