chiark / gitweb /
d065faf5db32d67898e11bc7a3e3dba65a070a14
[cura.git] / Cura / gui / aboutWindow.py
1 from __future__ import absolute_import
2 __copyright__ = "Copyright (C) 2013 David Braam - Released under terms of the AGPLv3 License"
3
4 import wx
5 import platform
6
7 class aboutWindow(wx.Dialog):
8         def __init__(self):
9                 super(aboutWindow, self).__init__(None, title="About")
10
11                 wx.EVT_CLOSE(self, self.OnClose)
12
13                 p = wx.Panel(self)
14                 self.panel = p
15                 s = wx.BoxSizer()
16                 self.SetSizer(s)
17                 s.Add(p, flag=wx.ALL, border=15)
18                 s = wx.BoxSizer(wx.VERTICAL)
19                 p.SetSizer(s)
20
21                 title = wx.StaticText(p, -1, 'Cura')
22                 title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
23                 s.Add(title, flag=wx.ALIGN_CENTRE|wx.EXPAND|wx.BOTTOM, border=5)
24
25                 s.Add(wx.StaticText(p, -1, 'End solution for Open Source Fused Filament Fabrication 3D printing.'))
26                 s.Add(wx.StaticText(p, -1, 'Cura is currently developed and maintained by Ultimaker.'))
27
28                 s.Add(wx.StaticText(p, -1, 'Cura is build with the following components:'), flag=wx.TOP, border=10)
29                 self.addComponent('Cura', 'Graphical user interface', 'AGPLv3', 'https://github.com/daid/Cura')
30                 self.addComponent('CuraEngine', 'GCode Generator', 'AGPLv3', 'https://github.com/Ultimaker/CuraEngine')
31
32                 self.addComponent('Python 2.7', 'Framework', 'Python', 'http://python.org/')
33                 self.addComponent('wxPython', 'GUI Framework', 'wxWindows', 'http://www.wxpython.org/')
34                 self.addComponent('PyOpenGL', '3D Rendering Framework', 'BSD', 'http://pyopengl.sourceforge.net/')
35                 self.addComponent('PySerial', 'Serial communication library', 'Python license', 'http://pyserial.sourceforge.net/')
36                 self.addComponent('NumPy', 'Support library for faster math', 'BSD', 'http://www.numpy.org/')
37                 if platform.system() == "Windows":
38                         self.addComponent('VideoCapture', 'Library for WebCam capture on windows', 'LGPLv2.1', 'http://videocapture.sourceforge.net/')
39                         self.addComponent('ffmpeg', 'Support for making timelaps video files', 'GPL', 'http://www.ffmpeg.org/')
40                         self.addComponent('comtypes', 'Library to help with windows taskbar features on Windows 7', 'MIT', 'http://starship.python.net/crew/theller/comtypes/')
41                         self.addComponent('EjectMedia', 'Utility to safe-remove SD cards', 'Freeware', 'http://www.uwe-sieber.de/english.html')
42                 self.addComponent('Pymclevel', 'Python library for reading Minecraft levels.', 'ISC', 'https://github.com/mcedit/pymclevel')
43
44                 self.Fit()
45
46         def addComponent(self, name, description, license, url):
47                 p = self.panel
48                 s = p.GetSizer()
49                 s.Add(wx.StaticText(p, -1, '* %s - %s' % (name, description)), flag=wx.TOP, border=5)
50                 s.Add(wx.StaticText(p, -1, '   License: %s - Website: %s' % (license, url)))
51
52         def OnClose(self, e):
53                 self.Destroy()
54
55 #               info = wx.AboutDialogInfo()
56 #               info.SetName("Cura")
57 #               info.SetDescription("""
58 # End solution for Open Source Fused Filament Fabrication 3D printing.
59 # * Cura is the graphical User Interface.
60 # * CuraEngine is the slicer/gcode generator.
61 # Cura and the CuraEngine are licensed AGPLv3.
62 #               """)
63 #               info.SetWebSite('http://software.ultimaker.com/')
64 #               info.SetCopyright(_("Copyright (C) David Braam"))
65 #               info.SetLicence("""
66 #     This program is free software: you can redistribute it and/or modify
67 #     it under the terms of the GNU Affero General Public License as published by
68 #     the Free Software Foundation, either version 3 of the License, or
69 #     (at your option) any later version.
70 #
71 #     This program is distributed in the hope that it will be useful,
72 #     but WITHOUT ANY WARRANTY; without even the implied warranty of
73 #     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
74 #     GNU Affero General Public License for more details.
75 #
76 #     You should have received a copy of the GNU Affero General Public License
77 #     along with this program.  If not, see <http://www.gnu.org/licenses/>.
78 # """)
79 #               wx.AboutBox(info)