chiark / gitweb /
Revision 1.16
[cura.git] / Cura / gui / aboutWindow.py
1 __copyright__ = "Copyright (C) 2013 David Braam - Released under terms of the AGPLv3 License"
2
3 import wx
4 import platform
5
6 class aboutWindow(wx.Frame):
7         def __init__(self):
8                 super(aboutWindow, self).__init__(None, title="About", style = wx.DEFAULT_DIALOG_STYLE)
9
10                 wx.EVT_CLOSE(self, self.OnClose)
11
12                 p = wx.Panel(self)
13                 self.panel = p
14                 s = wx.BoxSizer()
15                 self.SetSizer(s)
16                 s.Add(p, flag=wx.ALL, border=15)
17                 s = wx.BoxSizer(wx.VERTICAL)
18                 p.SetSizer(s)
19
20                 title = wx.StaticText(p, -1, 'Cura LulzBot Edition')
21                 title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
22                 s.Add(title, flag=wx.ALIGN_CENTRE|wx.EXPAND|wx.BOTTOM, border=5)
23
24                 s.Add(wx.StaticText(p, -1, 'Version 14.09-1.16'))
25                 s.Add(wx.StaticText(p, -1, 'End solution for Open Source Fused Filament Fabrication 3D printing.'), flag=wx.TOP, border=5)
26                 s.Add(wx.StaticText(p, -1, 'Cura is currently developed and maintained by David Braam and Ultimaker.'), flag=wx.TOP, border=5)
27                 s.Add(wx.StaticText(p, -1, 'Cura LulzBot Edition has been modified and maintained by Aleph Objects, Inc.'))
28                 s.Add(wx.StaticText(p, -1, 'for use with LulzBot 3D printers.'))
29
30                 s.Add(wx.StaticText(p, -1, 'Cura is build with the following components:'), flag=wx.TOP, border=10)
31                 self.addComponent('Cura', 'Graphical user interface', 'AGPLv3', 'https://github.com/daid/Cura')
32                 self.addComponent('CuraEngine', 'GCode Generator', 'AGPLv3', 'https://github.com/Ultimaker/CuraEngine')
33                 self.addComponent('Clipper', 'Polygon clipping library', 'Boost', 'http://www.angusj.com/delphi/clipper.php')
34
35                 self.addComponent('Python 2.7', 'Framework', 'Python', 'http://python.org/')
36                 self.addComponent('wxPython', 'GUI Framework', 'wxWindows', 'http://www.wxpython.org/')
37                 self.addComponent('PyOpenGL', '3D Rendering Framework', 'BSD', 'http://pyopengl.sourceforge.net/')
38                 self.addComponent('PySerial', 'Serial communication library', 'Python license', 'http://pyserial.sourceforge.net/')
39                 self.addComponent('NumPy', 'Support library for faster math', 'BSD', 'http://www.numpy.org/')
40                 if platform.system() == "Windows":
41                         self.addComponent('VideoCapture', 'Library for WebCam capture on windows', 'LGPLv2.1', 'http://videocapture.sourceforge.net/')
42                         #self.addComponent('ffmpeg', 'Support for making timelaps video files', 'GPL', 'http://www.ffmpeg.org/')
43                         self.addComponent('comtypes', 'Library to help with windows taskbar features on Windows 7', 'MIT', 'http://starship.python.net/crew/theller/comtypes/')
44                         self.addComponent('EjectMedia', 'Utility to safe-remove SD cards', 'Freeware', 'http://www.uwe-sieber.de/english.html')
45                 self.addComponent('Pymclevel', 'Python library for reading Minecraft levels.', 'ISC', 'https://github.com/mcedit/pymclevel')
46                 s.Add(wx.StaticText(p, -1, "Copyright (C) 2014 Aleph Objects, Inc. - Release under terms of the AGPLv3 License"), flag=wx.TOP, border=10)
47                 s.Add(wx.StaticText(p, -1, "Copyright (C) 2013 David Braam - Released under terms of the AGPLv3 License"))
48                 #Translations done by:
49                 #Dutch: Charlotte Jansen
50                 #German: Gregor Luetolf, Lars Potter
51                 #Polish: Piotr Paczynski
52                 #French: Jeremie Francois
53                 #Spanish: Jose Gemez
54                 self.Fit()
55
56         def addComponent(self, name, description, license, url):
57                 p = self.panel
58                 s = p.GetSizer()
59                 s.Add(wx.StaticText(p, -1, '* %s - %s' % (name, description)), flag=wx.TOP, border=5)
60                 s.Add(wx.StaticText(p, -1, '   License: %s - Website: %s' % (license, url)))
61
62         def OnClose(self, e):
63                 self.Destroy()