chiark / gitweb /
Merge branch 'master' of github.com:daid/Cura
[cura.git] / Cura / gui / printWindow.py
1 from __future__ import absolute_import\r
2 import __init__\r
3 \r
4 import wx\r
5 \r
6 printWindowHandle = None\r
7 \r
8 def printFile(filename):\r
9         global printWindowHandle\r
10         print "Want to print: " + filename\r
11         if printWindowHandle == None:\r
12                 printWindowHandle = printWindow()\r
13         printWindowHandle.Show(True)\r
14         printWindowHandle.Raise()\r
15 \r
16 class printWindow(wx.Frame):\r
17         "Main user interface window"\r
18         def __init__(self):\r
19                 super(printWindow, self).__init__(None, -1, title='Printing')\r
20                 self.SetSizer(wx.BoxSizer())\r
21                 self.panel = wx.Panel(self)\r
22                 self.GetSizer().Add(self.panel, 1, flag=wx.EXPAND)\r
23                 self.sizer = wx.GridBagSizer(2, 2)\r
24                 self.panel.SetSizer(self.sizer)\r
25                 \r
26                 sb = wx.StaticBox(self.panel, label="Statistics")\r
27                 boxsizer = wx.StaticBoxSizer(sb, wx.VERTICAL)\r
28                 boxsizer.Add(wx.StaticText(self.panel, -1, "Filament: #.##m #.##g"), flag=wx.LEFT, border=5)\r
29                 boxsizer.Add(wx.StaticText(self.panel, -1, "Print time: ##:##"), flag=wx.LEFT, border=5)\r
30                 \r
31                 self.sizer.Add(boxsizer, pos=(0,0), span=(4,1), flag=wx.EXPAND)\r
32                 \r
33                 self.sizer.Add(wx.Button(self.panel, -1, 'Connect'), pos=(0,1))\r
34                 self.sizer.Add(wx.Button(self.panel, -1, 'Load GCode'), pos=(1,1))\r
35                 self.sizer.Add(wx.Button(self.panel, -1, 'Print GCode'), pos=(2,1))\r
36                 self.sizer.Add(wx.Button(self.panel, -1, 'Cancel print'), pos=(3,1))\r
37                 self.sizer.Add(wx.Gauge(self.panel, -1), pos=(4,0), span=(1,2), flag=wx.EXPAND)\r
38                 self.sizer.AddGrowableRow(3)\r
39                 self.sizer.AddGrowableCol(0)\r
40                 \r
41                 self.Bind(wx.EVT_CLOSE, self.OnClose)\r
42                 \r
43                 self.Layout()\r
44                 self.Fit()\r
45                 self.Centre()\r
46         \r
47         def OnClose(self, e):\r
48                 global printWindowHandle\r
49                 printWindowHandle = None\r
50                 self.Destroy()\r