root/trunk/RBSkinning/RBSkinning/xmlPython/module.py

Revision 472, 1.9 kB (checked in by sholloway, 6 years ago)

Removed "parentvar" and "parentnode" attributes from SkinObject?
Changed "contextvar" and "contextnode" to "ctxvar" and "ctxnode"
Depreciated "contextvar" and "contextnode"
Added "dotted name access" to "ctxvar" and "ctxnode"
Changed the way LayoutObject? and Sizers work
Added "spacer" element as an alais to "layout_spacer"

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 import inline
27 import types
28
29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30 #~ Class
31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32
33 class module(inline.inline):
34     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35     #~ Constants / Variables / Etc.
36     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37
38     default_settings = inline.inline.default_settings.copy()
39     #default_settings['name'] = ''
40
41     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42     #~ Public Methods
43     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
44
45     def ExecuteXML(self, **Variables):
46         name = self.settings['name']
47         self.settings['ctxvar'] = name
48
49         # Create the module
50         module = types.ModuleType(name)
51         module.__name__ = name
52         module.__doc__ = """Module generated by xmlPython.module"""
53         module.__dict__.update(self._GetEvalLocals(**Variables))
54
55         # Run the code
56         code = compile(self.GetCode(), name, 'exec')
57         exec code in module.__dict__
58
59         return module
Note: See TracBrowser for help on using the browser.