/[thuban]/branches/WIP-pyshapelib-bramz/Thuban/UI/about.py
ViewVC logotype

Contents of /branches/WIP-pyshapelib-bramz/Thuban/UI/about.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2734 - (show annotations)
Thu Mar 1 12:42:59 2007 UTC (18 years ago) by bramz
File MIME type: text/x-python
File size: 6383 byte(s)
made a copy
1 # Copyright (c) 2001-2007 by Intevation GmbH
2 # Authors:
3 # Jonathan Coles <[email protected]>
4 # Bernhard Reiter <[email protected]>
5 # Silke Reimer <[email protected]>
6 #
7 # This program is free software under the GPL (>=v2)
8 # Read the file COPYING coming with Thuban for details.
9
10 """The About Box"""
11
12 __version__ = "$Revision$"
13 # $Source$
14 # $Id$
15
16 import wx
17
18 from Thuban import _, internal_from_unicode, get_internal_encoding
19 from Thuban.version import versions
20 from Thuban.Model.resource import gdal_support_status
21
22 from Thuban.UI.extensionregistry import ext_registry
23
24 class About(wx.Dialog):
25
26 def __init__(self, parent):
27 wx.Dialog.__init__(self, parent, -1, _("About Thuban"),
28 style = wx.DEFAULT_DIALOG_STYLE
29 | wx.SYSTEM_MENU
30 | wx.MINIMIZE_BOX
31 | wx.MAXIMIZE_BOX
32 | wx.RESIZE_BORDER,
33 size = (400, 250))
34
35 # Note: The source code is in ASCII, so we escape some
36 # characters to get byte strings in latin1.
37 maintainers = [ 'Bernhard Reiter (2006 - current)',
38 'Bernhard Herzog (2001 - 2005)' ]
39 lead_developer = 'Bernhard Herzog (2001 - 2005)'
40 developers = [ 'Jonathan Coles (2003, 2005)',
41 'Frank Koormann (2002 - )',
42 internal_from_unicode(u'Martin M\xfcller (2003)'),
43 'Didrik Pinte (2006 - )',
44 'Bernhard Reiter (2004 - )',
45 'Jan-Oliver Wagner (2002 - 2005)' ]
46 translators = [ ( _('French'), 'Daniel Calvelo Aros' ),
47 ( _('German'),
48 internal_from_unicode(u'Bj\xf6rn Broscheit')),
49 ( _('Hungarian'), 'Norbert Solymosi'),
50 ( _('Italian'), 'Maurizio Napolitano'),
51 ( _('Portuguese (Brazilian)'), 'Eduardo Patto Kanegae'),
52 ( _('Russian'), 'Alex Shevlakov'),
53 ( _('Spanish'), 'Daniel Calvelo Aros') ]
54 other_contributors = [ 'Jonathan Byron (2004)',
55 'Ole Rahn (2004)',
56 'Silke Reimer (2003, 2004)',
57 'Martin "Joey" Schulze (2004, 2005)' ]
58 dyn_modules = [ ('wxPython', versions['wxPython']),
59 ('Python', versions['python']),
60 ('PySQLite', versions['pysqlite']),
61 ('SQLite', versions['sqlite']),
62 ('GDAL', versions.get('gdal', _('- not available'))),
63 ('psycopg', versions.get('psycopg',
64 _('- not available')))]
65 direct_modules = [ \
66 ('GTK', versions.get('gtk', _('- not available'))),
67 ('proj', versions['proj']) ]
68
69 text = 'Thuban %s\n\n' % versions['thuban-long']
70
71 text += _('Currently using:\n')
72
73 for name, version in dyn_modules:
74 text+= '\t%s %s\n' % (name, version)
75 text += '\n'
76
77 text += _('\tInternal encoding: %s\n') % get_internal_encoding()
78 text += '\n'
79
80 if gdal_support_status:
81 text += gdal_support_status + "\n\n"
82
83 text += _('Compiled for:\n')
84
85 for name, version in direct_modules:
86 text+= '\t%s %s\n' % (name, version)
87 text += '\n'
88
89 text += _('Extensions:\n')
90 if ext_registry:
91 for ext in ext_registry:
92 text += '\t%s %s\n' % (ext.name, ext.version)
93 else:
94 text += _('\tNone registered.\n')
95 text += '\n'
96
97 text += _('Maintainers:\n')
98 for name in maintainers:
99 text += '\t%s\n' % name
100 text += '\n'
101
102 text += _('Lead Developer:\n')
103 text += '\t%s\n\n' % lead_developer
104
105 text += _('Developers:\n')
106 for name in developers:
107 text += '\t%s\n' % name
108 text += '\n'
109
110 text += _('Translators:\n')
111 for lang, name in translators:
112 text += '\t%s: %s\n' % (lang, name)
113 text += '\n'
114
115 text += _('Other Contributors:\n')
116 for name in other_contributors:
117 text += '\t%s\n' % name
118 text += '\n'
119
120 text += \
121 _("Questions and comments can be sent to the following addresses:\n"
122 "\tGeneral list (public):\n\t\t<[email protected]>\n"
123 "\tDevelopers list (public):\n\t\t<[email protected]>\n"
124 "\tThuban team at Intevation:\n\t\t<[email protected]>\n"
125 )
126
127 text += '\n\n'
128
129 text += _("Details on the registered extensions:\n\n")
130
131 if ext_registry:
132 for ext in ext_registry:
133 text += '%s %s:\n' % (ext.name, ext.version)
134 text += _('Copyright %s\n') % ext.copyright
135 text += _('Authors:\n')
136 for author in ext.authors:
137 text+= '\t%s\n' % author
138 text += ext.desc
139 text += '\n'
140 text += 'Status: %s' % ext.status
141 text += '\n\n'
142 else:
143 text += _('\tNone registered.\n')
144
145 self.text = text
146
147 text_title = wx.StaticText(self, -1,
148 _("Thuban is a program for exploring geographic data.\n\n") +
149 "Copyright 2001-2007 Intevation GmbH.\n" +
150 _("Thuban is licensed under the GNU GPL"),
151 style=wx.ST_NO_AUTORESIZE|wx.ALIGN_CENTRE)
152
153 textBox = wx.TextCtrl(self, -1, text,
154 style=wx.TE_READONLY|wx.TE_MULTILINE|wx.TE_LINEWRAP)
155 w, h = (300, 150)
156 textBox.SetSizeHints(w, h)
157 textBox.SetSize((w, h))
158
159 button_close = wx.Button(self, wx.ID_CANCEL, _("Close"))
160 button_close.SetDefault()
161
162 sizer = wx.BoxSizer(wx.VERTICAL)
163 sizer.Add(text_title, 0, wx.ALL|wx.EXPAND|wx.ADJUST_MINSIZE, 10)
164 sizer.Add(textBox, 1, wx.ALL|wx.EXPAND, 10)
165 sizer.Add(button_close, 0, wx.ALL|wx.ALIGN_RIGHT, 10)
166
167 self.SetAutoLayout(True)
168 self.SetSizer(sizer)
169 sizer.Fit(self)
170 sizer.SetSizeHints(self)
171 self.Layout()
172
173 self.Bind(wx.EVT_BUTTON, self.OnCancel, id=wx.ID_CANCEL)
174
175 def OnCancel(self, event):
176 self.EndModal(wx.ID_CANCEL)

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26