root/trunk/RBSkinning/RBSkinning/skin/section.py

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

Replaced event_handlers with a more pervalient and see-through scheme in wxSubObsEvtHandler
Added widgets demo area
Added RBSkinning/wxHTML collaboration code
Added todos text file

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 weakref
27 from RBSkinning.SkinObject import SkinObject
28 from RBSkinning.UtilitySkinElements import StoreXML, RestoreStoredXMLMixin
29 from RBFoundation.XMLClassBuilder import ElementFactory, ElementFactorySet
30 from template import TemplateElementFactorySet
31
32 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33 #~ Definitions
34 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35
36 class section(SkinObject, RestoreStoredXMLMixin):
37     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38     #~ Constants / Variables / Etc.
39     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40
41     default_settings = SkinObject.default_settings.copy()
42     #default_settings['name'] = ''
43
44     ElementFactories = TemplateElementFactorySet
45
46     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47     #~ Public Methods
48     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49
50     def __init__(self, owner, parent, node, attributes, namespacemap):
51         SkinObject.__init__(self, owner, parent, node, attributes, namespacemap)
52         self.owner = owner
53
54     def SkinInitialize(self):
55         self.owner.PushElementFactorySet(self.ElementFactories)
56
57     def SkinFinalize(self):
58         self.owner.PopElementFactorySet()
59         self.object = self.settings['name']
60         obj, (setname,) = self.context.getnamedvar(self.object, -1)
61         setattr(obj, setname, weakref.proxy(self))
62         del self.owner
63
Note: See TracBrowser for help on using the browser.