root/trunk/RBSkinning/RBSkinning/skin/reference.py

Revision 395, 2.2 kB (checked in by sholloway, 6 years ago)

Moved all references from Foundation to RBFoundation

Line 
1 #!/usr/bin/env python
2 ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 ##~ License
4 ##~
5 ##- The RuneBlade Foundation library is intended to ease some
6 ##- aspects of writing intricate Jabber, XML, and User Interface (wxPython, etc.)
7 ##- applications, while providing the flexibility to modularly change the
8 ##- architecture. Enjoy.
9 ##~
10 ##~ Copyright (C) 2002  TechGame Networks, LLC.
11 ##~
12 ##~ This library is free software; you can redistribute it and/or
13 ##~ modify it under the terms of the BSD style License as found in the
14 ##~ LICENSE file included with this distribution.
15 ##~
16 ##~ TechGame Networks, LLC can be reached at:
17 ##~ 3578 E. Hartsel Drive #211
18 ##~ Colorado Springs, Colorado, USA, 80920
19 ##~
20 ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21
22 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23 #~ Imports
24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25
26 from RBSkinning.SkinObject import SkinObject
27 import os
28
29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30 #~ Class
31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32
33 class reference(SkinObject):
34     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35     #~ Public Methods
36     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37
38     def SkinInitialize(self):
39         self.object = []
40
41     def SkinFinalize(self):
42         Children = self.Elements('*')
43         if not Children:
44             referencefile = self.settings['href'] or self.settings['file']
45             self.ReferenceSkin(referencefile)
46         else:
47             for child in Children:
48                 if isinstance(child, (str, unicode)):
49                     self.ReferenceSkin(child.strip())
50                 elif isinstance(child.object, (str, unicode)):
51                     self.ReferenceSkin(child.object)
52                 elif isinstance(child.object, (list, tuple)):
53                     self.ReferenceSkin(*child.object)
54
55     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56
57     def ReferenceSkin(self, file, kwAddedContext={}):
58         if file:
59             skinfile = os.path.join(self.context.__root__, file)
60             self.object.append(self.context.__skinner__()._SkinFileFromTopElement(skinfile, kwAddedContext))
61        
Note: See TracBrowser for help on using the browser.