root/trunk/RBSkinning/RBSkinning/wxPythonSkin/list.py

Revision 614, 2.2 kB (checked in by sholloway, 5 years ago)

Fixes for xml CDATA optizations in python 2.3
New color string interpretation inspired by SVG

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 wxSkinLayoutObject import wx, wxSkinLayoutObject
27
28 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29 #~ Class
30 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31
32 class list(wxSkinLayoutObject):
33     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
34     #~ Constants / Variables / Etc.
35     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36
37     default_settings = wxSkinLayoutObject.default_settings.copy()
38     default_settings.update({
39         'name':     __name__,
40         'wxid':       'wx.wxNewId()',
41         'choices':  '[]',
42         'selection':'-1',
43         })
44
45     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
46     #~ Public
47     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48
49     def SkinInitialize(self):
50         winParent = self.wxGetParentObject(wx.wxWindowPtr)
51         kwSettings = self.wxSettingDict(['wxid', 'style', 'pos', 'size', 'choices'], ['name'])
52         self.object = wx.wxListBox(winParent, **kwSettings)
53         self.wxInitialStandardOptions()
54
55     def SkinFinalize(self):
56         content = filter(None, map(str.strip, ''.join(self.Content()).split('\n')))
57         for each in content: self.object.Append(each)
58
59         if self.object.GetCount() > 0:
60             selection = self.wxEval('selection')
61             if selection >= 0:
62                 self.object.SetSelection(selection)
63
64         self.wxFinalStandardOptions()
65
Note: See TracBrowser for help on using the browser.